自己從零安裝hadoop-HA集群

總體步驟

?

1、分配機器,各安裝什么軟件

2、每個節點設置時間一致,設置開機自動校驗時間。

3、每個節點修改主機名。

4、每個節點配置hosts。

5、每個節點關閉防火墻。

6、上傳JDK,配置JDK

7、創建hadoop用戶。

8、給hadoop用戶配置root組

-------以下hadoop用戶的操作---------

9、開啟ssh免密登錄。

10、上傳Zookeeper到HA8,解壓

11、環境變量配置zookeeper

12、配置zoo.cfg文件。

13、創建zoo.cfg中配置的文件夾

14、配置myid文件

15、刪除zookeeper安裝目錄下無用的幫助文檔。

16、scp zookeeper的安裝目錄到8,9,10節點。

17、修改其他節點上的 myid文件

18、scp 環境變量到其他節點。

19、source 各個節點的環境變量。

20、啟動。

21、查看狀態。

22、停止Zookeeper

23、上傳hadoop 壓縮包,解壓

24、配置hadoop 環境變量

25、配置hadoop-HA參數

26、scp環境變量到1~7節點

27、source 環境變量1~7節點

28、scp hadoop.xxx文件夾到1~7節點

29、啟動

?

*將整個過程編程shell或Python命令

?

1、分配機器

10臺centos

?

機器名

安裝的軟件

進程

HA1

JDK,hadoop

namenode,zkfc

HA2

JDK,hadoop

namenode,zkfc

HA3

JDK,hadoop

resourcemanager

HA4

JDK,hadoop

resourcemanager

HA5

JDK,hadoop

datenode,nodemanager

HA6

JDK,hadoop

datenode,nodemanager

HA7

JDK,hadoop

datenode,nodemanager

HA8

JDK,zookeeper,hadoop

JournalNode、QuorumPeerMain,zkfc狀態值,yarn的ha狀態值

HA9

JDK,zookeeper,hadoop

JournalNode、QuorumPeerMain,zkfc狀態值,yarn的ha狀態值

HA10

JDK,zookeeper,hadoop

JournalNode、QuorumPeerMain,zkfc狀態值,yarn的ha狀態值

?

?

2、每個節點設置時間一致,設置開機自動校驗時間。

chkconfig --list

chkconfig --level 12345 ntpdate?on

service ntpdate start

?

?

3、每個節點修改主機名。

vi /etc/sysconfig/network

hostname HA123456...10

?

?

4、每個節點配置hosts。

vi /etc/hosts

?

192.168.18.136 HA1

192.168.18.137 HA2

192.168.18.138 HA3

192.168.18.139 HA4

192.168.18.140 HA5

192.168.18.141 HA6

192.168.18.142 HA7

192.168.18.143 HA8

192.168.18.144 HA9

192.168.18.145 HA10

?

//要編寫一個shell腳本,如果集群里有幾十臺怎么辦?

?

5、每個節點關閉防火墻。

chkconfig iptables off

service iptables stop

?

6、新建application文件夾,上傳JDK,配置JDK

每臺機器都需要

1、HA1上傳JDK壓縮包到根目錄

2、解壓到根目錄

tar -xzvf jdk-8u73-linux-x64.tar.gz

vi /etc/profile

export JAVA_HOME=/jdk1.8.0_73

export PATH=$PATH:$JAVA_HOME/bin

刪除一些無用的文件

拷貝到其他機器,在向所有窗口發送中輸入:

scp -r HA1:/jdk1.8.0_73/ $HOSTNAME:/

?

拷貝 /etc/profile 到其他機器

scp HA1:/etc/profile $HOSTNAME:/etc/profile

source /etc/profile

?

7、 創建hadoop賬號

adduser hadoop

passwd hadoop

123456

?

8、給hadoop用戶配置root組

vi /etc/sudoers

## Allow root to run any commands anywhere

root ALL=(ALL) ALL

在這里添加

hadoop ALL=(ALL) ALL

?

?

------------以下hadoop用戶的操作-----------------

9、開啟ssh免密登錄。

ssh-keygen -t rsa

touch?authorized_keys

修改authorized_keys文件權 限為 600,命令:chmod 600 authorized_keys

如果不修改權限,通不過linux的權限認證,ssh會無效的

?

這個ssh免密登錄是針對hadoop用戶。root用戶沒有配置,不能免密登錄對方。ssh免密是用戶有效

?

10、上傳Zookeeper到HA8,解壓

上傳到home文件夾下

解壓到home文件夾下

tar -xzvf zookeeper-3.3.6.tar.gz

