婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > centos7搭建hadoop2.10高可用(HA)

centos7搭建hadoop2.10高可用(HA)

熱門標簽:艾澤拉斯地圖標注 申請400電話收費標 菏澤自動電銷機器人公司 淘寶辦理400電話是多少 福州語音電銷機器人招商 外呼線路隨意切換嗎 北海智能電銷機器人公司 滴滴急救中心地圖標注 網絡電話外呼系統開發

本篇介紹在centos7中搭建hadoop2.10高可用集群,首先準備6臺機器:2臺nn(namenode);4臺dn(datanode);3臺jns(journalnodes)

IP hostname 進程
192.168.30.141 s141 nn1(namenode),zkfc(DFSZKFailoverController),zk(QuorumPeerMain)
192.168.30.142 s142 dn(datanode), jn(journalnode),zk(QuorumPeerMain)
192.168.30.143 s143 dn(datanode), jn(journalnode),zk(QuorumPeerMain)
192.168.30.144 s144 dn(datanode), jn(journalnode)
192.168.30.145 s145 dn(datanode)
192.168.30.146 s146 nn2(namenode),zkfc(DFSZKFailoverController)

各個機器 jps進程:

由于本人使用的是vmware虛擬機,所以在配置好一臺機器后,使用克隆,克隆出剩余機器,并修改hostname和IP,這樣每臺機器配置就都統一了每臺機器配置添加hdfs用戶及用戶組,配置jdk環境,安裝hadoop,本次搭建高可用集群在hdfs用戶下,可以參照:centos7搭建hadoop2.10偽分布模式

下面是安裝高可用集群的一些步驟和細節:

1.設置每臺機器的hostname 和 hosts

修改hosts文件,hosts設置有后可以使用hostname訪問機器,這樣比較方便,修改如下:

127.0.0.1 locahost
192.168.30.141 s141
192.168.30.142 s142
192.168.30.143 s143
192.168.30.144 s144
192.168.30.145 s145
192.168.30.146 s146

2.設置ssh無密登錄,由于s141和s146都為namenode,所以要將這兩臺機器無密登錄到所有機器,最好hdfs用戶和root用戶都設置無密登錄

我們將s141設置為nn1,s146設置為nn2,就需要s141、s146能夠通過ssh無密登錄到其他機器,這樣就需要在s141和s146機器hdfs用戶下生成密鑰對,并將s141和s146公鑰發送到其他機器放到~/.ssh/authorized_keys文件中,更確切的說要將公鑰添加的所有機器上(包括自己)

在s141和s146機器上生成密鑰對:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

將id_rsa.pub文件內容追加到s141-s146機器的/home/hdfs/.ssh/authorized_keys中,現在其他機器暫時沒有authorized_keys文件,我們就將id_rsa.pub更名為authorized_keys即可,如果其他機器已存在authorized_keys文件可以將id_rsa.pub內容追加到該文件后,遠程復制可以使用scp命令:

s141機器公鑰復制到其他機器

scp id_rsa.pub hdfs@s141:/home/hdfs/.ssh/id_rsa_141.pub
scp id_rsa.pub hdfs@s142:/home/hdfs/.ssh/id_rsa_141.pub
scp id_rsa.pub hdfs@s143:/home/hdfs/.ssh/id_rsa_141.pub
scp id_rsa.pub hdfs@s144:/home/hdfs/.ssh/id_rsa_141.pub
scp id_rsa.pub hdfs@s145:/home/hdfs/.ssh/id_rsa_141.pub
scp id_rsa.pub hdfs@s146:/home/hdfs/.ssh/id_rsa_141.pub

s146機器公鑰復制到其他機器

scp id_rsa.pub hdfs@s141:/home/hdfs/.ssh/id_rsa_146.pub
scp id_rsa.pub hdfs@s142:/home/hdfs/.ssh/id_rsa_146.pub
scp id_rsa.pub hdfs@s143:/home/hdfs/.ssh/id_rsa_146.pub
scp id_rsa.pub hdfs@s144:/home/hdfs/.ssh/id_rsa_146.pub
scp id_rsa.pub hdfs@s145:/home/hdfs/.ssh/id_rsa_146.pub
scp id_rsa.pub hdfs@s146:/home/hdfs/.ssh/id_rsa_146.pub

在每臺機器上可以使用cat將秘鑰追加到authorized_keys文件

