九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
配置高可用的Hadoop平臺

1.概述

  在Hadoop2.x之后的版本,提出了解決單點問題的方案--HA(High Available 高可用)。這篇博客闡述如何搭建高可用的HDFS和YARN,執(zhí)行步驟如下:

  1. 創(chuàng)建hadoop用戶
  2. 安裝JDK
  3. 配置hosts
  4. 安裝SSH
  5. 關(guān)閉防火墻
  6. 修改時區(qū)
  7. ZK(安裝,啟動,驗證)
  8. HDFS+HA的結(jié)構(gòu)圖
  9. 角色分配
  10. 環(huán)境變量配置
  11. 核心文件配置
  12. slave
  13. 啟動命令(hdfs和yarn的相關(guān)命令)
  14. HA的切換
  15. 效果截圖

  下面我們給出下載包的鏈接地址:

  hadoop2.x下載地址

  zookeeper下載地址

      JDK下載地址

  注:若JDK無法下載,請到Oracle的官網(wǎng)下載JDK。

  到這里安裝包都準備好了,接下來我們開始搭建與配置。

2.搭建

2.1創(chuàng)建Hadoop用戶

  1. useradd hadoop
  2. passwd hadoop

 然后根據(jù)提示,設(shè)置密碼。接著我給hadoop用戶設(shè)置面免密碼權(quán)限,也可自行添加其他權(quán)限。

  1. chmod +w /etc/sudoers
  2. hadoop ALL=(root)NOPASSWD:ALL
  3. chmod -w /etc/sudoers

2.2安裝JDK

  將下載好的安裝包解壓到 /usr/java/jdk1.7,然后設(shè)置環(huán)境變量,命令如下:

  1. sudo vi /etc/profile

  然后編輯配置,內(nèi)容如下:

  1. export JAVA_HOME=/usr/java/jdk1.7
  2. export PATH=$PATH:$JAVA_HOME/bin

  然后使環(huán)境變量立即生效,命令如下:

  1. source /etc/profile

  然后驗證JDK是否配置成功,命令如下:

  1. java -version

  若顯示對應(yīng)版本號,即表示JDK配置成功。否則,配置無效!

2.3配置hosts

  集群中所有機器的hosts配置要要相同(推薦)??梢员苊獠槐匾穆闊?,用域名取代IP,方便配置。配置信息如下:

  1. 10.211.55.12 nna  # NameNode Active
  2. 10.211.55.13 nns  # NameNode Standby
  3. 10.211.55.14 dn1  # DataNode1
  4. 10.211.55.15 dn2  # DataNode2
  5. 10.211.55.16 dn3  # DataNode3

  然后用scp命令,將hosts配置分發(fā)到各個節(jié)點。命令如下:

  1. # 這里以NNS節(jié)點為例子
  2. scp /etc/hosts hadoop@nns:/etc/

2.4安裝SSH

  輸入如下命令:

  1. ssh-keygen –t rsa

  然后一路按回車鍵,最后在將id_rsa.pub寫到authorized_keys,命令如下:

  1. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  在hadoop用戶下,需要給authorized_keys賦予600的權(quán)限,不然免密碼登陸無效。在其他節(jié)點只需要使用 ssh-keygen –t rsa 命令,生產(chǎn)對應(yīng)的公鑰,然后將各個節(jié)點的id_rsa.pub追加到nna節(jié)點的authorized_keys中。最后,將nna節(jié)點下的authorized_keys文件通過scp命令,分發(fā)到各個節(jié)點的 ~/.ssh/ 目錄下。目錄如下:

  1. # 這里以NNS節(jié)點為例子
  2. scp ~/.ssh/authorized_keys hadoop@nns:~/.ssh/

   然后使用ssh命令相互登錄,看是否實現(xiàn)了免密碼登錄,登錄命令如下:

  1. # 這里以nns節(jié)點為例子
  2. ssh nns

  若登錄過程中木有提示需要輸入密碼,即表示密碼配置成功。

