您好,登錄后才能下訂單哦!
進入到執行:/soft/hadoop-2.7.1/etc/hadoop_cluster$ gedit hdfs-site.xml
[配置部分]
[hdfs-site.xml]
1.配置名稱服務:dfs.nameservices
名稱服務的邏輯名。
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
2.配置nameservice中每個namenode
dfs.ha.namenodes.[nameservice ID]
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
注意:目前的hadoop2.7.2最多只能配置2個namenode。
3.配置每個namede的rpc地址
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>s1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>s8:8020</value>
</property>
4.配置每個namenode的webui地址
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>machine1.example.com:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>machine2.example.com:50070</value>
</property>
5.配置namenode的共享edit log目錄
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://s1:8485;s7:8485;s8:8485/mycluster</value>
</property>
6.配置客戶端容災代理供應商類
供客戶端用來檢測那個是namenode是活頁節點。
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
7.(可選的)配置HA防護方法名集合.
QJM防止腦裂發生,不存在兩個active node。
可以配置sshfence或者shell腳本。
8.配置hdfs的文件系統
[core-site.xml]
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
9.配置JN的本地存放數據(edit log)的目錄
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/ubuntu/hadoop/journal</value>
</property>
2、把core-site.xml文件的客戶機名改成如下再頒發給每個虛擬機:<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
3、然后回到hdfs-site.xml里面把<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>刪掉。同樣頒發給每個虛擬機
4、接下來啟動jn進程即:hadoop-daemon.sh starat journalnode
(我是在s1、s7和s8上分別啟動journalnode進程。我一共八臺虛擬機)
5、將s1的hadoop目錄下的 dfs拷貝到s8中。即執行:scp -r dfs ubuntu@s8:/home/ubuntu/hadoop
6、在開啟一個namenode節點的情況下,登錄:ssh s8的虛擬機上執行hdfs namenode -bootstrapStandby
7、再停止namenode節點,然后 在s1虛擬機上執行:hdfs namenode -initializeSharedEdits
8、分別在s1和s8上啟動namenode即:執行hadoop-daemno.sh start namenode
9、最后啟動所有的數據節點:hadoop-daemons.sh start datanode (hadoop-daemons.sh是啟動所有的節點)
管理ha過程
1、手動完成狀態切換:
hdfs haadmin -transitionToActive nn1
hdfs haadmin -transitionToStandbby nn1
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。