cat id_rsa_141.pub >> authorized_keys
cat id_rsa_146.pub >> authorized_keys

此時authorized_keys文件權限需要改為644(注意,經常會因為這個權限問題導致ssh無密登錄失敗)

chmod 644 authorized_keys

3.配置hadoop配置文件(${hadoop_home}/etc/hadoop/)

配置細節:

注意:s141和s146具有完全一致的配置,尤其是ssh.

1) 配置nameservice

[hdfs-site.xml]
<property>
 <name>dfs.nameservices</name>
 <value>mycluster</value>
</property>


2) dfs.ha.namenodes.[nameservice ID]

[hdfs-site.xml]
<!-- myucluster下的名稱節點兩個id -->
<property>
  <name>dfs.ha.namenodes.mycluster</name>
  <value>nn1,nn2</value>
</property>

3) dfs.namenode.rpc-address.[nameservice ID].[name node ID]

[hdfs-site.xml]
配置每個nn的rpc地址。
<property>
 <name>dfs.namenode.rpc-address.mycluster.nn1</name>
 <value>s141:8020</value>
</property>
<property>
 <name>dfs.namenode.rpc-address.mycluster.nn2</name>
 <value>s146:8020</value>
</property>

4) dfs.namenode.http-address.[nameservice ID].[name node ID]
配置webui端口

[hdfs-site.xml]
<property>
 <name>dfs.namenode.http-address.mycluster.nn1</name>
 <value>s141:50070</value>
</property>
<property>
 <name>dfs.namenode.http-address.mycluster.nn2</name>
 <value>s146:50070</value>
</property>

5) dfs.namenode.shared.edits.dir
名稱節點共享編輯目錄.選擇三臺journalnode節點,這里選擇s142、s143、s144三臺機器

[hdfs-site.xml]
<property>
 <name>dfs.namenode.shared.edits.dir</name>
 <value>qjournal://s142:8485;s143:8485;s144:8485/mycluster</value>
</property>

6) dfs.client.failover.proxy.provider.[nameservice ID]
配置一個HA失敗轉移的java類(改配置是固定的),client使用它判斷哪個節點是激活態。

[hdfs-site.xml]
<property>
 <name>dfs.client.failover.proxy.provider.mycluster</name>
 <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>

7) dfs.ha.fencing.methods
腳本列表或者java類,在容災保護激活態的nn.

[hdfs-site.xml]
<property>
 <name>dfs.ha.fencing.methods</name>
 <value>sshfence</value>
</property>

<property>
 <name>dfs.ha.fencing.ssh.private-key-files</name>
 <value>/home/hdfs/.ssh/id_rsa</value>
</property>

8) fs.defaultFS
配置hdfs文件系統名稱服務。這里的mycluster為上面配置的dfs.nameservices  

[core-site.xml]
<property>
 <name>fs.defaultFS</name>
 <value>hdfs://mycluster</value>
</property>

9) dfs.journalnode.edits.dir
配置JN存放edit的本地路徑。

[hdfs-site.xml]
<property>
 <name>dfs.journalnode.edits.dir</name>
 <value>/home/hdfs/hadoop/journal</value>
</property>

完整配置文件:

core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
 <property>
 <name>fs.defaultFS</name>
 <value>hdfs://mycluster/</value>
 </property>
 <property>
 <name>hadoop.tmp.dir</name>
 <value>/home/hdfs/hadoop</value>
 </property>
</configuration>

hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
 <property>
   <name>dfs.replication</name>
   <value>3</value>
 </property>
 <property>
   <name>dfs.hosts</name>
   <value>/opt/soft/hadoop/etc/dfs.include.txt</value>
 </property>
 <property>
   <name>dfs.hosts.exclude</name>
   <value>/opt/soft/hadoop/etc/dfs.hosts.exclude.txt</value>
 </property>
 <property>
  <name>dfs.nameservices</name>
  <value>mycluster</value>
 </property>
 <property>
  <name>dfs.ha.namenodes.mycluster</name>
  <value>nn1,nn2</value>
 </property>
 <property>
  <name>dfs.namenode.rpc-address.mycluster.nn1</name>
  <value>s141:8020</value>
 </property>
 <property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>s146:8020</value>
 </property>
 <property>
  <name>dfs.namenode.http-address.mycluster.nn1</name>
  <value>s141:50070</value>
 </property>
 <property>
  <name>dfs.namenode.http-address.mycluster.nn2</name>
  <value>s146:50070</value>
 </property>
 <property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://s142:8485;s143:8485;s144:8485/mycluster</value>
 </property>
 <property>
  <name>dfs.client.failover.proxy.provider.mycluster</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
 </property>
 <property>
  <name>dfs.ha.fencing.methods</name>
  <value>sshfence</value>
 </property>

 <property>
  <name>dfs.ha.fencing.ssh.private-key-files</name>
  <value>/home/hdfs/.ssh/id_rsa</value>
 </property>
 <property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/home/hdfs/hadoop/journal</value>
 </property>