2.5關(guān)閉防火墻

  由于hadoop的節(jié)點之間需要通信(RPC機制),這樣一來就需要監(jiān)聽對應(yīng)的端口,這里我就直接將防火墻關(guān)閉了,命令如下:

  1. chkconfig iptables off

  注:如果用于生產(chǎn)環(huán)境,直接關(guān)閉防火墻是存在安全隱患的,我們可以通過配置防火墻的過濾規(guī)則,即將hadoop需要監(jiān)聽的那些端口配置到防火墻接受規(guī)則中。關(guān)于防火墻的規(guī)則配置參見“l(fā)inux防火墻配置”,或者通知公司的運維去幫忙配置管理。

  同時,也需要關(guān)閉SELinux,可修改 /etc/selinux/config 文件,將其中的 SELINUX=enforcing 改為 SELINUX=disabled即可。

2.6修改時區(qū)

  各個節(jié)點的時間如果不同步,會出現(xiàn)啟動異常,或其他原因。這里將時間統(tǒng)一設(shè)置為Shanghai時區(qū)。命令如下:

  1. # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  2. cp: overwrite `/etc/localtime'? yes
  3. 修改為中國的東八區(qū)
  4. # vi /etc/sysconfig/clock
  5. ZONE="Asia/Shanghai"
  6. UTC=false
  7. ARC=false

 

2.7ZK(安裝,啟動,驗證)

2.7.1安裝

  將下載好的安裝包,解壓到指定位置,這里為直接解壓到當前位置,命令如下:

  1. tar -zxvf zk-{version}.tar.gz

  修改zk配置,將zk安裝目錄下conf/zoo_sample.cfg重命名zoo.cfg,修改其中的內(nèi)容:

  1. # The number of milliseconds of each tick
  2. # 服務(wù)器與客戶端之間交互的基本時間單元(ms)
  3. tickTime=2000
  4.  
  5. # The number of ticks that the initial
  6. # synchronization phase can take
  7. # zookeeper所能接受的客戶端數(shù)量
  8. initLimit=10
  9.  
  10. # The number of ticks that can pass between
  11. # sending a request and getting an acknowledgement
  12. # 服務(wù)器和客戶端之間請求和應(yīng)答之間的時間間隔
  13. syncLimit=5
  14.  
  15. # the directory where the snapshot is stored.
  16. # do not use /tmp for storage, /tmp here is just
  17. # example sakes.
  18. # 保存zookeeper數(shù)據(jù),日志的路徑
  19. dataDir=/home/hadoop/data/zookeeper
  20.  
  21. # the port at which the clients will connect
  22. # 客戶端與zookeeper相互交互的端口
  23. clientPort=2181
  24. server.1= dn1:2888:3888
  25. server.2= dn2:2888:3888
  26. server.3= dn3:2888:3888
  27.  
  28. #server.A=B:C:D
    #其中A是一個數(shù)字,代表這是第幾號服務(wù)器;B是服務(wù)器的IP地址;
    #C表示服務(wù)器與群集中的“領(lǐng)導(dǎo)者”交換信息的端口;當領(lǐng)導(dǎo)者失效后,D表示用來執(zhí)行選舉時服務(wù)器相互通信的端口。

  接下來,在配置的dataDir目錄下創(chuàng)建一個myid文件,里面寫入一個0-255之間的一個隨意數(shù)字,每個zk上這個文件的數(shù)字要是不一樣的,這些數(shù)字應(yīng)該是從1開始,依次寫每個服務(wù)器。文件中序號要與dn節(jié)點下的zk配置序號一直,如:server.1=dn1:2888:3888,那么dn1節(jié)點下的myid配置文件應(yīng)該寫上1。

2.7.2啟動

  分別在各個dn節(jié)點啟動zk進程,命令如下:

  1. bin/zkServer.sh start

  然后,在各個節(jié)點輸入jps命令,會出現(xiàn)如下進程:

  1. QuorumPeerMain

