成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Hadoop高可用集群如何搭建

本篇內(nèi)容介紹了“Hadoop高可用集群如何搭建”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)按需策劃,是成都網(wǎng)站建設(shè)公司,為木包裝箱提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開發(fā)等。成都網(wǎng)站建設(shè)熱線:18982081108

一、集群規(guī)劃

共5個(gè)節(jié)點(diǎn),主機(jī)名分別是hadoop101、hadoop102、hadoop103、hadoop104、hadoop105

初始啟動(dòng)集群,hadoop101上運(yùn)行active namenode即主namenode;hadoop102上運(yùn)行standby namenode即從namenode

每個(gè)節(jié)點(diǎn)運(yùn)行的進(jìn)程如下表

機(jī)器名運(yùn)行進(jìn)程
hadoop101NameNode/zkfc/Zookeeper/Journalnode/DataNode/NodeManager
hadoop102NameNode/zkfc/Zookeeper/Journalnode/DataNode/NodeManager
hadoop103Zookeeper/Journalnode/DataNode/NodeManager
hadoop104ResourceManager
hadoop105ResourceManager

二、五節(jié)點(diǎn)Hadoop HA搭建

準(zhǔn)備5臺(tái)虛擬機(jī),在做五節(jié)點(diǎn)hadoop-2.7.3 HA安裝之前,要求完成每臺(tái)虛擬機(jī)的環(huán)境準(zhǔn)備。

1. 虛擬機(jī)環(huán)境準(zhǔn)備

舉一反三:參考安裝3節(jié)點(diǎn)hadoop-2.7.3集群時(shí),在解壓hadoop-2.7.3.tar.gz壓縮包之前的操作;李老師之前已經(jīng)講過,不再贅述)

mac安裝VMWare虛擬化軟件

VMWare下安裝CenoOS7 虛擬機(jī)關(guān)閉防火墻 禁用selinux 配置虛擬網(wǎng)卡 配置虛擬機(jī)網(wǎng)絡(luò) 安裝JDK 配置時(shí)間同步 修改主機(jī)名 修改ip地址 修改/etc/hosts 各節(jié)點(diǎn)免密鑰登陸 重啟虛擬機(jī)

2. 安裝zookeeper集群

hadoop101、hadoop102、hadoop103上安裝zookeeper集群

3. 五節(jié)點(diǎn)Hadoop HA搭建

注意:

此文檔使用<font color=red>普通用戶</font>操作,如bruce;hadoop安裝到用戶主目錄下,如/home/bruce<font color=red>請(qǐng)根據(jù)自己的實(shí)際情況修改</font>

3.1 解壓hadoop壓縮包

在node-01上解壓hadoop壓縮包到用戶主目錄(**~**表示用戶主目錄/home/bruce)

[daniel@hadoop101software]$ tar -zxvf hadoop-2.7.3.tar.gz -C/opt/moudle/

3.2 修改hadoop-env.sh

hadoop2.x的配置文件全部在$HADOOP_HOME/etc/hadoop下

[daniel@hadoop101 moudle]$ cd hadoop-2.7.3/etc/hadoop/

修改hadoop-env.sh;保存退出

export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64

注意:JAVA_HOME值修改為<font color=red>自己jdk的實(shí)際目錄</font>

3.3 修改core-site.xml

注意:情況一:值/home/bruce/hadoop-2.7.3/tmp根據(jù)實(shí)際情況修改情況二:值node-01:2181,node-02:2181,node-03:2181根據(jù)實(shí)際情況修改,修改成安裝了zookeeper的虛擬機(jī)的主機(jī)名

<configuration>
<!-- 指定hdfs的nameservice為ns1 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1</value>
</property>
<!-- 指定hadoop臨時(shí)目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/moudle/hadoop-2.7.3/tmp</value>
</property>
<!-- 指定zookeeper地址 -->
<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop101:2181,hadoop102:2181,hadoop103:2181</value>
</property>
</configuration>

3.4 修改hdfs-site.xml

注意:

情況一:屬性值qjournal://node-01:8485;node-02:8485;node-03:8485/ns1中的主機(jī)名,修改成實(shí)際安裝zookeeper的虛擬機(jī)的主機(jī)名情況二:屬性值/home/bruce/hadoop-2.7.3/journal中”/home/bruce/hadoop-2.7.3”替換成實(shí)際hadoop文件夾的路徑情況三:屬性值/home/bruce/.ssh/id_rsa中/home/bruce根據(jù)實(shí)際情況替換

<configuration>
<!--指定hdfs的nameservice為ns1,需要和core-site.xml中的保持一致 -->
<property>
<name>dfs.nameservices</name>
<value>ns1</value>
</property>
<!-- ns1下面有兩個(gè)NameNode,分別是nn1,nn2 -->
<property>
<name>dfs.ha.namenodes.ns1</name>
<value>nn1,nn2</value>
</property>
<!-- nn1的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns1.nn1</name>
<value>hadoop101:9000</value>
</property>
<!-- nn1的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns1.nn1</name>
<value>hadoop101:50070</value>
</property>
<!-- nn2的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns1.nn2</name>
<value>hadoop102:9000</value>
</property>
<!-- nn2的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns1.nn2</name>
<value>hadoop102:50070</value>
</property>
<!-- 指定NameNode的元數(shù)據(jù)在JournalNode上的存放位置 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop101:8485;hadoop102:8485;hadoop103:8485/ns1</value>
</property>
<!-- 指定JournalNode在本地磁盤存放數(shù)據(jù)的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/moudle/hadoop-2.7.3/journal</value>
</property>
<!-- 開啟NameNode失敗自動(dòng)切換 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 配置失敗自動(dòng)切換實(shí)現(xiàn)方式 -->
<property>
<name>dfs.client.failover.proxy.provider.ns1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!-- 配置隔離機(jī)制方法,多個(gè)機(jī)制用換行分割,即每個(gè)機(jī)制暫用一行-->
<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
shell(/bin/true)
</value>
</property>
<!-- 使用sshfence隔離機(jī)制時(shí)需要ssh免登陸 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/daniel/.ssh/id_rsa</value>
</property>
<!-- 配置sshfence隔離機(jī)制超時(shí)時(shí)間 -->
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
</configuration>

3.5 修改mapred-site.xml

重命名文件

[daniel@hadoop101 hadoop]$ mv mapred-site.xml.template mapred-site.xml
[daniel@hadoop101 hadoop]$ vim mapred-site.xml

修改mapred-site.xml

<configuration>
<!-- 指定mr框架為yarn方式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

3.6 修改yarn-site.xml

注意:

情況一:屬性yarn.resourcemanager.hostname.rm1的值node-04根據(jù)實(shí)際情況替換情況二:屬性yarn.resourcemanager.hostname.rm2的值node-05根據(jù)實(shí)際情況替換情況三:屬性值node-01:2181,node-02:2181,node-03:2181根據(jù)實(shí)際情況替換;替換成實(shí)際安裝zookeeper的虛擬機(jī)的主機(jī)名

<configuration>
<!-- 開啟RM高可靠 -->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!-- 指定RM的cluster id為yrc,意為yarn cluster -->
<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>hadoop104</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>hadoop105</value>
</property>
<!-- 指定zk集群地址 -->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>hadoop101:2181,hadoop102:2181,hadoop103:2181</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

3.7 修改slaves

node-01、node-02、node-03上運(yùn)行了datanode、nodemanager,所以修改slaves內(nèi)容替換為:

node-01
node-02
node-03

3.8 遠(yuǎn)程拷貝hadoop文件夾

說明:~表示用戶主目錄

scp -r ~/hadoop-2.7.3/ node-02:~
scp -r ~/hadoop-2.7.3/ node-03:~
scp -r ~/hadoop-2.7.3/ node-04:~
scp -r ~/hadoop-2.7.3/ node-05:~

3.9 配置環(huán)境變量

node-01到node-05五個(gè)節(jié)點(diǎn),<font color='red'>都配置環(huán)境變量</font>

#將hadoop添加到環(huán)境變量中
vim ~/.bash_profile

