高可用HA配置

2021-08-24 18:18:19 字數 2528 閱讀 3577

注意:在此之前zookeeper要配置好

1.首先我們修改core-site.xml檔案:

(1)指定hdfs的nameservice為mycluster:

fs.defaultfs

hdfs://mycluster

(2)指定hadoop臨時目錄

hadoop.tmp.dir

/home/master/hadoopdata

注意:這個檔案是儲存元資料的,之後會把這個資料夾傳送給另乙個namenode所在的機器。

ha.zookeeper.quorum

sparkking-master:2181,sparkking-salve:2181,sparkking-salve02:2181

(4)指定journalnode臨時目錄存放位址

dfs.journalnode.edits.dir

/home/master/journal/node/local/data

這個位置要自己建立

2.配置hdfs-site.xml

(1)指定hdfs的nameserverice為mycluster,這裡需要和core-site.xml檔案中保持一致

dfs.nameservices

mycluster

(2)mycluster下面有兩個namenode,分別是nn1,nn2

(5)指定namenode的edits元資料在journalnode上的的存放位置

dfs.namenode.shared.edits.dir

qjournal://sparkking-master:8485;sparkking-salve:8485;sparkking-salve02:8485/mycluster

(6)指定journalnode在本地磁碟存放資料的位置

dfs.journalnode.edits.dir

/home/master/journaldata/

注意:這個目錄也需要自己建立

(7)開啟namenode失敗自動切換:

dfs.ha.automatic-failover.enabled

true

(8)配置失敗自動切換實現方式:

dfs.client.failover.proxy.provider.mycluster

org.apache.hadoop.hdfs.server.namenode.ha.configuredfailoverproxyprovider

(9)配置隔離機制方法,多個機制用換行分割,即每個機器暫用一行:

dfs.ha.fencing.methods

sshfence

(10)使用sshfence隔離機制時需要ssh免密登入:

3.執行:

注意:嚴格按照下面的目錄!

(1)分別在三颱機器上啟動zookeeper集群,命令是zkserver.sh start;

(2)分別在三颱機器上手動啟動journalnode,命令是hadoop-daemon.sh start journalnode;

(3)格式化namenode,命令是hdfs namenode -initializesharededits;

(4)將元資料傳送給將要接管namenode的機器,我這裡就傳送給了sparkking-salve這台機器;

(5)格式化zkfc,命令是hdfs zkfc -formatzk;

(6)啟動hdfs,命令是statr-all.sh;

這裡的狀態是active,另一台機器的50070是standby狀態,將active狀態的namenode用kill殺死,檢視standby namenode的狀態是否會轉換成active 狀態,是就成功了。

HDFS的HA 高可用

問題 namenode是單節點的,容易發生單點故障。在hadoop2.x之後,可以部署兩個namenode,乙個active 活躍的 另外乙個是standby 備份的 如果要實現這種高可用,需要解決兩個問題 1.資料的同步 資料的同步包括兩部分 靜態資料和動態資料,靜態資料是指元資料資訊 塊名稱,大...

cloud 搭建eureka高可用HA

不需要拉取服務列表 register with eureka false server服務不用註冊 後面的cloud eureka beta和cloud eureka omega檔案類似 注意,如果將eureka.instance.hostname換成 ip 或者是 localhost,是不會成功的...

簡單可用好實現的 HA 高可用設計

一台資料庫用以記錄,如 mysql redis mongodb 等。關鍵是設計中的思想,用啥資料庫都行。在資料庫中,存一張表,結構如下 列名說明 id自增數字,nosql的話想實現也不難 instance starttime 例項啟動時間 heartbeat 心跳時間 現以2個例項組成的cluste...