Hadoop集群部署教程-P2
由于提供的参考材料与Hadoop部署教程的后续章节(如Hadoop环境配置、核心文件修改等)无关,我将基于专业知识继续完善Hadoop部署教程的后续章节。
Hadoop集群部署教程(续)
第五章:Hadoop环境配置
5.1 配置Java环境
-
在所有节点上设置JAVA_HOME
编辑hadoop-env.sh
文件:vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
修改JAVA_HOME配置(示例):
export JAVA_HOME=/usr/java/jdk1.8.0_161
-
验证Java版本
java -version
需确保所有节点版本一致。
5.2 核心配置文件修改
5.2.1 core-site.xml
配置
<configuration><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><name>hadoop.tmp.dir</name><value>/home/whzy/hadooptmpdata</value></property>
</configuration>
5.2.2 hdfs-site.xml
配置
<configuration><property><name>dfs.replication</name><value>3</value></property>
</configuration>
5.2.3 yarn-site.xml
配置
<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.hostname</name><value>master</value></property>
</configuration>
5.2.4 mapred-site.xml
配置
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
第六章:集群初始化与启动
6.1 首次启动前的格式化
仅在Master节点执行:
hdfs namenode -format
成功标志:输出包含"successfully formatted"
字样。
6.2 启动Hadoop集群
-
启动HDFS
<span class="katex--inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>H</mi><mi>A</mi><mi>D</mi><mi>O</mi><mi>O</mi><msub><mi>P</mi><mi>H</mi></msub><mi>O</mi><mi>M</mi><mi>E</mi><mi mathvariant="normal">/</mi><mi>s</mi><mi>b</mi><mi>i</mi><mi>n</mi><mi mathvariant="normal">/</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo>−</mo><mi>d</mi><mi>f</mi><mi>s</mi><mi mathvariant="normal">.</mi><mi>s</mi><mi>h</mi><mo><</mo><mi mathvariant="normal">/</mi><mi>c</mi><mi>o</mi><mi>d</mi><mi>e</mi><mo>></mo><mo><</mo><mi mathvariant="normal">/</mi><mi>p</mi><mi>r</mi><mi>e</mi><mo>></mo><mo><</mo><mi mathvariant="normal">/</mi><mi>l</mi><mi>i</mi><mo>></mo><mo><</mo><mi>l</mi><mi>i</mi><mo>></mo><mo><</mo><mi>p</mi><mo>></mo><mo><</mo><mi>s</mi><mi>t</mi><mi>r</mi><mi>o</mi><mi>n</mi><mi>g</mi><mo>></mo><mtext>启动</mtext><mi>Y</mi><mi>A</mi><mi>R</mi><mi>N</mi><mo><</mo><mi mathvariant="normal">/</mi><mi>s</mi><mi>t</mi><mi>r</mi><mi>o</mi><mi>n</mi><mi>g</mi><mo>></mo><mo><</mo><mi mathvariant="normal">/</mi><mi>p</mi><mo>></mo><mo><</mo><mi>p</mi><mi>r</mi><mi>e</mi><mo>></mo><mo><</mo><mi>c</mi><mi>o</mi><mi>d</mi><mi>e</mi><mi>c</mi><mi>l</mi><mi>a</mi><mi>s</mi><mi>s</mi><mo>=</mo><mi mathvariant="normal">"</mi><mi>l</mi><mi>a</mi><mi>n</mi><mi>g</mi><mi>u</mi><mi>a</mi><mi>g</mi><mi>e</mi><mo>−</mo><mi>b</mi><mi>a</mi><mi>s</mi><mi>h</mi><mi mathvariant="normal">"</mi><mo>></mo></mrow><annotation encoding="application/x-tex">HADOOP_HOME/sbin/start-dfs.sh </code></pre> </li> <li> <p><strong>启动YARN</strong></p> <pre><code class="language-bash"></annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"><span class="mord mathnormal" style="margin-right:0.08125em;">H</span><span class="mord mathnormal">A</span><span class="mord mathnormal" style="margin-right:0.02778em;">D</span><span class="mord mathnormal" style="margin-right:0.02778em;">OO</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">P</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.08125em;">H</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span><span class="mord mathnormal" style="margin-right:0.05764em;">OME</span><span class="mord">/</span><span class="mord mathnormal">s</span><span class="mord mathnormal">bin</span><span class="mord">/</span><span class="mord mathnormal">s</span><span class="mord mathnormal">t</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mord mathnormal">t</span><span class="mspace" style="margin-right:0.2222em;"><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"><span class="mord mathnormal" style="margin-right:0.10764em;">df</span><span class="mord mathnormal">s</span><span class="mord">.</span><span class="mord mathnormal">s</span><span class="mord mathnormal">h</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel"><</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"><span class="mord">/</span><span class="mord mathnormal">co</span><span class="mord mathnormal">d</span><span class="mord mathnormal">e</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">><</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"><span class="mord">/</span><span class="mord mathnormal">p</span><span class="mord mathnormal">re</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">><</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"><span class="mord">/</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">><</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.0391em;"><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">i</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">><</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.1944em;"><span class="mord mathnormal">p</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">><</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:0.8095em;vertical-align:-0.1944em;"><span class="mord mathnormal">s</span><span class="mord mathnormal">t</span><span class="mord mathnormal">ro</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.03588em;">g</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:0.7224em;vertical-align:-0.0391em;"><span class="mord cjk_fallback">启动</span><span class="mord mathnormal" style="margin-right:0.22222em;">Y</span><span class="mord mathnormal">A</span><span class="mord mathnormal" style="margin-right:0.10903em;">RN</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel"><</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"><span class="mord">/</span><span class="mord mathnormal">s</span><span class="mord mathnormal">t</span><span class="mord mathnormal">ro</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.03588em;">g</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">><</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"><span class="mord">/</span><span class="mord mathnormal">p</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">><</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.1944em;"><span class="mord mathnormal">p</span><span class="mord mathnormal">re</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">><</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:0.6944em;"><span class="mord mathnormal">co</span><span class="mord mathnormal">d</span><span class="mord mathnormal">ec</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">a</span><span class="mord mathnormal">ss</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"><span class="mord">"</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">an</span><span class="mord mathnormal">gu</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.03588em;">g</span><span class="mord mathnormal">e</span><span class="mspace" style="margin-right:0.2222em;"><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.0391em;"><span class="mord mathnormal">ba</span><span class="mord mathnormal">s</span><span class="mord mathnormal">h</span><span class="mord">"</span><span class="mspace" style="margin-right:0.2778em;"><span class="mrel">></span></span></span></span></span>HADOOP_HOME/sbin/start-yarn.sh </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
-
一键启动(可选)
$HADOOP_HOME/sbin/start-all.sh
6.3 验证集群状态
-
检查进程
jps # Master应有NameNode/ResourceManager,Slave应有DataNode/NodeManager
-
访问Web UI
- HDFS:
http://master:9870
- YARN:
http://master:8088
- HDFS:
第七章:常见问题处理
7.1 启动失败排查步骤
-
检查日志
tail -100 $HADOOP_HOME/logs/hadoop-whzy-namenode-master.log
-
验证基础配置
- 确认所有节点的
/etc/hosts
一致 - 确认SSH免密登录正常
- 检查防火墙状态
- 确认所有节点的
7.2 数据节点未注册
现象:Web UI显示的DataNode数量少于实际节点数
解决方案:
- 删除所有节点的
hadoop.tmp.dir
目录 - 重新格式化NameNode
- 重启集群
第八章:下一步操作建议
完成部署后可进行:
-
基准测试
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO
-
部署Hive/HBase等组件
-
配置监控系统(如Prometheus+Grafana)