2022-11-17
quorumpeermain journalnode datanode
守護(hù)進(jìn)程布局
qianfeng01: NameNode、DataNode、JournalNode、QuorumPeerMain、ZKFC qianfeng02: NameNode、DataNode、JournalNode、QuorumPeerMain、ZKFC qianfeng03: DataNode、JournalNode、QuorumPeerMain
現(xiàn)在,先停止HDFS的進(jìn)程,修改如下的配置文件吧!
hdfs-site.xml
<!-- 注意: 高可用的集群,沒有SecondaryNameNode的存在,因此在這個(gè)文件中之前存在的SecondaryNameNode的配置需要?jiǎng)h除 -->
<configuration>
<!-- 配置NameNode的邏輯名稱 -->
<!-- 注意: 后面的很多參數(shù)配置都是需要使用到這個(gè)名稱的 -->
<property>
<name>dfs.nameservices</name>
<value>supercluster</value>
</property>
<!-- 配置兩個(gè)NameNode的唯一標(biāo)識(shí)符 -->
<property>
<name>dfs.ha.namenodes.supercluster</name>
<value>nn1,nn2</value>
</property>
<!-- 針對每一個(gè)NameNode,配置自己的RPC通信地址和端口 -->
<property>
<name>dfs.namenode.rpc-address.supercluster.nn1</name>
<value>qianfeng01:9820</value>
</property>
<property>
<name>dfs.namenode.rpc-address.supercluster.nn2</name>
<value>qianfeng02:9820</value>
</property>
<!-- 針對每一個(gè)NameNode,配置WebUI的地址和端口 -->
<property>
<name>dfs.namenode.http-address.supercluster.nn1</name>
<value>qianfeng01:9870</value>
</property>
<property>
<name>dfs.namenode.http-address.supercluster.nn2</name>
<value>qianfeng02:9870</value>
</property>
<!-- 定義journalnode進(jìn)程的數(shù)據(jù)存儲(chǔ)的父路徑, 目錄在上面已經(jīng)定義好了的:journalData -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/local/hadoop-3.3.1/tmp</value>
</property>
<!-- 配置journalnode的服務(wù)器地址和存儲(chǔ)目錄(數(shù)目為奇數(shù)個(gè)) -->
<!-- 服務(wù)器地址使用分號(hào)“;”作為分隔符-->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://qianfeng01:8485;qianfeng02:8485;qianfeng03:8485/journalData</value>
</property>
<!-- 指定客戶端連接Active的namenode節(jié)點(diǎn)的java類型 -->
<property>
<name>dfs.client.failover.proxy.provider.supercluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!--為了保證系統(tǒng)的正確性,在任何時(shí)間只有一個(gè)NameNode處于Active狀態(tài),需要配置一個(gè)防護(hù)機(jī)制 -->
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<!--為了使該防護(hù)選項(xiàng)起作用,它必須能夠在不提供密碼的情況下SSH到目標(biāo)節(jié)點(diǎn)。因此,還必須配置以下屬性-->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<!-- 免密登陸超時(shí)時(shí)間,超過此時(shí)間未連接上,則登陸失敗,此配置可選-->
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
<!-- 支持自動(dòng)容災(zāi)屬性 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 塊的副本數(shù)量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
<configuration>
<!--注意:使用到的是在hdfs-site.xml中配置的邏輯名稱 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://supercluster</value>
</property>
<!-- hdfs的數(shù)據(jù)保存的路徑,被其他屬性所依賴的一個(gè)基礎(chǔ)路徑 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.3.1/tmp</value>
</property>
<!-- ZooKeeper服務(wù)的地址 -->
<property>
<name>ha.zookeeper.quorum</name>
<value>qianfeng01:2181,qianfeng02:2181,qianfeng03:2181</value>
</property>
</configuration>
hadoop-env.sh
# 添加兩行
export HDFS_JOURNALNODE_USER=root
export HDFS_ZKFC_USER=root
分發(fā)配置文件到其他節(jié)點(diǎn)
[root@qianfeng01 ~]# cd $HADOOP_HOME/etc
[root@qianfeng01 hadoop]# scp -r hadoop qianfeng02:$PWD
[root@qianfeng01 hadoop]# scp -r hadoop qianfeng03:$PWD
開班時(shí)間:2021-04-12(深圳)
開班盛況開班時(shí)間:2021-05-17(北京)
開班盛況開班時(shí)間:2021-03-22(杭州)
開班盛況開班時(shí)間:2021-04-26(北京)
開班盛況開班時(shí)間:2021-05-10(北京)
開班盛況開班時(shí)間:2021-02-22(北京)
開班盛況開班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開班時(shí)間:2020-09-21(上海)
開班盛況開班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開班時(shí)間:2019-07-22(北京)
開班盛況Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號(hào)-5 京公網(wǎng)安備 11010802035720號(hào)