添加內(nèi)容如下(注意:若HADOOP_HOME已經(jīng)存在,則修改):

export HADOOP_HOME=/home/bruce/hadoop-2.7.3/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

編譯文件,使新增環(huán)境變量生效

source ~/.bash_profile

4. 啟動(dòng)與初始化hadoop集群

**注意:**嚴(yán)格按照下面的步驟 先檢查各臺(tái)hadoop環(huán)境變量是否設(shè)置好

4.1 啟動(dòng)zookeeper集群

注意:根據(jù)zookeeper實(shí)際安裝情況,啟動(dòng)zookeeper

分別在node-01、node-02、node-03上啟動(dòng)zookeeper

[daniel@hadoop101 zookeeper-3.4.2]$ bin/zkServer.sh start
[daniel@hadoop102 zookeeper-3.4.2]$ bin/zkServer.sh start  
[daniel@hadoop103 zookeeper-3.4.2]$ bin/zkServer.sh start

查看狀態(tài):一個(gè)為leader,另外兩個(gè)為follower

[daniel@hadoop101 zookeeper-3.4.2]$ bin/zkServer.sh status
JMX enabled by default
Using config: /opt/moudle/zookeeper-3.4.2/bin/../conf/zoo.cfg
Mode: leader

4.2 啟動(dòng)journalnode

分別在node-01、node-02、node-03上執(zhí)行

[daniel@hadoop101 hadoop-2.7.3]$ hadoop-daemon.sh start journalnode
[daniel@hadoop102 zookeeper-3.4.2]$ hadoop-daemon.sh start journalnode 
[daniel@hadoop103 zookeeper-3.4.2]$ hadoop-daemon.sh start journalnode

運(yùn)行jps命令檢驗(yàn),node-01、node-02、node-03上多了JournalNode進(jìn)程

4.3 格式化HDFS

#根據(jù)集群規(guī)劃node-01、node-02上運(yùn)行namenode;所以<font color='red'>只在主namenode節(jié)點(diǎn)</font>即node-01上執(zhí)行命令:

[daniel@hadoop101 hadoop-2.7.3]$ hdfs namenode -format

4.4 拷貝hadoop.tmp.dir

格式化后會(huì)根據(jù)core-site.xml中的hadoop.tmp.dir屬性值/home/bruce/hadoop-2.7.3/tmp,并生成此文件夾

Hadoop高可用集群如何搭建

將/home/bruce/hadoop-2.7.3/tmp拷貝到node-02的/home/bruce/hadoop-2.7.3中

[daniel@hadoop101 hadoop-2.7.3]$ scp -r tmp/daniel@hadoop102:/opt/moudle/hadoop-2.7.3/

4.4 格式化ZK

node-01上執(zhí)行即可

[daniel@hadoop101 hadoop-2.7.3]$ hdfs zkfc -formatZK

4.5 啟動(dòng)HDFS

只在<font color='red'>主namenode</font>節(jié)點(diǎn)node-01上執(zhí)行

[daniel@hadoop101 hadoop-2.7.3]$ sbin/start-dfs.sh

4.6 啟動(dòng)YARN

4.6.1主resourcemanager

注意:只在<font color='red'>主resourcemanager</font>即node-04上執(zhí)行start-yarn.sh

把namenode和resourcemanager部署在不同節(jié)點(diǎn),是因?yàn)樾阅軉栴},因?yàn)樗麄兌家加么罅抠Y源 <font color='red'>坑</font>:在node-04上啟動(dòng)yarn之前,先依次從node-04 ssh遠(yuǎn)程連接到node-01、node-02、node-03、node-04、node-05;因?yàn)槌醮蝧sh時(shí),需要交互,輸入yes,回車

[daniel@hadoop104 hadoop-2.7.3]$ sbin/start-yarn.sh
4.6.2 從resourcemanager

從resourcemanager即node-05上啟動(dòng)rm

[daniel@hadoop105 hadoop-2.7.3]$ yarn-daemon.sh start resourcemanager

5. 驗(yàn)證集群是否可用

5.1 驗(yàn)證HDFS HA

5.1.1 訪問WEB UI