</configuration>

mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
 <property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 </property>
</configuration>

yarn-site.xml

<?xml version="1.0"?>

<configuration>

<!-- Site specific YARN configuration properties -->
 <property>
   <name>yarn.resourcemanager.hostname</name>
   <value>s141</value>
 </property>
 <property>
    <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
 </property>
</configuration>

4. 部署細節

1)在jn節點分別啟動jn進程(s142,s143,s144)

hadoop-daemon.sh start journalnode

2)啟動jn之后,在兩個NN之間進行disk元數據同步

  a)如果是全新集群,先format文件系統,只需要在一個nn上執行。
  [s141|s146]

hadoop namenode -format

  b)如果將非HA集群轉換成HA集群,復制原NN的metadata到另一個NN上.

    1.步驟一
    在s141機器上,將hadoop數據復制到s146對應的目錄下

scp -r /home/hdfs/hadoop/dfs hdfs@s146:/home/hdfs/hadoop/

    2.步驟二
    在新的nn(未格式化的nn,我這里是s146)上運行以下命令,實現待命狀態引導。注意:需要s141namenode為啟動狀態(可以執行:hadoop-daemon.sh start namenode )。

hdfs namenode -bootstrapStandby

    如果沒有啟動s141名稱節點,就會失敗,如圖:

    啟動s141名稱節點后,在s141上執行命令

hadoop-daemon.sh start namenode

    然后在執行待命引導命令,注意:提示是否格式化,選擇N,如圖:

    3. 步驟三

    在其中一個NN上執行以下命令,完成edit日志到jn節點的傳輸。

hdfs namenode -initializeSharedEdits

    如果執行過程中報:java.nio.channels.OverlappingFileLockException 錯誤:

      說明namenode在啟動中,需要停掉namenode節點(hadoop-daemon.sh stop namenode)

      執行完后查看s142,s143,s144是否有edit數據,這里查看生產了mycluster目錄,里面有編輯日志數據,如下:

      4.步驟四

      啟動所有節點.

      在s141上啟動名稱節點和所有數據節點:

hadoop-daemon.sh start namenode
hadoop-daemons.sh start datanode

      在s146上啟動名稱節點

hadoop-daemon.sh start namenode

此時在瀏覽器中訪問http://192.168.30.141:50070/和http://192.168.30.146:50070/你會發現兩個namenode都為standby

  

這時需要手動使用命令將其中一個切換為激活態,這里將s141(nn1)設置為active

hdfs haadmin -transitionToActive nn1

此時s141就為active

hdfs haadmin常用命令:

至此手動容災高可用配置完成,但是這種方式不智能,不能夠自動感知容災,所以下面介紹自動容災配置

5.自動容災配置

需要引入zookeeperquarum 和 zk 容災控制器(ZKFC)兩個組件

  搭建zookeeper集群,選擇s141,s142,s143三臺機器,下載 zookeeper:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.6

  1) 解壓zookeeper:

tar -xzvf apache-zookeeper-3.5.6-bin.tar.gz -C /opt/soft/zookeeper-3.5.6

  2) 配置環境變量,在/etc/profile中添加zk環境變量,并重新編譯/etc/profile文件

復制代碼 代碼如下:
source /etc/profile

  3) 配置zk配置文件,三臺機器配置文件統一

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/home/hdfs/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=s141:2888:3888
server.2=s142:2888:3888
server.3=s143:2888:3888

  4)分別

    在s141的/home/hdfs/zookeeper(在zoo.cfg配置文件中配置的dataDir路徑)目錄下創建myid文件,值為1(對應zoo.cfg配置文件中的server.1)

    在s142的/home/hdfs/zookeeper(在zoo.cfg配置文件中配置的dataDir路徑)目錄下創建myid文件,值為2(對應zoo.cfg配置文件中的server.2)

    在s143的/home/hdfs/zookeeper(在zoo.cfg配置文件中配置的dataDir路徑)目錄下創建myid文件,值為3(對應zoo.cfg配置文件中的server.3)

  5) 分別在每臺機器上啟動zk

