一、实验环境
节点名 | Ip | 主机名 |
时钟服务 | 192.168.222.2 | Namenodehost |
Active-Namenode+zkfc+datanode | 192.168.222.2 | Namenodehost |
Standby- Namenode+zkfc+datanode | 192.168.222.3 | Standby |
Datanode | 192.168.222.4 | Datanode |
Zookeeper-1 | 192.168.222.2 | Namenodehost |
Zookeeper-2 | 192.168.222.3 | standby |
Zookeeper-3 | 192.168.222.4 | Datanode |
Journalnode-1 | 192.168.222.2 | Namenodehost |
Journalnode-2 | 192.168.222.3 | standby |
Journalnode-3 | 192.168.222.4 | Datanode |
Resourcenanager active+historyserver | 192.168.222.2 | Namenodehost |
Resourcenanager standby+historyserver | 192.168.222.3 | Standby |
Nodemanager | 192.168.222.3 | Standby |
Nodemanager | 192.168.222.4 | Datanode |
二、实验步骤
(每一步一定要确认服务是正常。)
一,配置hostname和/etc/hosts
二,创建root用户和ssh免密登录
三,配置chrony/ntp时间同步
四,安装java
五,安装zk服务
六,解压hadoop包,修改配置
七,启动journalnode
八,格式化active namenode和standby namenode
九,格式化zkfc
十,启动hadoop
十一,修改yarn相关配置文件
十二,将配置文件传到所有节点
十三,启动resourcemanager、historyserver
十四,启动nodemanager
三、实验操作指南
一、修改对应配置文件
2个配置文件:mapred-site.xml + yarn-site.xml
cp mapred-site.xml.template mapred-site.xml
mapred-site.xml配置
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>0.0.0.0:10020</value> </property>
<property> <name>mapreduce.jobhistory.webapp.address</name> <value>0.0.0.0:19888</value> </property> |
上述都是默认配置
yarn-site.xml配置文件
yarn提供了一个yarn.nodemanager.aux-services的配置项,通过该配置,用户可以自定义一些服务,例如Map-Reduce的shuffle功能就是采用这种方式实现的。
yarn.resourcemanager.recovery.enabled yarn.resourcemanager.store.class
开启了Recovery后,ResourceManger会将应用的状态等信息保存到yarn.resourcemanager.store.class配置的存储介质中,重启后会load这些信息,并且NodeManger会将还在运行的container信息同步到ResourceManager,整个过程不影响作业的正常运行。
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.recovery.enabled</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.store.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value> </property> <property> <name>yarn.resourcemanager.zk-address</name> <value>namenode1:2181,namenode2:2181,datanode1:2181</value> <description>ZooKeeper服务的地址,多个地址使用逗号隔开</description> </property> <!--Configurations for HA of ResourceManager--> <property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> <description>是否启用HA,默认false</description> </property> <property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> <description>最少2个</description> </property> <property> <name>yarn.resourcemanager.hostname.rm1</name> <value>namenode1</value> </property> <property> <name>yarn.resourcemanager.hostname.rm2</name> <value>namenode2</value> </property> <property> <name>yarn.resourcemanager.cluster-id</name> <value>yarn-ha</value> <description>集群HA的id,用于在ZooKeeper上创建节点,区分使用同一个ZooKeeper集群的不同Hadoop集群</description> </property> <property> <name>yarn.resourcemanager.webapp.address.rm1</name> <value>namenode1:28088</value> </property> <property> <name>yarn.resourcemanager.webapp.address.rm2</name> <value>namenode2:28088</value> <description>web访问的端口</description> </property> |
二.将配置文件传到其他所有节点
scp yarn-site.xml mapred-site.xml namenode1:/usr/local/hadoop/etc/hadoop/
scp yarn-site.xml mapred-site.xml namenode2:/usr/local/hadoop/etc/hadoop/
三.启动resourcemanager和historyserver
1)在规划的对应的2个resourcemanager节点上(192.168.222.2 192.168.222.3)
yarn-daemon.sh start resourcemanager
/usr/local/hadoop/sbin/./mr-jobhistory-daemon.sh start historyserver
2)查看进程
检查进程 [root@standby sbin]# jps 12208 DataNode 21600 JobHistoryServer 21075 NameNode 21811 Jps 12084 DFSZKFailoverController 21349 ResourceManager 11414 QuorumPeerMain 11755 JournalNode |
四、启动nodemanager
1)按照规划,到222.3 /222.4上启动nodemanager
cd /usr/local/hadoop/sbin
./yarn-daemon.sh start nodemanager
2)查看进程
检查进程 [root@standby sbin]# jps 12208 DataNode 21600 JobHistoryServer 21075 NameNode 21811 Jps 12084 DFSZKFailoverController 21349 ResourceManager 11414 QuorumPeerMain 11755 JournalNode 21424 NodeManager |
五、通过web页面查看
1)在windows的hosts文件主机名解析
C:\Windows\System32\drivers\etc\hosts
写入
192.168.222.2 namenode1
192.168.222.3 namenode2
192.168.222.4 datanode1
保存
2)使用浏览器打开
点击about
注意:另外一台resourcemanager不能直接通过访问192.168.222.3:28088打开,因为它还是回跳转到active页面,如果要看,需要把上面第二个图 的url拿来下,然后修改ip再访问。
http://192.168.222.3:28088/cluster/cluster