日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

部署HDFS HA的环境

發(fā)布時間:2023/11/29 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 部署HDFS HA的环境 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

===>?環(huán)境架構(gòu)部署規(guī)劃:

bigdata1 NameNode ResourceManager Zookeeper JournalNode failOverController

bigdata2 NameNode ResourceManager Zookeeper JournalNode failOverController

bigdata3 DataNode NodeManager Zookeeper

bigdata4 DataNode NodeManager



===>?準(zhǔn)備環(huán)境:

(*)清除之前的配置

(*)安裝JDK、修改/etc/hosts文件、關(guān)閉防火墻、免密碼登錄

###############################################################################

hdfs-site.xml

<!--nameservice 名子

? 此處必須與core-site文件中fs.defaultFS的值一致-->

? <property>

? ? <name>dfs.nameservices</name>

? ? <value>mycluster</value>

? </property>

??

? <!--ns1 下面有兩個 namenode, nn1,nn2-->

? <property>

? ? <name>dfs.ha.namenodes.mycluster</name>

? ? <value>nn1,nn2</value>

? </property>

??

? <!-- nn1,nn2 的rpc 通信地址-->

? <property>

? ? <name>dfs.namenode.rpc-address.mycluster.nn1</name>

? ? <value>bigdata1:8020</value>

? </property>

? <property>

? ? <name>dfs.namenode.rpc-address.mycluster.nn2</name>

? ? <value>bigdata2:8020</value>

? </property>

??

? <!-- nn1, nn2 的 http 通信地址-->

? <property>

? ? <name>dfs.namenode.http-address.mycluster.nn1</name>

? ? <value>bigdata1:50070</value>

? </property>

? <property>

? ? <name>dfs.namenode.http-address.mycluster.nn2</name>

? ? <value>bigdata2:50070</value>

? </property>

??

? ? <!--指定 JournalNode 的日志在 JournalNode 上的存放位置,ns1 表示保存ns1的日志-->

? <property>

? ? <name>dfs.namenode.shared.edits.dir</name>

? ? <value>qjournal://bigdata1:8485;bigdata2:8485/mycluster</value>

? </property>


? <!-- 配置失敗自動切換實現(xiàn)方式 -->

? <property>

? ? <name>dfs.client.failover.proxy.provider.mycluster</name>

? ? <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

? </property>


? <!-- 配置隔離機(jī)制方法,多個機(jī)制用換行分割,即每個機(jī)制占用一行 -->

? <property>

? ? <name>dfs.ha.fencing.methods</name>

? ? <value>

? ? sshfence

? ? shell(/bin/true)

? ? </value>

? </property>


? <!-- 配置隔離機(jī)制需要ssh免密碼登陸 -->

? <property>

? ? <name>dfs.ha.fencing.ssh.private-key-files</name>

? ? <value>/root/.ssh/id_rsa</value>

? </property>


? <!-- 配置隔離機(jī)制超時時間 -->

? <property>

? ? <name>dfs.ha.fencing.ssh.connect-timeout</name>

? ? <value>30000</value>

? </property>

??

? ? <property>

? ? <name>dfs.journalnode.edits.dir</name>

? ? <value>/data/journal</value>

? </property>


? <!--開啟 NameNode 失敗自動切換?

? 這指定應(yīng)將群集設(shè)置為自動故障轉(zhuǎn)移。在你的core-site.xml文件中,添加:

??

? <property>?

? ? ?<name> ha.zookeeper.quorum </name>?

? ? ?<value> bigdata1:2181,bigdata2:2181,bigdata3:2181 </value>?

? ?</property>-->

? <property>

? ? ?<name> dfs.ha.automatic-failover.enabled </name>

? ? ?<value>true</value>

? </property>

??

###############################################################################

core-site.xml

<!--HDFS數(shù)據(jù)保存的目錄,默認(rèn)是Linux的tmp目錄-->

<property>

? <name>hadoop.tmp.dir</name>

? <value>/data/app/hadoop-2.7.1/tmp/</value>

</property>


<!--指定hdfs 的nameservice 為 ns1-->

<property>

? <name>fs.defaultFS</name>

? <value>hdfs://mycluster</value>

</property>


<!--指定zookeeper的地址-->

<property>

? <name>ha.zookeeper.quorum</name>

? <value>bigdata1,bigdata2,bigdata3</value>

</property>


###############################################################################

?mapred-site.xml

<!--MR程序運行的容器是Yarn-->

