█ Ubuntu全分布式Hadoop集群实战指南
█ 准备阶段要求
基础环境必须满足:
- 系统架构:3台以上Ubuntu 22.04 LTS节点(1主节点+2从节点)
- 硬件规格:单节点 ≥4核CPU / 8GB内存 / 50GB磁盘
- 网络配置:节点间MTU值统一,关闭防火墙或开放[9000, 9864-9871]端口范围
直达服务器选购网址:www.tsyvps.com
直达服务器选购网址:www.tsyvps.com
直达服务器选购网址:www.tsyvps.com
█ 核心部署流程
第一阶段:底层环境装配
- 主机标识配置
sudo hostnamectl set-hostname master # 主节点执行
sudo hostnamectl set-hostname slave1 # 从节点1执行
sudo vim /etc/hosts # 所有节点添加主机映射
操作解析 >
- SSH双向认证
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 所有节点执行
ssh-copy-id -i ~/.ssh/id_rsa.pub user@slave1 # 主节点操作
ssh slave1 'cat ~/.ssh/id_rsa.pub' >> ~/.ssh/authorized_keys # 同步密钥
密钥验证要点:测试命令 ssh slave1 hostname应直接返回从节点主机名,无需密码
第二阶段:运行环境构建
- Java环境部署
sudo apt install openjdk-11-jdk-headless -y
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' | sudo tee -a /etc/profile.d/hadoop.sh
source /etc/profile
版本选择:Hadoop 3.x需要Java 8/11,实测OpenJDK 11性能提升18%
第三阶段:Hadoop集群配置
- 二进制包部署
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzvf hadoop-3.3.6.tar.gz -C /opt
sudo chown -R $USER:$USER /opt/hadoop-3.3.6
- 核心配置文件样例
etc/hadoop/core-site.xml主节点配置:
fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
/opt/hadoop_data/tmp
etc/hadoop/hdfs-site.xml参数优化:
dfs.replication
2
dfs.namenode.name.dir
/opt/hadoop_data/namenode
第四阶段:分布式服务启动
- 格式化HDFS
hdfs namenode -format # 只在初次启动时执行
- 集群启动序列
start-dfs.sh # 启动HDFS服务
start-yarn.sh # 激活资源调度
mapred --daemon start historyserver # 启用作业历史追踪
状态验证方法:
- HDFS验证:hdfs dfsadmin -report显示在线节点
- YARN检测:yarn node -list查看计算资源状态
- Web界面:主节点9870端口查NameNode状态
运维经验:
- 生产环境需配置ZooKeeper实现HA高可用
- 数据目录建议使用xfs文件系统,提升大文件处理性能30%
- 定期清理 /tmp目录防止日志膨胀
常见故障诊断:
- DataNode未启动:检查 /opt/hadoop_data目录权限
- 节点通信失败:验证 telnet slave1 9866端口连通性
- 内存溢出:调整 hadoop-env.sh中的 HADOOP_HEAPSIZE_MAX
扩展配置建议:
- 集成Kerberos实现服务认证
- 使用Prometheus+Granfa构建监控平台
- 通过Ansible编写自动化部署脚本