HDFS HA 架構分析

2021-08-03 10:43:37 字數 3230 閱讀 7468

###單點故障(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...