1. 程式人生 > >hadoop2.7.5搭建高可用叢集

hadoop2.7.5搭建高可用叢集

<!-- 指定副本數 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>


<!-- 配置namenode和datanode的工作目錄-資料儲存目錄 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/data/hadoopdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/data/hadoopdata/dfs/data</value>
</property>


<!-- 啟用webhdfs -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>


<!--指定hdfs的nameservice為myha01,需要和core-site.xml中的保持一致 
    dfs.ha.namenodes.[nameservice id]為在nameservice中的每一個NameNode設定唯一標示符。 
配置一個逗號分隔的NameNode ID列表。這將是被DataNode識別為所有的NameNode。 
例如,如果使用"myha01"作為nameservice ID,並且使用"nn1"和"nn2"作為NameNodes標示符 
-->
<property>
<name>dfs.nameservices</name>
<value>myha01</value>
</property>


<!-- myha01下面有兩個NameNode,分別是nn1,nn2 -->
<property>
<name>dfs.ha.namenodes.myha01</name>
<value>nn1,nn2</value>
</property>


<!-- nn1的RPC通訊地址 -->
<property>
<name>dfs.namenode.rpc-address.myha01.nn1</name>
<value>hadoop02:9000</value>
</property>


<!-- nn1的http通訊地址 -->
<property>
<name>dfs.namenode.http-address.myha01.nn1</name>
<value>hadoop02:50070</value>
</property>


<!-- nn2的RPC通訊地址 -->
<property>
<name>dfs.namenode.rpc-address.myha01.nn2</name>
<value>hadoop03:9000</value>
</property>


<!-- nn2的http通訊地址 -->
<property>
<name>dfs.namenode.http-address.myha01.nn2</name>
<value>hadoop03:50070</value>
</property>


<!-- 指定NameNode的edits元資料的共享儲存位置。也就是JournalNode列表 
    該url的配置格式:qjournal://host1:port1;host2:port2;host3:port3/journalId 
journalId推薦使用nameservice,預設埠號是:8485 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop02:8485;hadoop03:8485;hadoop04:8485/myha01</value>
</property>


<!-- 指定JournalNode在本地磁碟存放資料的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/hadoop/data/journaldata</value>
</property>


<!-- 開啟NameNode失敗自動切換 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>


<!-- 配置失敗自動切換實現方式 -->
<property>
<name>dfs.client.failover.proxy.provider.myha01</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>


<!-- 配置隔離機制方法,多個機制用換行分割,即每個機制暫用一行 -->
<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
shell(/bin/true)
</value>
</property>


<!-- 使用sshfence隔離機制時需要ssh免登陸 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>


<!-- 配置sshfence隔離機制超時時間 -->
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>


<property>
<name>ha.failover-controller.cli-check.rpc-timeout.ms</name>
<value>60000</value>