?

11、環境變量配置zookeeper

sudo vi /etc/profile

export ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.3.6

export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin

?

?

12、配置zoo.cfg文件。

cd conf/

cp zoo_sample.cfg zoo.cfg

vi zoo.cfg

dataDir=/home/hadoop/zookeeper-3.3.6/data

dataLogDir=/application/zookeeper-3.3.6/log

?

server.1=HA8:2888:3888

server.2=HA9:2888:3888

server.3=HA10:2888:3888

?

13、創建zoo.cfg中配置的文件夾

[hadoop@HA8 zookeeper-3.3.6]$ mkdir data

[hadoop@HA8 zookeeper-3.3.6]$ mkdir log

?

?

14、配置myid文件

cd data

vi myid

1

不能帶有空格或空行

?

15、刪除zookeeper安裝目錄下無用的幫助文檔。

rm -rf docs dist-maven/

rm -rf src.zip *.txt javafx-src.zip *.html

rm -rf *.xml *.txt src zookeeper-3.3.6.jar.*

?

?

16、scp zookeeper的安裝目錄到8,9,10節點。

[hadoop@HA8 ~]$ scp -r zookeeper-3.3.6 HA9:/home/hadoop

[hadoop@HA8 ~]$ scp -r zookeeper-3.3.6 HA10:/home/hadoop

?

?

17、修改其他節點上的 myid文件

cd data

vi myid?

2 ?另一臺 3

不能帶有空格或空行

?

18、scp 環境變量到其他節點。

sudo scp /etc/profile HA9:/etc/profile

sudo scp /etc/profile HA10:/etc/profile

?

?

19、source 各個節點的環境變量。

source /etc/profile

?

20、啟動。

?8,9,10三臺機器都要運行

zkServer.sh start

?

21、查看狀態。

8,9,10三臺都要運行

jsp

zkServer.sh status

?

22、停止Zookeeper

Zookeeper安裝啟動成功后,先stop。

8,9,10三臺都要運行

zkServer.sh stop

?

23、上傳hadoop 壓縮包,解壓

[hadoop@HA1 hadoop-2.7.3]$ tar -xzvf hadoop-2.7.3.tar.gz

?

24、配置hadoop 環境變量

sodu vi /etc/profile

?

export HADOOP_HOME=/home/hadoop/hadoop-2.7.3

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

?

除了配置HA1,還要配置 HA8,9,10

?

25、配置hadoop-HA參數

25.1修改hadoop-env.sh

vi hadoop-env.sh

#export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME=/jdk1.8.0_73

?

25.2修改core-site.xml

<configuration>

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

<property>

<name>fs.defaultFS</name>

<value>hdfs://nbdo/</value>

</property>

<!-- 指定hadoop臨時目錄 -->

<property>

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

<value>/home/hadoop/app/hdpdata/</value>

</property>

?

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

<property>

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

<value>HA8:2181,HA9:2181,HA10:2181</value>

</property>

</configuration>

?

25.3修改hdfs-site.xml

<configuration>

<!--指定hdfs的nameservice為nbdo,需要和core-site.xml中的保持一致 -->

<property>

<name>dfs.nameservices</name>

<value>nbdo</value>

</property>

<!-- nbdo下面有兩個NameNode,分別是nn1,nn2 -->

<property>

<name>dfs.ha.namenodes.nbdo</name>

<value>nn1,nn2</value>

</property>

<!-- nn1的RPC通信地址 -->

<property>

<name>dfs.namenode.rpc-address.nbdo.nn1</name>

<value>HA1:9000</value>

</property>

<!-- nn1的http通信地址 -->

<property>

<name>dfs.namenode.http-address.nbdo.nn1</name>

<value>HA1:50070</value>

</property>

<!-- nn2的RPC通信地址 -->

<property>

<name>dfs.namenode.rpc-address.nbdo.nn2</name>

<value>HA2:9000</value>

</property>

<!-- nn2的http通信地址 -->

<property>

<name>dfs.namenode.http-address.nbdo.nn2</name>

<value>HA2:50070</value>

</property>

<!-- 指定NameNode的edits元數據在JournalNode上的存放位置 -->

<property>

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

<value>qjournal://HA8:8485;HA9:8485;HA10:8485/nbdo</value>

</property>

<!-- 指定JournalNode在本地磁盤存放數據的位置 -->

<property>

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

<value>/home/hadoop/journaldata</value>

</property>

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

<property>

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

<value>true</value>

</property>

<!-- 配置失敗自動切換實現方式 -->

<property>