node-01、node-02一主一備

http://node-01:50070

Hadoop高可用集群如何搭建

http://node-02:50070

Hadoop高可用集群如何搭建

5.1.2 模擬主備切換

在主namenode節(jié)點(diǎn),運(yùn)行

[daniel@hadoop102 hadoop-2.7.3]$ hadoop-daemon.sh stop namenode

訪問之前為"備namenode"的WEB UI;發(fā)現(xiàn)狀態(tài)更新為active

Hadoop高可用集群如何搭建

啟動(dòng)剛才手動(dòng)停掉的namenode

hadoop-daemon.sh start namenode

訪問它的WEB UI,發(fā)現(xiàn)狀態(tài)更新為standby

Hadoop高可用集群如何搭建

5.2 驗(yàn)證Yarn HA

node-04、node-05主備切換

5.2.1 訪問WEB UI

node-04瀏覽器訪問

[http://hadoop104:8088/cluster/cluster](http://hadoop104:8088/cluster/cluster)

Hadoop高可用集群如何搭建

node-05瀏覽器訪問

[http://hadoop105:8088/cluster/cluster](http://hadoop105:8088/cluster/cluster)

Hadoop高可用集群如何搭建

5.2.2 模擬主備切換

在主resourcemanager節(jié)點(diǎn),運(yùn)行

[daniel@hadoop105 hadoop-2.7.3]$ yarn-daemon.sh stop resourcemanager

訪問之前為"備resourcemanager"的WEB UI;發(fā)現(xiàn)狀態(tài)更新為active

Hadoop高可用集群如何搭建

啟動(dòng)剛才手動(dòng)停掉的resourcemanager

[daniel@hadoop105 hadoop-2.7.3]$ yarn-daemon.sh start resourcemanager

訪問它的WEB UI,發(fā)現(xiàn)狀態(tài)更新為standby

Hadoop高可用集群如何搭建

5.2.3 運(yùn)行MR示例

運(yùn)行一下hadoop示例中的WordCount程序:

hadoop fs -put /home/bruce/hadoop-2.7.3/LICENSE.txt /
hadoop jar hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /LICENSE.txt /w0727

6. 集群常用命令

6.1 關(guān)閉Hadoop HA集群

正確指令執(zhí)行順序如下

主namenode上運(yùn)行

stop-dfs.sh

主resoucemanager上運(yùn)行

stop-yarn.sh

從resoucemanager上運(yùn)行

yarn-daemon.sh stop resourcemanager

關(guān)閉zookeeper集群;每個(gè)zk服務(wù)器運(yùn)行

zkServer.sh stop

6.2 常用命令

單獨(dú)啟動(dòng)namenode

hadoop-daemon.sh start namenode

單獨(dú)啟動(dòng)datanode

hadoop-daemon.sh start datanode

單獨(dú)啟動(dòng)journalnode

hadoop-daemon.sh start journalnode

啟動(dòng)zookeeper

./zkServer.sh start

啟動(dòng)hdfs

start-dfs.sh

啟動(dòng)yarn

start-yarn.sh

單獨(dú)啟動(dòng)resorucemanager

yarn-daemon.sh start resouremanger

“Hadoop高可用集群如何搭建”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

當(dāng)前名稱:Hadoop高可用集群如何搭建
網(wǎng)址分享:http://jinyejixie.com/article38/ipjpsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司網(wǎng)站排名電子商務(wù)、網(wǎng)站維護(hù)關(guān)鍵詞優(yōu)化、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
焦作市| 堆龙德庆县| 文登市| 庄浪县| 方山县| 长子县| 瑞丽市| 望江县| 固始县| 石河子市| 剑河县| 静乐县| 股票| 廉江市| 林甸县| 武冈市| 綦江县| 东宁县| 济阳县| 拜城县| 拜城县| 康保县| 无极县| 柳河县| 诸暨市| 乌拉特前旗| 桑日县| 柯坪县| 米泉市| 府谷县| 崇左市| 台北县| 得荣县| 汝南县| 衡阳县| 樟树市| 中超| 开远市| 宝鸡市| 武平县| 高尔夫|