Ubuntu Hadoop集群搭建指南
导读:Ubuntu Hadoop 集群搭建指南 一 环境准备与规划 节点规划:至少准备1 个 Master 和 2 个 Worker(示例主机名:master、slave1、slave2),所有节点在同一局域网,能互相 ping 通。 软件版本...
Ubuntu Hadoop 集群搭建指南
一 环境准备与规划
- 节点规划:至少准备1 个 Master 和 2 个 Worker(示例主机名:master、slave1、slave2),所有节点在同一局域网,能互相 ping 通。
- 软件版本:Ubuntu 16.04+、Java OpenJDK 8、Hadoop 3.3.x(如 3.3.4)。
- 用户与权限:建议创建专用用户 hadoop 并加入 sudo 组,后续操作尽量使用该用户。
- 目录约定:Hadoop 安装至 /usr/local/hadoop,数据目录如 /opt/hadoop(可按磁盘规划调整)。
- 网络与主机名:配置 /etc/hosts 做主机名与内网 IP 映射,便于组件间通信。
二 基础环境配置
- 安装 Java
- 执行:
sudo apt update & & sudo apt install -y openjdk-8-jdk - 验证:
java -version应返回 1.8.x。
- 执行:
- 创建 Hadoop 用户与目录
- 执行:
sudo adduser hadoop,sudo usermod -aG sudo hadoop - 建议目录:
sudo mkdir -p /usr/local/hadoop /opt/hadoop & & sudo chown -R hadoop:hadoop /usr/local/hadoop /opt/hadoop
- 执行:
- 配置主机名与 hosts
- 编辑
/etc/hostname分别设为 master/slave1/slave2; - 编辑
/etc/hosts(示例):192.168.1.10 master 192.168.1.11 slave1 192.168.1.12 slave2
- 编辑
- 安装并启用 SSH
- 执行:
sudo apt install -y openssh-server - 验证:
ssh localhost可免密登录本机(用于后续分发公钥)。
- 执行:
三 SSH 免密登录
- 在 master 生成密钥:
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa - 将公钥分发到所有节点(含本机):
ssh-copy-id hadoop@master、ssh-copy-id hadoop@slave1、ssh-copy-id hadoop@slave2
- 验证:
ssh slave1、ssh slave2无需密码即可登录;如需 Worker 免密回连 Master,可在对应节点重复上述分发步骤。
四 Hadoop 安装与配置
- 安装 Hadoop(以 3.3.4 为例)
- 下载:
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz - 解压与授权:
sudo tar -xvf hadoop-3.3.4.tar.gz -C /usr/local sudo mv /usr/local/hadoop-3.3.4 /usr/local/hadoop sudo chown -R hadoop:hadoop /usr/local/hadoop
- 下载:
- 环境变量(所有节点)
- 在
~/.bashrc或/etc/profile.d/hadoop.sh添加:export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin - 使生效:
source ~/.bashrc
- 在
- 核心配置(路径均为 $HADOOP_HOME/etc/hadoop)
- core-site.xml
< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://master:9000< /value> < /property> < property> < name> hadoop.tmp.dir< /name> < value> /opt/hadoop/tmp< /value> < /property> < /configuration> - hdfs-site.xml
< configuration> < property> < name> dfs.replication< /name> < value> 2< /value> < /property> < property> < name> dfs.namenode.name.dir< /name> < value> /opt/hadoop/hdfs/namenode< /value> < /property> < property> < name> dfs.datanode.data.dir< /name> < value> /opt/hadoop/hdfs/datanode< /value> < /property> < /configuration> - mapred-site.xml
< configuration> < property> < name> mapreduce.framework.name< /name> < value> yarn< /value> < /property> < /configuration> - yarn-site.xml
< configuration> < property> < name> yarn.resourcemanager.hostname< /name> < value> master< /value> < /property> < property> < name> yarn.nodemanager.aux-services< /name> < value> mapreduce_shuffle< /value> < /property> < property> < name> yarn.nodemanager.resource.memory-mb< /name> < value> 4096< /value> < /property> < /configuration> - workers(或 slaves)
slave1 slave2
- core-site.xml
- 创建数据目录并授权
sudo mkdir -p /opt/hadoop/tmp /opt/hadoop/hdfs/{ namenode,datanode} sudo chown -R hadoop:hadoop /opt/hadoop
五 启动与验证
- 格式化 NameNode(仅 master 一次)
hdfs namenode -format
- 启动集群
start-dfs.shstart-yarn.sh
- 进程检查
- 在 master 执行
jps,应看到:NameNode、ResourceManager - 在 slave1/slave2 执行
jps,应看到:DataNode、NodeManager
- 在 master 执行
- Web 界面
- HDFS:http://master:9870(Hadoop 3.x 默认端口)
- YARN:http://master:8088
- 常见问题速查
- 无法访问 Web:检查防火墙/安全组放行 9870/8088,以及
workers是否配置正确; - DataNode 未启动:确认
dfs.datanode.data.dir目录存在且 hadoop 用户可写; - SSH 免密失败:确认
~/.ssh/authorized_keys权限为 600,.ssh为 700。
- 无法访问 Web:检查防火墙/安全组放行 9870/8088,以及
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Hadoop集群搭建指南
本文地址: https://pptw.com/jishu/764754.html