2.7.3驗證

  上面說的輸入jps命令,若顯示對應(yīng)的進程,即表示啟動成功,同樣我們也可以輸入zk的狀態(tài)命令查看,命令如下:

  1. bin/zkServer.sh status

  會出現(xiàn)一個leader和兩個follower。

2.8HDFS+HA的結(jié)構(gòu)圖

  HDFS配置HA的結(jié)構(gòu)圖如下所示:

  上圖大致架構(gòu)包括:

  1. 利用共享存儲來在兩個NN間同步edits信息。以前的HDFS是share nothing but NN,現(xiàn)在NN又share storage,這樣其實是轉(zhuǎn)移了單點故障的位置,但中高端的存儲設(shè)備內(nèi)部都有各種RAID以及冗余硬件,包括電源以及網(wǎng)卡等,比服務(wù)器的可靠性還是略有 提高。通過NN內(nèi)部每次元數(shù)據(jù)變動后的flush操作,加上NFS的close-to-open,數(shù)據(jù)的一致性得到了保證。

  2. DN同時向兩個NN匯報塊信息。這是讓Standby NN保持集群的最新狀態(tài)的必須步驟。

  3. 用于監(jiān)視和控制NN進程的FailoverController進程。顯然,我們不能在NN進程內(nèi)部進行心跳等信息同步,最簡單的原因,一次FullGC 就可以讓NN掛起十幾分鐘,所以,必須要有一個獨立的短小精悍的watchdog來專門負責監(jiān)控。這也是一個松耦合的設(shè)計,便于擴展或更改,目前版本里是 用ZooKeeper(簡稱ZK)來做同步鎖,但用戶可以方便的把這個Zookeeper FailoverController(簡稱ZKFC)替換為其他的HA方案或leader選舉方案。

  4. 隔離(Fencing),防止腦裂,就是保證在任何時候只有一個主NN,包括三個方面:

    共享存儲fencing,確保只有一個NN可以寫入edits。

    客戶端fencing,確保只有一個NN可以響應(yīng)客戶端的請求。

    DN fencing,確保只有一個NN向DN下發(fā)命令,譬如刪除塊,復(fù)制塊等等。

2.9角色分配

名稱

Host

職責

NNA

10.211.55.12

zkfc

NNS

10.211.55.13

zkfc

DN1

10.211.55.14

zookeeper

DN2

10.211.55.15

zookeeper

DN3

10.211.55.16

zookeeper

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

  這里列出了所有的配置,后面配置其他組件,可以參考這里的配置。 配置完成后,輸入:. /etc/profile(或source /etc/profile)使之立即生效。嚴重是否環(huán)境變量配置成功與否,輸入:echo $HADOOP_HOME,若輸出對應(yīng)的配置路徑,即可認定配置成功。

  注:hadoop2.x以后的版本conf文件夾改為etc文件夾了

  配置內(nèi)容如下所示:

  1. export JAVA_HOME=/usr/java/jdk1.7
  2. export HADOOP_HOME=/home/hadoop/hadoop-2.6.0
  3. export ZK_HOME=/home/hadoop/zookeeper-3.4.6
  4. export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOM

原文:http://www.cnblogs.com/smartloli/p/4298430.html 作者: 哥不是小蘿莉

本文為轉(zhuǎn)載,如需再次轉(zhuǎn)載,請查看源站 “cnblogs.com” 的要求。如果我們的工作有侵犯到您的權(quán)益,請及時聯(lián)系我們。
文章僅代表作者的知識和看法,如有不同觀點,請樓下排隊吐槽 :D      

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Kafka實戰(zhàn)-Kafka Cluster
Hadoop 2.7分布式集群環(huán)境搭建
Hadoop安裝環(huán)境搭建
這個在本地搭建Hadoop集群的方法,你在其他地方絕對搜不到
Hadoop2.6(NN/RM)高可用集群安裝與部署
安裝ZooKeeper&hadoop的配置、啟動、驗證
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服