###單點故障(single point of failure,spof)
###配置ha要點:
規劃集群
131 132 133
namenode namenode
journalnode journalnode journalnode
datanode datanode datanode
三颱機器分別備份etc/hadoop和date/tmp檔案備份hadoop: $ cp -r hadoop/ dist-hadoop備份tmp :$mv tmp/ dist-tmp
$mkdir tmp
core-site.xml
dfs.nameservices
ns1
hdfs-site.xml
刪除屬性:
###################配置namenode的rpc 位址###########
dfs.namenode.rpc-address.ns1.nn1
hadoop-senior01.xiangkun:8020
dfs.namenode.rpc-address.ns1.nn2
hadoop-senior02.xiangkun:8020
###################配置namenode的http web 位址#######
###################配置namenode的proxy**客戶端#######
dfs.client.failover.proxy.provider.mycluster
org.apache.hadoop.hdfs.server.namenode.ha.configuredfailoverproxyprovider
###################配置namenode的defenc隔離(要求namenode之間能通過ssh無密碼登入)#######
dfs.ha.fencing.methods
sshfence
dfs.ha.fencing.ssh.private-key-files
/home/xiangkun/.ssh/id_rsa
################配置前建立這個目錄#################
dfs.journalnode.edits.dir
###############替換掉之前預設的fs.defaultfs#############
fs.defaultfs
hdfs://ns1
qjm ha 啟動(啟動前,之前配置的core-site.xml/hdfs-site.xml要同步到其它機器上)
#####step 1: 在各個journalnode節點上,輸入以下命令啟動journalnode服務:(三颱機器都有,都要啟動)
$sbin/hadoop-daemon.sh start journalnode
#####step2:在[nn1]上,對其進行格式化,並啟動:
$bin/hdfs namenode -format
$bin/hadoop-daemon.sh start namenode
#####step3:在[nn2]上,同步nn1的元資料資訊:
$bin/hdfs namenode -bootstrapstandby
#####step4:啟動[nn2]:
$sbin/hadoop-deamon.sh start namenode
#####step5:將[nn1]切換為active
$bin/hdfs haadmin -transitiontoactive nn1
#####step6:在[nn1]上,啟動所有datanode
$sbin/hadoop-deamons.sh start datanode
###ha 自動故障轉移 zookeeper 監控
- zkfc
failovercontroller
規劃集群
131 | 132 | 133
—|---|—
namenode | namenode||
—|---|—
zkfc | zkfc||
journalnode | journalnode | journalnode
—|---|—
datanode | datanode | datanode
hdfs-site.xml
dfs.ha.automatic-failover.enabled
true
core-site.xml
ha.zookeeper.quorum
hadoop-senior01.xiangkun:2181,hadoop-senior02.xiangkun:2181,hadoop-senior03.xiangkun:2181
###nn ha自動故障轉移
###namenode管理命令
zookeeper掛了,只是不能自動故障轉移,不影響整個hdfs集群
zookeeper對幾台機器的時間很重要,時間必須同步
Hadoop之HDFS HA架構剖析
在偽分布式中hadoop的訪問位址是 hdfs ip 9000 ip是nn節點所在的位址。但是在ha中nn 的ip是多個的此時,若nn發生切換生產中的,我們原有的程式難道需要重新編寫?這時提供了命名空間的概念,客戶端通過hdfs namespace 9000 訪問hdfs,無需關注具體訪問的nn位址...
ZKFC支援HDFS HA的原理
ha首先是啟動兩個namenode,乙個是active狀態,乙個是standby,當active掛掉後,standby通過zookeepe會自動迅速的替代上。這樣集群就會非常的可靠。zookeeper如何知道namenode是active或standby狀態呢?他是通過兩個程序來知道的,叫做zook...
hdfs ha 搭建文件 高可靠
1 防火牆 service iptables stop 2 時間同步 yum install ntp ntpdate u s2c.time.edu.cn 或者date s 20180503 3 免金鑰 遠端執行命令 在兩個主節點生成金鑰檔案 ssh keygen t rsa p f ssh id r...