<name>dfs.client.failover.proxy.provider.nbdo</name>

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

</property>

<!-- 配置隔離機制方法,多個機制用換行分割,即每個機制暫用一行,防止腦裂問題-->

<property>

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

<value>

sshfence

shell(/bin/true)

</value>

</property>

<!-- 使用sshfence隔離機制時需要ssh免登陸 -->

<property>

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

<value>/home/hadoop/.ssh/id_rsa</value>

</property>

<!-- 配置sshfence隔離機制超時時間 -->

<property>

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

<value>30000</value>

</property>

</configuration>

?

?

25.4修改mapred-site.xml

[hadoop@HA1 hadoop]$ cp mapred-site.xml.template mapred-site.xml

[hadoop@HA1 hadoop]$ vi mapred-site.xml

?

<configuration>

<!-- 指定mr框架為yarn方式 -->

<property>

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

<value>yarn</value>

</property>

</configuration>

?

25.5修改yarn-site.xml

<configuration>

<!-- 開啟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>HA3</value>

</property>

<property>

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

<value>HA4</value>

</property>

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

<property>

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

<value>HA8:2181,HA9:2181,HA10:2181</value>

</property>

<property>

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

<value>mapreduce_shuffle</value>

</property>

</configuration>

?

25.5修改slaves

(slaves是指定子節點的位置,因為要在HA1和HA2上啟動HDFS、在HA3和HA4啟動yarn,所以HA1和HA2上的slaves文件指定的是datanode的位置,HA3和HA4上的slaves文件指定的是nodemanager的位置)

HA5

HA6

HA7

?

26、scp環境變量到1~7節點

sudo scp HA1:/etc/profile $HOSTNAME:/etc/profile

?

?

27、source 環境變量1~7節點

source /etc/profile

?

28、scp hadoop.xxx文件夾其他9臺機器

刪除share文件下的doc文件夾

rm -rf doc

scp -r HA1:/home/hadoop/hadoop-2.7.3 $HOSTNAME:/home/hadoop/

?

?

?

29、啟動

順序嚴格按照

29.1啟動Zookeeper

HA8,9,10

zkServer.sh start

?

29.2啟動journalnode

HA8,9,10

hadoop-daemon.sh start journalnode

?

29.3格式化HDFS

#在HA1上執行命令:

hdfs namenode -format

#格式化后會在根據core-site.xml中的hadoop.tmp.dir配置生成個文件,這里我配置的是/home/hadoop/app/hdpdata/,然后將/home/hadoop/app/hdpdata/拷貝到HA2的/home/hadoop/app/hdpdata/。

scp -r

##也可以這樣,建議HA2上運行:hdfs namenode -bootstrapStandby

?

29.4格式化ZKFC(在HA1上執行一次即可)

hdfs zkfc -formatZK

?

29.5啟動HDFS(在HA1上執行)

sbin/start-dfs.sh

?

?

29.6啟動YARN