<property>

? <name>mapreduce.framework.name</name>

? <value>yarn</value>

</property>

###############################################################################

yarn-site.xml

<!--開啟RM 高可靠-->

<property>

? <name>yarn.resourcemanager.ha.enabled</name>

? <value>true</value>

</property>


<!-- 指定RM的cluster id -->

<property>

? <name>yarn.resourcemanager.cluster-id</name>

? <value>yrc</value>

</property>


<!--指定 RM 的名子-->

<property>

? <name>yarn.resourcemanager.ha.rm-ids</name>

? <value>rm1,rm2</value>

</property>


<!-- 分別指定 RM的地址 -->

<property>

? <name>yarn.resourcemanager.hostname.rm1</name>

? <value>bigdata1</value>

</property>

<property>

? <name>yarn.resourcemanager.hostname.rm2</name>

? <value>bigdata2</value>

</property>


<!-- 指定 zk 集群地址 -->

<property>

? <name>yarn.resourcemanager.zk-address</name>

? <value>bigdata1:2181,bigdata2:2181,bigdata3:2181</value>

</property>

<!--NodeManager運行MR任務(wù)的方式-->

<property>

? <name>yarn.nodemanager.aux-services</name>

? <value>mapreduce_shuffle</value>

</property>


###############################################################################

slaves

bigdata3

bigdata4

###############################################################################

===>?將配置好的安裝文件拷貝到其它幾臺主機(jī)上

scp? -r hadoop-2.7.1? bigdata2:/data/app

scp? -r hadoop-2.7.1? bigdata3:/data/app

scp? -r hadoop-2.7.1? bigdata4:/data/app


===>?啟動journalnode:

hadoop-daemon.sh start journalnode


===>?格式化NameNode

注意,這里需要創(chuàng)建core-site.xml 文件中 hadoop.tmp.dir 所指定的目錄,否則會報錯,

此配置文件指定的目錄為/data/app/hadoop-2.7.1/tmp/,因此需要先創(chuàng)建目錄

mkdir? /data/app/hadoop-2.7.1/tmp/


格式化NameNode

hdfs namenode -format

===>?將 tmp 目錄下的 dfs 目錄拷貝到 bigdata2 中相同的目錄下

scp -r /data/app/hadoop-2.7.1/tmp/dfs? bigdata2:/data/app/hadoop-2.7.1/tmp

===>?格式化 zookeeper(bigdata1):

需啟動 zookeeper 才能執(zhí)行成功,否則會提示:WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect

java.net.ConnectException: 拒絕連接

zkServer.sh? start??(在 bigdata1,bigdata2,bigdata3上啟動,即,zookeeper 集群所在的機(jī)器)

hdfs zkfc -formatZK

===>?至此,環(huán)境部署完畢,啟動整個集群環(huán)境:

1. 啟動 zookeeper(bigdata1,bigdata2,bigdata3):

(若不先啟動zookeeper,namenode會全部為standby 狀態(tài))?

zkServer.sh? start

2. 啟動 hdfs 集群:

start-all.sh (在bigdata1上啟動)

yarn-daemon.sh? start? resourcemanager? ?(在 bigdata2 上啟動)

===>?各主機(jī)執(zhí)行 jps 狀態(tài):

##############################################################

[root@bigdata1 app]# jps

22224 JournalNode

22400 DFSZKFailoverController

22786 Jps

22019 NameNode

21405 QuorumPeerMain

22493 ResourceManager

##############################################################

[root@bigdata2 app]# jps

9408 QuorumPeerMain

9747 DFSZKFailoverController

9637 JournalNode

9929 Jps

9850 ResourceManager

9565 NameNode

##############################################################

[root@bigdata3 app]# jps

7664 DataNode

7531 QuorumPeerMain

7900 Jps

7775 NodeManager

##############################################################

[root@bigdata4 ~]# jps

7698 NodeManager

7587 DataNode

7823 Jps

##############################################################

測試:訪問 50070 端口網(wǎng)頁,其中有顯示namenode 的狀態(tài)信息(active/ standby)

可以kill 掉 activ 機(jī)器的 NameNode 進(jìn)程,然后查看另一臺 NameNode 的狀態(tài)信息



本文轉(zhuǎn)自 菜鳥的征程 51CTO博客,原文鏈接:http://blog.51cto.com/songqinglong/2064665

總結(jié)

以上是生活随笔為你收集整理的部署HDFS HA的环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。