2022-11-17
集群 搭建
啟動(dòng)集群
現(xiàn)在,集群已經(jīng)搭建成為了高可用的集群了。在啟動(dòng)集群之前,我們需要先明確一件事情: 集群現(xiàn)在的狀態(tài)有兩種:
這個(gè)集群我之前使用過(guò),NameNode已經(jīng)存儲(chǔ)有數(shù)據(jù)了(fsimage和edits已生成)
這個(gè)集群是我新搭建的,我直接搭建集群的時(shí)候就搭建的高可用的集群,之前從來(lái)沒(méi)有啟動(dòng)過(guò)
如果你是第一種情況,請(qǐng)?zhí)D(zhuǎn)到 普通集群轉(zhuǎn)HA
如果你是第二種情況,請(qǐng)?zhí)D(zhuǎn)到 直接搭建HA
啟動(dòng): 普通集群轉(zhuǎn)HA
# 1. 啟動(dòng)集群的JournalNode服務(wù)。
# 注意事項(xiàng): 如果之前集群還在運(yùn)行,需要先將其停止!使用命令 stop-dfs.sh
[root@qianfeng01 ~]# hdfs --daemon start journalnode
[root@qianfeng02 ~]# hdfs --daemon start journalnode
[root@qianfeng03 ~]# hdfs --daemon start journalnode
# 2. 啟動(dòng)以前節(jié)點(diǎn)上的namenode進(jìn)程
[root@qianfeng01 ~]# hdfs --daemon start namenode
# 3. 在新的namenode節(jié)點(diǎn)上拉取鏡像文件
[root@qianfeng02 ~]# hdfs namenode -bootstrapStandby
# 4. 同步日志到j(luò)ournalnode集群上,再啟動(dòng)集群
# 先關(guān)namenode
[root@qianfeng01 ~]# hdfs --daemon stop namenode
# 再同步日志
[root@qianfeng01 ~]# hdfs namenode -initializeSharedEdits
# 5. 格式化zkfc
# 5.1. 前提QuorumPeerMain服務(wù)必須處于開(kāi)啟狀態(tài),客戶端zkfc才能格式化成功
[root@qianfeng01 ~]# zkServer.sh start
[root@qianfeng02 ~]# zkServer.sh start
[root@qianfeng03 ~]# zkServer.sh start
# 5.2. 選擇其中一個(gè)namenode節(jié)點(diǎn)進(jìn)行格式化zkfc
[root@qianfeng01 ~]# hdfs zkfc -formatZK
# 6. 你就可以快樂(lè)的開(kāi)啟HA集群進(jìn)行測(cè)試了
[root@qianfeng01 ~]# start-all.sh
# 查看NameNode的狀態(tài)
[root@qianfeng01 ~]# hdfs haadmin -getServiceState nn1
# 注意: 以后開(kāi)HA集群時(shí),要先開(kāi)zookeeper服務(wù),再開(kāi)HDFS。
# 1. 啟動(dòng)三個(gè)節(jié)點(diǎn)上的journalnode服務(wù)
[root@qianfeng01 ~]# hdfs --daemon start journalnode
[root@qianfeng02 ~]# hdfs --daemon start journalnode
[root@qianfeng03 ~]# hdfs --daemon start journalnode
# 2. 格式化namenode
# - 先刪除所有節(jié)點(diǎn)的${hadoop.tmp.dir}/tmp/的數(shù)據(jù)(可選,這一步表示棄用fsimage.)
# - 選擇其中一個(gè)namenode進(jìn)行格式化
[root@qianfeng01 ~]# hdfs namenode -format
# - 并啟動(dòng)namenode進(jìn)程
[root@qianfeng01 ~]# hdfs --daemon start namenode
# 3. 在另一臺(tái)namenode上拉取已格式化的那臺(tái)機(jī)器的鏡像文件(數(shù)據(jù)的一致性)
[root@qianfeng02 ~]# hdfs namenode -bootstrapStandby
# 4. 然后關(guān)閉已經(jīng)啟動(dòng)的namenode
[root@qianfeng01 ~]# hdfs --daemon stop namenode
# 5. 格式化zkfc
# 5.1. 前提QuorumPeerMain服務(wù)必須處于開(kāi)啟狀態(tài),客戶端zkfc才能格式化成功
[root@qianfeng01 ~]# zkServer.sh start
[root@qianfeng02 ~]# zkServer.sh start
[root@qianfeng03 ~]# zkServer.sh start
# 5.2. 選擇其中一個(gè)namenode節(jié)點(diǎn)進(jìn)行格式化zkfc
[root@qianfeng01 ~]# hdfs zkfc -formatZK
# 6. 你就可以快樂(lè)的開(kāi)啟HA集群進(jìn)行測(cè)試了
[root@qianfeng01 ~]# start-all.sh
# 注意:以后開(kāi)HA集群時(shí),要先開(kāi)zookeeper服務(wù),再開(kāi)HDFS。
自動(dòng)容災(zāi)測(cè)試
由于CentOS7的minimal版本缺少容災(zāi)切換ActiveNameNode節(jié)點(diǎn)時(shí)所需要的組件,因此需要手動(dòng)安裝一下:
yum install -y psmisc
1. 首先查看當(dāng)前活躍的Active節(jié)點(diǎn)是誰(shuí)
2. Kill掉活躍節(jié)點(diǎn)上的NameNode進(jìn)程,模擬宕機(jī)
3. 觀察另外一個(gè)節(jié)點(diǎn),是否已經(jīng)變成Active的狀態(tài)
開(kāi)班時(shí)間:2021-04-12(深圳)
開(kāi)班盛況開(kāi)班時(shí)間:2021-05-17(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-03-22(杭州)
開(kāi)班盛況開(kāi)班時(shí)間:2021-04-26(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-05-10(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-02-22(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開(kāi)班時(shí)間:2020-09-21(上海)
開(kāi)班盛況開(kāi)班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開(kāi)班時(shí)間:2019-07-22(北京)
開(kāi)班盛況Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號(hào)-5 京公網(wǎng)安備 11010802035720號(hào)