zkServer.sh start

  啟動成功會出現zk進程:

配置hdfs相關配置:

  1)停止hdfs所有進程

stop-all.sh

  2)配置hdfs-site.xml,啟用自動容災.

[hdfs-site.xml]
<property>
 <name>dfs.ha.automatic-failover.enabled</name>
 <value>true</value>
</property>

  3) 配置core-site.xml,指定zk的連接地址.

<property>
 <name>ha.zookeeper.quorum</name>
 <value>s141:2181,s142:2181,s143:2181</value>
</property>

  4) 分發以上兩個文件到所有節點。

  5) 在其中的一臺NN(s141),在ZK中初始化HA狀態

hdfs zkfc -formatZK

  出現如下結果說明成功:

  也可去zk中查看:

  6) 啟動hdfs集群

start-dfs.sh

查看各個機器進程:

啟動成功,再看一下webui

  s146為激活態

  s141為待命態

至此hadoop 自動容災HA搭建完成

總結

以上所述是小編給大家介紹的centos7搭建hadoop2.10高可用(HA),希望對大家有所幫助!

標簽:資陽 混顯 滄州 三沙 賀州 延安 亳州 丹東

巨人網絡通訊聲明:本文標題《centos7搭建hadoop2.10高可用(HA)》,本文關鍵詞  centos7,搭建,hadoop2.10,高可用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《centos7搭建hadoop2.10高可用(HA)》相關的同類信息!
  • 本頁收集關于centos7搭建hadoop2.10高可用(HA)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久综合色婷婷| 成人一二三区视频| 国产成人久久精品77777最新版本| 成人激情文学综合网| 91麻豆精品国产91久久久| 国产精品嫩草久久久久| 精品影院一区二区久久久| 91色九色蝌蚪| 国产欧美日韩在线| 欧美www视频| 亚洲成人免费在线| 色欧美88888久久久久久影院| 欧美大片一区二区| 亚洲国产综合在线| 91福利在线播放| 亚洲少妇中出一区| av在线不卡电影| 国产日韩欧美不卡在线| 男女男精品网站| 91精品久久久久久久91蜜桃 | 欧美艳星brazzers| 国产精品久久久久久久久免费丝袜 | 伊人夜夜躁av伊人久久| 成人va在线观看| 欧美国产成人精品| 国产精品18久久久久久久网站| 在线不卡的av| 青青草国产成人av片免费| 精品婷婷伊人一区三区三| 亚洲欧洲韩国日本视频| 99热在这里有精品免费| 国产精品国产成人国产三级| 国产剧情在线观看一区二区| 久久久国产午夜精品| 韩国精品主播一区二区在线观看 | 国产成人精品亚洲午夜麻豆| 久久久久久一级片| 成人午夜电影网站| 亚洲欧美自拍偷拍| 99re亚洲国产精品| 亚洲一区二区中文在线| 欧美色区777第一页| 首页欧美精品中文字幕| 91精品国产手机| 国内精品久久久久影院一蜜桃| 久久伊人蜜桃av一区二区| 国产精品一区在线观看乱码| 欧美韩日一区二区三区| 成人app网站| 亚洲综合免费观看高清完整版 | 欧美日韩激情一区| 日本午夜一区二区| 久久伊99综合婷婷久久伊| 成人丝袜高跟foot| 亚洲大尺度视频在线观看| 日韩一区二区三区电影在线观看| 国产乱人伦偷精品视频不卡| 亚洲欧洲www| 7878成人国产在线观看| 国产一区激情在线| 亚洲午夜在线视频| 日韩美女天天操| 成人av电影在线观看| 亚洲午夜三级在线| 久久久久久久久蜜桃| 91色综合久久久久婷婷| 蜜桃av一区二区三区电影| 中文字幕日韩精品一区| 欧美精品久久久久久久久老牛影院| 久久99热99| 亚洲免费在线视频一区 二区| 欧美成人性福生活免费看| 成人动漫一区二区在线| 久久精品国产秦先生| 成人欧美一区二区三区小说| 欧美一区欧美二区| a4yy欧美一区二区三区| 美女性感视频久久| 亚洲福中文字幕伊人影院| 欧美极品aⅴ影院| 欧美一区二区三区不卡| 99久久综合99久久综合网站| 九色综合国产一区二区三区| 一区二区三区欧美在线观看| 久久精品一区四区| 在线播放一区二区三区| 91香蕉视频污| 99视频超级精品| 国产精品一区久久久久| 日韩va亚洲va欧美va久久| 中文字幕亚洲不卡| 久久久久久久久久久久久女国产乱| 欧美在线观看视频在线| www.亚洲色图| 国产丶欧美丶日本不卡视频| 老色鬼精品视频在线观看播放| 亚洲午夜电影在线| 亚洲男人天堂av| 中文字幕在线不卡国产视频| 国产日韩欧美不卡| 国产农村妇女精品| 久久婷婷国产综合精品青草| 日韩一区二区电影| 777a∨成人精品桃花网| 欧美日韩精品一区二区天天拍小说 | 欧美一卡二卡在线观看| 欧美人与z0zoxxxx视频| 欧美日韩一区二区三区免费看| 色综合天天综合在线视频| 99久久国产综合精品色伊| 成人伦理片在线| 国产成人一区在线| 高清国产午夜精品久久久久久| 精品一区二区三区久久久| 精品综合免费视频观看| 精东粉嫩av免费一区二区三区| 久久电影国产免费久久电影| 蜜桃视频一区二区| 狠狠久久亚洲欧美| 国产精品自在欧美一区| 国产suv一区二区三区88区| 成人av在线播放网址| 97久久精品人人做人人爽| 一本色道久久加勒比精品| 在线观看亚洲精品视频| 欧美性受xxxx黑人xyx性爽| 欧美日韩和欧美的一区二区| 日韩精品一区国产麻豆| 久久久久亚洲综合| 亚洲欧美一区二区三区孕妇| 一级做a爱片久久| 日韩成人免费看| 国产乱码精品一区二区三区av| 国产精品一区二区视频| 99久久精品99国产精品| 欧美日韩国产123区| 欧美精品一区二区三区蜜臀| 欧美国产综合一区二区| 亚洲六月丁香色婷婷综合久久| 亚洲成人综合在线| 国产一区二区三区免费| aa级大片欧美| 91精品国产综合久久国产大片| 欧美电视剧在线看免费| 中文字幕一区二区三| 天堂一区二区在线免费观看| 国产麻豆视频精品| 欧美色图激情小说| 久久婷婷综合激情| 午夜精品久久久久久久| 国产成人三级在线观看| 欧美日韩在线播放一区| 久久精品综合网| 午夜国产精品影院在线观看| 国产成人亚洲综合a∨猫咪| 精品视频在线视频| 国产精品免费观看视频| 奇米888四色在线精品| jlzzjlzz欧美大全| 精品乱人伦小说| 夜夜嗨av一区二区三区网页| 国产精品一二三| 欧美精品乱人伦久久久久久| 中文字幕亚洲区| 狠狠色丁香久久婷婷综合_中 | 欧美日韩久久久| 国产精品久久久久久久久搜平片| 日本aⅴ亚洲精品中文乱码| 在线中文字幕一区| 国产亚洲精品超碰| 奇米色777欧美一区二区| 91麻豆福利精品推荐| 国产网红主播福利一区二区| 日韩—二三区免费观看av| 欧美午夜精品一区二区蜜桃| 国产精品电影一区二区三区| 国产在线精品不卡| 日韩欧美一二三| 日日夜夜精品视频天天综合网| 91美女精品福利| 国产精品情趣视频| 国产精品亚洲午夜一区二区三区 | 欧美一区二区三区视频在线观看 | 久久综合久久鬼色中文字| 性做久久久久久| 精品视频免费看| 一区二区国产盗摄色噜噜| 一本色道久久加勒比精品| 欧美高清在线精品一区| 国产mv日韩mv欧美| 日韩精品一区二区三区在线| 日本女优在线视频一区二区| 欧美久久一二区| 香蕉乱码成人久久天堂爱免费| 欧美中文字幕一区二区三区| 亚洲在线视频一区| 欧美在线观看你懂的| 亚洲一区二区三区在线看| 欧美视频一区在线观看| 午夜欧美一区二区三区在线播放|