阅读量:3
Hadoop集群在Ubuntu上的搭建步骤
1. 环境准备
- 硬件要求:每台节点需满足双核CPU、8GB以上内存、100GB以上硬盘空间(可根据数据量调整);
- 网络配置:所有节点需在同一局域网内,能通过主机名或IP互相通信(建议关闭防火墙或开放必要端口,如9000、50070、8088等);
- 节点规划:至少1台Master节点(运行NameNode、ResourceManager),1台及以上Slave节点(运行DataNode、NodeManager)。
2. 安装Java环境
Hadoop依赖Java运行环境,推荐使用OpenJDK 8或11(兼容性更好):
# 更新软件包索引
sudo apt update
# 安装OpenJDK 11(Ubuntu 22.04+默认仓库版本)
sudo apt install -y openjdk-11-jdk
# 验证安装(需显示Java版本信息)
java -version
注意:若使用Hadoop 3.3.x及以上版本,建议选择OpenJDK 11以避免兼容性问题。
3. 配置SSH免密码登录
Hadoop集群节点间需通过SSH无密码通信,避免每次操作输入密码:
# 在Master节点上生成SSH密钥对(默认保存到~/.ssh/id_rsa)
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
# 将公钥复制到所有Slave节点(替换user为节点用户名,slave-ip为Slave节点IP)
ssh-copy-id user@slave-ip
# 测试免密登录(无需密码即可登录Slave节点)
ssh user@slave-ip
4. 下载并解压Hadoop
从Apache官网下载稳定版本的Hadoop(如3.3.6),解压到指定目录:
# 创建Hadoop安装目录
sudo mkdir -p /usr/local/hadoop
# 下载Hadoop(以3.3.6为例,可通过wget或浏览器下载)
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
# 解压到安装目录
sudo tar -zxvf hadoop-3.3.6.tar.gz -C /usr/local/hadoop
# 修改目录所有者(替换hadoop为当前用户)
sudo chown -R hadoop:hadoop /usr/local/hadoop
5. 配置Hadoop环境变量
编辑~/.bashrc文件,添加Hadoop和Java环境变量:
# 打开.bashrc文件
nano ~/.bashrc
# 在文件末尾添加以下内容(替换路径为用户实际路径)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # Java安装路径
export HADOOP_HOME=/usr/local/hadoop # Hadoop安装路径
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin # 添加Hadoop命令到PATH
# 保存并退出(Ctrl+O→回车→Ctrl+X)
# 使环境变量生效
source ~/.bashrc
6. 配置Hadoop核心文件
进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下关键文件:
6.1 core-site.xml(HDFS核心配置)
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://master:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/usr/local/hadoop/tmpvalue>
property>
configuration>
6.2 hdfs-site.xml(HDFS存储配置)
<configuration>
<property>
<name>dfs.replicationname>
<value>2value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>/usr/local/hadoop/data/namenodevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>/usr/local/hadoop/data/datanodevalue>
property>
configuration>
6.3 mapred-site.xml(MapReduce配置)
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
configuration>
6.4 yarn-site.xml(YARN配置)
<configuration>
<property>
<name>yarn.resourcemanager.hostnamename>
<value>mastervalue>
property>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
<value>org.apache.hadoop.mapred.ShuffleHandlervalue>
property>
configuration>
7. 格式化HDFS
首次启动Hadoop前,需格式化NameNode(会清除原有数据,仅第一次需要):
# 切换到Hadoop用户(替换hadoop为当前用户)
su - hadoop
# 格式化NameNode
hdfs namenode -format
8. 启动Hadoop集群
8.1 启动HDFS
# 在Master节点上启动HDFS服务
$HADOOP_HOME/sbin/start-dfs.sh
8.2 启动YARN
# 在Master节点上启动YARN服务
$HADOOP_HOME/sbin/start-yarn.sh
8.3 查看进程状态
# 在Master节点上查看Hadoop进程(需显示NameNode、DataNode、ResourceManager、NodeManager)
jps
9. 验证集群状态
9.1 访问Web界面
- HDFS NameNode:浏览器输入
http://master:9870(Hadoop 3.x版本端口为9870,2.x为50070); - YARN ResourceManager:浏览器输入
http://master:8088。
9.2 检查节点状态
# 查看HDFS节点列表
hdfs dfsadmin -report
# 查看YARN节点列表
yarn node -list
常见问题解决
- 权限问题:若启动时报权限错误,需确保Hadoop目录所有者为当前用户(
sudo chown -R hadoop:hadoop /usr/local/hadoop); - 端口冲突:若端口被占用,可修改
core-site.xml、yarn-site.xml中的端口(如9000改为9001); - SSH连接失败:检查
~/.ssh/authorized_keys文件权限(需设置为600),或重新生成密钥。
以上就是关于“Hadoop集群Ubuntu上如何搭建”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm