hadoop2.7.3 HA YARN 环境搭建

hadoop2.7.3 HA YARN 环境搭建

本文主要参考:
http://www.cnblogs.com/captainlucky/p/4654923.html

本文实现前提:
1、已经能够搭建hadoop HA集群,并且正常运行。如果还只是基本的hadoop的完全分布式集群,建议看一下关于hadoop HA hdfs环境搭建的文章:
http://blog.csdn.net/wild46cat/article/details/53506139

好啦,下面上货。

首先是修改配置文件:mapred-site.xml


        mapreduce.framework.name
        yarn
    
    
        mapreduce.jobhistory.address
        0.0.0.0:10020
    
    
        mapreduce.jobhistory.webapp.address
        0.0.0.0:19888
    


然后是yarn-site.xml




    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
        yarn.nodemanager.auxservices.mapreduce.shuffle.class
        org.apache.hadoop.mapred.ShuffleHandler
    
    
        yarn.nodemanager.local-dirs
        /home/hadoop/yarn/local
    
    
        yarn.nodemanager.log-dirs
        /home/hadoop/yarn/log
    
    
        mapreduce.shuffle.port
        23080
    
    
        yarn.resourcemanager.ha.enabled
        true
    
    
        yarn.resourcemanager.cluster-id
        myhdfs
    
    
        yarn.resourcemanager.ha.rm-ids
        nn1,nn2
    

    
        yarn.resourcemanager.ha.id
        nn1
    
    
        ha.zookeeper.quorum
        host1:2181,host2:2181,host3:2181
    
    
        yarn.resourcemanager.ha.automatic-failover.enabled
        true
    
    
        yarn.resourcemanager.hostname.nn1
        host1
    
    
        yarn.resourcemanager.hostname.nn2
        host2
    
    
        yarn.resourcemanager.recovery.enabled
        true
    
    
        yarn.resourcemanager.store.class
        org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
    
    
        yarn.resourcemanager.zk-state-store.address
        host1:2181,host2:2181,host3:2181
    
    
        yarn.resourcemanager.zk-address
        host1:2181,host2:2181,host3:2181
    
    
        yarn.app.mapreduce.am.scheduler.connection.wait.interval-ms
        5000
    
    
        yarn.nodemanager.resource.memory-mb
        1024
    

	
    
        yarn.resourcemanager.address.nn1
        host1:8032
    
    
        yarn.resourcemanager.scheduler.address.nn1
        host1:8030
    
    
        yarn.resourcemanager.webapp.address.nn1
        host1:8088
    
    
        yarn.resourcemanager.resource-tracker.address.nn1
        host1:8031
    
    
        yarn.resourcemanager.admin.address.nn1
        host1:8033
    
    
        yarn.resourcemanager.ha.admin.address.nn1
        host1:23142
    
 
	
    
        yarn.resourcemanager.address.nn2
        host2:8032
    
    
        yarn.resourcemanager.scheduler.address.nn2
        host2:8030
    
    
        yarn.resourcemanager.webapp.address.nn2
        host2:8088
    
    
        yarn.resourcemanager.resource-tracker.address.nn2
        host2:8031
    
    
        yarn.resourcemanager.admin.address.nn2
        host2:8033
    
    
        yarn.resourcemanager.ha.admin.address.nn2
        host2:23142
     
 
    
        yarn.client.failover-proxy-provider
        org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider
     
    
        yarn.resourcemanager.ha.automatic-failover.zk-base-path
        /yarn-leader-election
     



需要注意的是,在host1中配置好后,需要把mapred-site.xml和yarn-site.xml拷贝到host2和host3中。拷贝后,需要修改yarn-site.xml中的标识当前节点的配置

   
        yarn.resourcemanager.ha.id
        nn1
   


配置map-env.sh和yarn-env.sh两个文件(略),在配置普通的hadoop完全分布式的时候应该已经配置好了。

下面启动hdfs和yarn。
start-dfs.sh
start-yarn.sh

启动standby的yarn,先进入standby的主机,这里是host2,然后使用命令
yarn-daemon.sh start resourcemanager

查看各个节点的状态下面是截图:
hadoop2.7.3 HA YARN 环境搭建_第1张图片

然后是访问一下web 8088:
hadoop2.7.3 HA YARN 环境搭建_第2张图片

在看一下standby节点
hadoop2.7.3 HA YARN 环境搭建_第3张图片
现在模拟host1的resourcemanager出现故障

hadoop2.7.3 HA YARN 环境搭建_第4张图片

现在再看一下host2中resourcemanager的状态



可以看到host2已经接手了resourcemanager的任务。下面再看一下web端。
首选host1的8088端口已经访问不了了。然后看一下host2的8088端口。
hadoop2.7.3 HA YARN 环境搭建_第5张图片


可能遇到的问题:
1、在stop-yarn.sh之后,再次启动start-yarn.sh启动不起来,看一下日志文件中显示的是8088端口已经启动。尝试在web上访问一下,还真的能访问。这时候需要结束掉进程:
ps aux | grep -i resourcemanager

2、启动nodeManager之后,会出现自动退出的现象。这个时候需要检查一下

        yarn.nodemanager.resource.memory-mb
        1024
   

这个配置的value是不是大于1024,如果小于1024的话,那么就会使nodemanager自动退出。

你可能感兴趣的:(hadoop,linux)