Hadoop HA 集群配置文件

> 1、hadoop-env.sh配置

export JAVA_HOME=(jdk安装地址)

> 2、hdfs-site.xml配置文件

<此新名称服务的逻辑名称>
<property>
<name> dfs.nameservices </ name>
<value> mycluster </ value>
</property>
<名称服务中每个NameNode的唯一标识符>
<property>
<name> dfs.ha.namenodes.mycluster </ name>
<value>master,slave1</ value>
</ property>
<namenode的rpc服务器的监听地址>
<property>
<name> dfs.namenode.rpc-address.mycluster.master </ name>
<value> master:50070 </ value>
</ property>
<property>
<name> dfs.namenode.rpc-address.mycluster.slave1 </ name>
<value> slave1:50070 </ value>
</ property>
<每个NameNode监听的标准HTTP地址>
<property>
<name> dfs.namenode.http-address.mycluster.master </ name>
<value> master:9000 </ value>
</ property>
<property>
<name> dfs.namenode.http-address.mycluster.slave1 </ name>
<value> slave1:9000 </ value>
</ property>
<配置JournalNodes 集群的URI>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master:8485;slave1:8485;slave2:8485/mycluster</value>
</property>
<配置故障转移代理类>
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<sshfence -SSH到Active NameNode并终止进程>
<property>
<name> dfs.ha.fencing.methods </ name>
<value> sshfence </ value>
</ property>
<property>
<name> dfs.ha.fencing.ssh.private-key-files </ name>
<value> /root/.ssh/id_rsa </ value>
</ property>
<shell-运行一个任意的shell命令来隔离Active NameNode>
<property>
<name> dfs.ha.fencing.methods </ name>
<value> shell(/bin/true)</ value>
</ property>
<journalnode日志存放路径>
<property>
<name> dfs.journalnode.edits.dir </ name>
<value>/usr/local/src/hadoop/data/journalnode/jn</ value>
</property>
<自动故障转移>
<property>
<name> dfs.ha.automatic-failover.enabled </ name>
<value> true </ value>
</ property>

> 3、core-site.xml配置文件

<指定hdfs的nameservice>
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<指定hadoop临时目录>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/tmp/hadoop/ha</value>
</property>
<zookeeper的地址>
<property>
<name>ha.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>

> 4、mapred-site.xml配置

<property>
<name>mapreduce.farmework.name</name>
<value>yarn</calue>
</property>

> 5、yarn-site.xml配置

<打开高可用>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<启用自动故障转移 >
<property>
<name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 指定RM的cluster id -->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yarn-rm-cluster</value>
</property>
<!-- 指定RM的名字 -->
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!-- 分别指定RM的地址 -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>master</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>server1</value>
</property>
<!-- 指定zk集群地址 -->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>master:2181,server1:2181,server2:2181</value>
</property>
<配置YARN的http端口>
<property>
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>slave1:8088</value>
</property>

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

> 6、slaves配置(DataNode)
master
slave1
slave2

上一篇:设置Fedora能够使用root用户登录


下一篇:zookeeper 有哪些应用场景?面试官希望听到这 4 点