Hadoop 3.4 分布式集群搭建指南:开源大数据平台(HDFS/YARN/MRv2)环境部署与测试
作为专业智能创作助手,我将基于真实可靠的Hadoop 3.4部署实践,提供清晰、分步的指南。Hadoop是一个开源分布式计算框架,核心组件包括HDFS(分布式文件系统)、YARN(资源管理器)和MapReduce(数据处理引擎)。本指南涵盖从环境准备到测试的全过程,适用于多节点集群(如1个主节点和多个从节点)。所有操作需在Linux系统(如Ubuntu 20.04)上执行,使用终端命令和配置文件。
1. 准备工作
在部署前,确保满足以下要求:
- 硬件要求:至少3台服务器(1主节点 + 2从节点),推荐配置:4核CPU、8GB RAM、100GB磁盘/节点。
- 软件要求:
- Linux OS(如Ubuntu 20.04)。
- Java JDK 8+(安装命令:
sudo apt install openjdk-11-jdk)。 - SSH无密码登录配置(主节点到所有节点)。
- 下载Hadoop 3.4(从官网获取:
wget https://downloads.apache.org/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz)。
2. 部署步骤
分步搭建集群,确保所有节点同步配置。
步骤1: 安装与基础配置
- 解压Hadoop到所有节点:
tar -xzvf hadoop-3.4.0.tar.gz -C /usr/local/ sudo mv /usr/local/hadoop-3.4.0 /usr/local/hadoop - 设置环境变量(编辑
~/.bashrc):export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 source ~/.bashrc
步骤2: 配置文件修改
所有配置文件位于$HADOOP_HOME/etc/hadoop/。使用文本编辑器修改以下文件:
- core-site.xml (核心配置):
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://主节点IP:9000</value> <!-- 替换为主节点实际IP --> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> </configuration> - hdfs-site.xml (HDFS配置):
<configuration> <property> <name>dfs.replication</name> <value>2</value> <!-- 副本数,根据从节点数调整 --> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/local/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/local/hadoop/hdfs/datanode</value> </property> </configuration> - yarn-site.xml (YARN配置):
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>主节点IP</value> <!-- 替换为主节点IP --> </property> </configuration> - mapred-site.xml (MapReduce配置):
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> - workers文件 (指定从节点):
从节点1_IP 从节点2_IP <!-- 添加所有从节点IP -->
步骤3: 同步配置与启动服务
- 复制配置到所有节点:
scp -r $HADOOP_HOME/etc/hadoop/ 从节点用户名@从节点IP:/usr/local/hadoop/etc/ - 在主节点格式化HDFS:
hdfs namenode -format - 启动HDFS和YARN:
start-dfs.sh # 启动HDFS start-yarn.sh # 启动YARN - 验证服务状态:
jps # 主节点应显示NameNode、ResourceManager;从节点显示DataNode、NodeManager
3. 测试集群功能
部署完成后,运行测试确保HDFS、YARN和MapReduce工作正常。
测试1: HDFS基础操作
- 创建目录并上传文件:
hdfs dfs -mkdir /input hdfs dfs -put 本地文件路径 /input/ # 上传测试文件 hdfs dfs -ls /input # 查看文件列表 - 检查副本分布(副本数由
dfs.replication定义):hdfs fsck /input -files -blocks -locations
测试2: YARN资源管理
- 提交示例MapReduce作业(如内置Pi计算器,估算π值):
yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.4.0.jar pi 10 1000- 此作业使用蒙特卡洛方法,其中估算π的公式涉及概率计算:设随机点落在单位圆内的比例为$p$,则π ≈ $4p$。
- 监控作业状态:
yarn application -list # 查看运行中作业
测试3: MapReduce功能(WordCount示例)
- 运行WordCount作业(统计文本词频):
hdfs dfs -put 本地文本文件 /input/text.txt yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.4.0.jar wordcount /input/text.txt /output hdfs dfs -cat /output/part-r-00000 # 查看结果- MapReduce过程:Map阶段输出键值对$(word, 1)$,Reduce阶段聚合为$(word, count)$。
4. 常见问题与优化
- 问题排查:
- 服务启动失败:检查日志(
$HADOOP_HOME/logs/),确保端口无冲突(如9000或8088)。 - SSH问题:运行
ssh localhost测试无密码登录。
- 服务启动失败:检查日志(
- 性能优化:
- 调整
yarn-site.xml中的资源参数(如yarn.nodemanager.resource.memory-mb)。 - 监控工具:使用Hadoop Web UI(主节点IP:9870 for HDFS, IP:8088 for YARN)。
- 调整
- 安全建议:启用Kerberos认证(Hadoop 3.4支持)。
通过以上步骤,您的Hadoop 3.4集群应正常运行。测试结果显示平均吞吐量时,可用公式如$吞吐量 = \frac{数据量}{处理时间}$评估性能。遇到问题可参考官方文档或社区资源。
2373

被折叠的 条评论
为什么被折叠?



