1、 流程说明
在单机测试wordcount没问题后,开始配置集群模式
说明: hadoop有几个功能
① hdfs存
NameNode
SecondNameNode
DataNode
②yarn资源调度
ResourceManager
NodeManager
③mapreduce计算
有Job任务的时候才会有
每台机器都有 hdfs的datanode, 都有 yarn的nodemanager;
对于 NameNode/SecondeNameNode分别放在第一台和第三台机器上
对于ResourceManger放在第二台机器上
流程为:
- 修改配置文件 5个(hdfs/yarn/mapreduce/workders/core),修改后分发
- 格式化namenode
- 启动hdfs/yarn
2、修改配置文件
hadoop/etc/hadoop/ 这个路径下的5个文件
- core
- hdfs
- yarn
- mapreduce
- workers
1. core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node001:8020</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
<!-- 配置HDFS网页登录使用的静态用户为atguigu -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>xing</value>
</property>
</configuration>
2. hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- nn web端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>node001:9870</value>
</property>
<!-- 2nn web端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node003:9868</value>
</property>
</configuration>
3. yarn-site.xml
<?xml version="1.0"?>
<configuration>
<!-- 指定MR走shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node002</value>
</property>
<!-- 环境变量的继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
4. mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5. workers
- 这个文件里不能包含任何多余的行或者空格
node001
node002
node003
6. 分发
xsync hadoop/etc/hadoop/*
3、 格式化NameNode
# 再需要设置NameNode的机器上执行
hdfs namenode -format
# 若出错,请看日志 hadoop/logs/
4、 启动
# 1. 先启动hdfs , 再启动yarn; 关闭时先关闭yarn,再关闭hdfs
start-dfs.sh # 任何一台机器都可以
start-yarn.sh # 只能ResourceManager那台机器启动
# 2. jps测试
jps
5、jpsall脚本
#!/bin/bash
for host in node001 node002 node003
do
echo "===========${host} jps============"
ssh $host "jps"
done
6、如果重复格式化nn解决
# 1. reboot所有机器
# 2. 删除集群所有 data,logs,/tmp/*
#!/bin/bash
for host in node001 node002 node003
do
ssh $host "rm -rf /opt/module/hadoop-3.1.3/data"
ssh $host "rm -rf /opt/module/hadoop-3.1.3/logs"
ssh $host "sudo rm -rf /tmp/*"
echo "++++++++++++${host}已删除++++++++++++"
done
标签:hdfs,Hadoop,yarn,hadoop,host,集群,mapreduce,安装,HADOOP
From: https://www.cnblogs.com/dataxing/p/17359290.html