(#####注意#####:是在HA3上執行start-yarn.sh,把namenode和resourcemanager分開是因為性能問題,因為他們都要占用大量資源,所以把他們分開了,他們分開了就要分別在不同的機器上啟動)

HA3上:sbin/start-yarn.sh

HA4上:yarn-daemon.sh start resourcemanager

?

yarn-ha,還需要手動啟動(HA4上:yarn-daemon.sh start resourcemanager)第二個resourcemanager,

因為start-yarn.sh不具備啟動第二個resourcemanager的功能

?

?

[hadoop@HA1 .ssh]$ jps

2949 DFSZKFailoverController

3064 Jps

2622 NameNode

[hadoop@HA1 .ssh]$

?

[hadoop@HA2 .ssh]$ jps

2040 NameNode

2154 DFSZKFailoverController

2287 Jps

?

[hadoop@HA3 ~]$ jps

2593 ResourceManager

2859 Jps

?

[hadoop@HA4 ~]$ jps

2320 ResourceManager

2376 Jps

[hadoop@HA4 ~]$

?

[hadoop@HA5 ~]$ jps

2331 Jps

2220 NodeManager

2015 DataNode

[hadoop@HA5 ~]$

?

[hadoop@HA6 ~]$ jps

2317 Jps

2206 NodeManager

2015 DataNode

[hadoop@HA6 ~]$

?

[hadoop@HA7 ~]$ jps

2419 NodeManager

2551 Jps

2008 DataNode

[hadoop@HA7 ~]$

?

[hadoop@HA8 ~]$ jps

2187 Jps

1979 QuorumPeerMain

2031 JournalNode

[hadoop@HA8 ~]$

?

[hadoop@HA9 ~]$ jps

2001 JournalNode

2157 Jps

1951 QuorumPeerMain

[hadoop@HA9 ~]$

?

[hadoop@HA10 ~]$ jps

2178 Jps

2019 JournalNode

1961 QuorumPeerMain

[hadoop@HA10 ~]$

?

http://192.168.18.136:50070/(HDFS管理界面)

?

?

http://192.168.18.138:8088/ (MR管理界面)

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537683.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537683.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537683.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

高校學計算機研究生錄取分數排名,四川大學計算機學院2018年碩士研究生招生擬錄取名單及成績公示...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓四川大學計算機學院2018年碩士研究生招生擬錄取名單公示(全日制)姓名 擬錄取專業 總成績 初試成績 復試成績 備注白迪 計算機技術 75.3 353 160白婉玉 計算機技術 79.35 369 169.8曾春明 計算機技術 74.7 350 158.8陳澄 計算機技術…

藍牙基礎知識進階——Physical channel

藍牙基礎知識進階——Physical channel二、物理通道物理通道是piconet區分的標準&#xff0c;它是藍牙系統結構層次中的最底層了。Q1&#xff1a;物理通道有哪些類型物理通道通常可以分為四種類型&#xff1a;1、basicpiconet channel2、adaptedpiconet channel這兩種channel是…

mapreduce程序開發的一些總結

mapreduce在編程的時候&#xff0c;基本上一個固化的模式&#xff0c;沒有太多可靈活改變的地方&#xff0c;除了以下幾處&#xff1a; 1、輸入數據接口&#xff1a;InputFormat ---> FileInputFormat(文件類型數據讀取的通用抽象類) DBInputFormat &#xff08;數據庫數據讀…

深度學習數據驅動_利用深度學習實現手繪數據可視化的生成

前一段時間&#xff0c;我開發了Sketchify&#xff0c; 該工具可以把任何以SVG為渲染技術的可視化轉化為手繪風格。&#xff08;參考手繪風格的數據可視化實現 Sketchify&#xff09;那么問題來了&#xff0c;很多的chart是以Canvas為渲染技術的&#xff0c;那要怎么辦&#xf…

遠程計算機無法操作,win7系統的QQ遠程協助無法控制計算機的問題的解決方法

在使用win7系統的計算機工作和學習過程中&#xff0c;可能會發生win7系統的QQ遠程協助無法控制計算機的情況. 如何處理win7系統的QQ遠程控制無法控制計算機的問題&#xff1f;對于計算機級別的用戶&#xff0c;如果win7系統qq遠程協助無法控制計算機&#xff0c;通常不知道該怎…

java應用中的日志介紹

日志在應用程序中是非常非常重要的&#xff0c;好的日志信息能有助于我們在程序出現 BUG 時能快速進行定位&#xff0c;并能找出其中的原因。 但是&#xff0c;很多介紹 AOP 的地方都采用日志來作為介紹&#xff0c;實際上日志要采用切面的話是極其不科學的&#xff01;對于日志…

微軟全新Chromium版Edge瀏覽器下載

下載地址&#xff1a; https://www.microsoft.com/en-us/edge

企業網站 源碼 服務郵箱:_后來才知道:溫州騰訊企業郵箱定制服務

后來才知道&#xff1a;溫州騰訊企業郵箱定制服務 qnmsptdb后來才知道&#xff1a;溫州騰訊企業郵箱定制服務 軟文推廣得到大家的轉發之后&#xff0c;那么軟文的經濟價值也會隨之而來。內容更新質量言外之意&#xff0c;如果你長期更新低質量內容&#xff0c;是不可取的&#…

圣三一學院計算機專業,360教育集團:愛爾蘭都柏林大學圣三一學院計算機專業...

應用&#xff0c;新產品設計。網絡和分布系統的安全和管理課程介紹計算機基層和網絡安全&#xff0c;研究網絡管理的方法和高端信息服務的管理。這六個部分內容的學習包括每周大概20小時的溝通時間&#xff0c;包括講座、輔導、研討會、試驗等。絕大部分課程要求學生完成其他課…

JavaScript的檢測及其數據類型

一、JavaScript有幾種類型的值&#xff1f;Javascript有兩種數據類型&#xff0c;分別是基本數據類型和引用數據類型。其中基本數據類型包括Undefined、Null、Boolean、Number、String、Symbol (ES6新增&#xff0c;表示獨一無二的值)&#xff0c;而引用數據類型統稱為Object對…

我是Leader,我被降職成了普通員工,HR說:公司要梯隊年輕化

“BAT也不是完美的避風港哇~”這是老劉說的&#xff0c;老劉是BAT某家的一個Leader&#xff0c;職級約類似T7(T族一般是技術族&#xff0c;管理是M族)&#xff0c;在BAT某家呆了11年&#xff0c;但是在整個互聯網行業推崇&#xff0c;梯隊年輕化的氛圍時&#xff0c;老劉所在的…

in最多可以放多少?_汽車最多可以停放多少天不開?維修師傅:盡可能別超過這個時間...

在當下&#xff0c;買車似乎已經成為了一種消費潮流&#xff0c;其中不乏一些本身用車需求不明顯但也隨大流買車的人&#xff0c;結果車買回來之后最初的新鮮勁一過就放在那里不怎么用了。當然也有部分車主是因為自己的工作修需要經常需要在外出差&#xff0c;那么就算想天天開…

計算機電源風扇安裝方法,機箱風扇怎么裝 電腦機箱風扇電源線接法

夏天天氣炎熱&#xff0c;電腦機箱內溫度也較高&#xff0c;溫度過高會影響電腦性能出現死機等問題&#xff0c;甚至影響硬件壽命。所以給機箱裝風扇來散熱是非常重要的。那么&#xff0c;機箱風扇怎么裝合理呢?機箱風扇的電源線怎么接呢?下面分享一下機箱風...夏天天氣炎熱&…

使用微服務失敗的12個原因

在過去的幾年中&#xff0c;我已經對處于數字化轉型過程中的多個產品團隊進行了架構審查。大多數團隊都在按照微服務架構構建產品。他們有使用基于微服務的體系結構的所有正確意圖-更快的開發&#xff0c;更好的可伸縮性&#xff0c;更小的獨立團隊&#xff0c;獨立的部署&…

市場壓力只有老板扛?柏明頓阿米巴如何傳遞經營壓力

內部交易是阿米巴經營模式中的一個重要環節&#xff0c;通過內部交易&#xff0c;使企業內部上下道工序之間以價格為紐帶&#xff0c;以服務和產品進行等價交換&#xff0c;統一結算交易。通過內部交易行為&#xff0c;可以掌握各個阿米巴單元的盈虧狀態。阿米巴構建內部市場&a…

flutter怎么添加ios網絡權限_視頻號直播間怎么添加購物車商品;超詳細流程步驟。丨國仁網絡資訊...

蘑菇租房的聯合創始人龍東平前幾個月曾說&#xff1a;“視頻號是一次掀翻桌子重新排座次的機會&#xff0c;是巨浪滔天&#xff0c;是新世界&#xff0c;新秩序。”視頻號發展趨勢愈加迅猛&#xff0c;越來越多的玩家涌入&#xff0c;正在獲得新一波社交流量。為什么更加受歡迎…

網絡中服務器是指為網絡提供資源,并對這些資源進行管理的計算機,2016年職稱計算機考試Internet沖刺試題及答案3...

1、Internet的通信協議是( A )A、TCP/IP B、OSI/ISOC、NetBEUI D、NWLink2、把計算機網絡分為有線和無線網的主要分類依據是(C)A、網絡成本 B、網絡的物理位置C、網絡的傳輸介質 D、網絡的拓撲結構3、要將兩臺計算機直接相連&#xff0c;那么使用雙絞線的類型為(A)A、交叉線 B、…

Visio 圖形大小如何隨文字多少自動調整?

Visio 圖形大小默認是根據圖形內文字多少自動調整。 如果手動調整過圖形&#xff0c;那么該圖形就不再隨文字多少自動調整了。 解決辦法&#xff1a; 刪除該圖形&#xff0c;重新拉取一個&#xff0c;重新編寫文本

java同一個包中,類之間的的調用

如果是靜態方法&#xff0c;直接 類名.方法名即可&#xff0c;如果是非靜態方法&#xff0c;則需new一個對象出來&#xff0c;然后用對象.方法名調用如&#xff1a;public class A{public static void T(){System.out.print("這是A類的方法");}public void T2(){Syst…

mos管開關電路_【電路】MOS管開關電路圖詳解(一)

MOS管的開關特性靜態特性MOS管作為開關元件&#xff0c;同樣是工作在截止或導通兩種狀態。由于MOS管是電壓控制元件&#xff0c;所以主要由柵源電壓uGS決定其工作狀態。工作特性如下&#xff1a;※uGS※ uGS>開啟電壓UT:MOS管工作在導通區&#xff0c;漏源電流iDSUDD/(RDrDS…