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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hadoop2.8 ha 集群搭建

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hadoop2.8 ha 集群搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介:

  最近在看hadoop的一些知識,下面搭建一個ha (高可用)的hadoop完整分布式集群:

  hadoop的單機,偽分布式,分布式安裝

? ? ? ?hadoop2.8 集群 1 (偽分布式搭建

? ? ? ?hadoop2.8 ha 集群搭建

  hbase完整分布式集群搭建

  hadoop完整集群遇到問題匯總

搭建步驟:

主機別名安裝軟件現有進程服務地址
192.168.248.138cdh1hadoop2.8 jdk1.8 namenode DFSZKFailoverControllerhttp://cdh1:50070?
192.168.248.139cdh2hadoop2.8 jdk1.8 namenode DFSZKFailoverControllerhttp://cdh1:50070
192.168.248.140cdh3hadoop2.8 jdk1.8 ResourceManager?
192.168.248.141cdh4hadoop2.8 jdk1.8 zookeeper3.4.13 QuorumPeerMain JournalNode DataNode NodeManager ?http://cdh3:8088
192.168.248.142cdh5hadoop2.8 jdk1.8 zookeeper3.4.13?QuorumPeerMain JournalNode DataNode NodeManager??
192.168.248.143cdh6hadoop2.8 jdk1.8 zookeeper3.4.13?QuorumPeerMain JournalNode DataNode NodeManager??
192.168.248.144cdh7hadoop2.8 jdk1.8? JournalNode DataNode NodeManager??

?

1>??關閉防火墻,禁止設置開機啟動:

    (1)?//臨時關閉 systemctl stop firewalld

    (2)?//禁止開機啟動 systemctl disable firewalld

    ?

    注意:centos7防火墻默認是:firewalld??

      centos6 的命令是:

        //臨時關閉

        service iptables stop

        //禁止開機啟動

        chkconfig iptables off

      2>?修改selinux 屬性為disabled

?        

      注意:修改了selinux或者修改了hostname需要重啟使其生效【在這我沒立即啟動,下面配置好基礎環境后再統一啟動】

    3>?Yum 安裝net-tools.x86_64lrzsz.x86_64 ?

      (1)?Net-tools是為了ifconfig ???yum install -y net-tools.x86_64

      (2)?Lrzsz是方便拖文件上傳 ???yum install -y ?lrzsz.x86_64

      因為我的鏡像是,mini版的centos,除了基礎命令和yum其他命令都需要自己安裝。如果用完整版centos這些命令都已經集成進去了。?

    4>??準備集群所需要的相應軟件安裝包

      (1)?Jdk1.8

      (2)?Hadoop2.8

      (3)?Zookeeper3.4.13

    暫時準備這這些基本軟件,在cdh家目錄下創建一個hadoop目錄,把上述基本軟件上傳到該家目錄下的hadoop文件夾下。

      

?

      (4)?安裝jdk【用root權限去安裝】

        ①?[cdh@localhost hadoop]$ tar -zxvf jdk-8u181-linux-x64.tar.gz

        ②?修改環境變量 ?vi ~/.bash_profile | ??vi /etc/profile

        

        source ~/.bash_profile ?使其生效

        Java -version 驗證安裝是否成功

?        

    到這cdh1號機器基本軟件安裝完成:下面我來關閉cdh1來克隆幾份服務器,這樣cdh1安裝配置那些軟件和配置都會同步過去。克隆步驟如下

      (1)?首先關閉cdh1服務器,因為在啟動和掛起的狀態下無法克隆機器。

?        

        

        

        

        

        

?

?        

?

?       啟動cdh1-cdh7 ??xshell中建立對七個虛機的連接

?          

?

        注意,在這我使用的不是root用戶,都是普通用戶cdh

    5>?安裝hadoop集群的準備工作:

      (1)?修改主機名:

      root用戶登錄

        vi /etc/hostname

        自定義主機名

      重啟 reboot

      (2)?ssh免密登錄問題。

?      分別在每個節點上生成公鑰私鑰:
?? ??? ?      cd /root/.ssh?? ?
?? ??? ?      ssh-keygen -t rsa次回車
?? ??? ?      cp id_rsa.pub ?authorized_keys?

?        

       復制秘鑰報錯,是因為解析主機報錯。配置/etc/hosts即可

?        

        

?

    將cdh2cdh3cdh4cdh5cdh6,cdh7的私鑰復制到cdh1節點上:

???????      ?cdh2節點上執行:ssh-copy-id -i cdh1

??????      ??cdh3節點上執行:ssh-copy-id -i cdh1

??????      ??cdh4節點上執行:ssh-copy-id -i cdh1

???????      ?cdh5節點上執行:ssh-copy-id -i cdh1

????????      cdh6節點上執行:ssh-copy-id -i cdh1

        cdh7節點上執行:ssh-copy-id -i cdh1

????  cdh1節點上的authorized_keys復制給cdh2cdh3cdh4cdh5cdh6,cdh7節點:

??????      ??cdh1節點上執行:scp /root/.ssh/authorized_keys cdh2:/root/.ssh/

????????      cdh1節點上執行:scp /root/.ssh/authorized_keys cdh3:/root/.ssh/

???????      ?cdh1節點上執行:scp /root/.ssh/authorized_keys cdh4:/root/.ssh/

???????      ?cdh1節點上執行:scp /root/.ssh/authorized_keys cdh5:/root/.ssh/

????????      cdh1節點上執行:scp /root/.ssh/authorized_keys cdh6:/root/.ssh/

????????      cdh1節點上執行:scp /root/.ssh/authorized_keys cdh7:/root/.ssh/

????  驗證ssh免密碼登錄(包括登錄自己):

????????      cdh1節點上執行:ssh cdh1ssh cdh2ssh cdh3ssh cdh4ssh cdh5ssh cdh6,ssh cdh7

???????      ?cdh2節點上執行:ssh cdh1ssh cdh2ssh cdh3ssh cdh4ssh cdh5ssh cdh6,ssh cdh7

????????      cdh3節點上執行:ssh cdh1ssh cdh2ssh cdh3ssh cdh4ssh cdh5ssh cdh6,ssh cdh7

????????      cdh4節點上執行:ssh cdh1ssh cdh2ssh cdh3ssh cdh4ssh cdh5ssh cdh6,ssh cdh7

????????      cdh5節點上執行:ssh cdh1ssh cdh2ssh cdh3ssh cdh4ssh cdh5ssh cdh6,ssh cdh7

????????      cdh6節點上執行:ssh cdh1ssh cdh2ssh cdh3ssh cdh4ssh cdh5ssh cdh6,ssh cdh7

???????      ?cdh7節點上執行:ssh cdh1ssh cdh2ssh cdh3ssh cdh4ssh cdh5ssh cdh6,ssh cdh7

?  6>?cdh1節點上配置hadoop2.8

    (1)?配置hadoop環境變量

?      

      source /etc/profile ?保存生效

    (2)?修改位于hadoop/etc/hadoop下的配置文件(hadoop-env.shcore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xmlslaves)

?      修改hadoop-env.sh

?        

      修改core-site.xml

        

?

      修改hdfs-site.xml

        

<configuration><!--指定hdfs的nameservice為ns1,需要和core-site.xml中的保持一致 --><property><name>dfs.nameservices</name><value>ns1</value></property><!-- ns1下面有兩個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>cdh1:9000</value></property><!-- nn1的http通信地址 --><property><name>dfs.namenode.http-address.ns1.nn1</name><value>cdh1:50070</value></property><!-- nn2的RPC通信地址 --><property><name>dfs.namenode.rpc-address.ns1.nn2</name><value>cdh2:9000</value></property><!-- nn2的http通信地址 --><property><name>dfs.namenode.http-address.ns1.nn2</name><value>cdh2:50070</value></property><!-- 指定NameNode的元數據在JournalNode上的存放位置 --><property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://cdh4:8485;cdh5:8485;cdh6:8485/ns1</value></property><!-- 指定JournalNode在本地磁盤存放數據的位置 --><property><name>dfs.journalnode.edits.dir</name><value>/cloud/hadoop/journal</value></property><!-- 開啟NameNode失敗自動切換 --><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property><!-- 配置失敗自動切換實現方式 --><property><name>dfs.client.failover.proxy.provider.ns1</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property><!-- 配置隔離機制 --><property><name>dfs.ha.fencing.methods</name><value>sshfence</value></property><!-- 使用隔離機制時需要ssh免登陸 --><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/root/.ssh/id_rsa</value></property> </configuration>

?

      修改mapred-site.xml

        

?

      修改yarn-site.xml

        

      修改slaves:(datanode節點設置,cdh7是我預留的機器,裝ozzie或者pig的暫時不放入datanode節點中)【如果需要把其他機器作為datanode節點。只需要在這配置,然后同步到其他機器上,然后namenode重新格式化即可

        cdh4

        cdh5

        cdh6

注意:core-site.xml中指定了hadoop數據存放的本地磁盤路徑是/hadoop/data,而這個/hadoop/data文件夾是不存在需要創建;
? ? ? ? ?hdfs-site.xml中指定了JournalNode在本地磁盤存放數據的位置是/hadoop/journal,而/hadoop/下的journal文件夾是不存在的需要創建。
?? ?此上6個配置文件都是hdp1節點上的,修改完成后將配置好的環境變量/etc/profile文件、/cloud/jdk文件夾和/cloud/hadoop文件夾復制到其他節點:
?? ??? ?
? ? ? ? ? ? ??hdp1節點上執行: scp -r /hadoop/ cdh2:/

    在hdp1節點上執行: scp -r /hadoop/ cdh3:/

    在hdp1節點上執行: scp -r /hadoop/ cdh4:/

    在hdp1節點上執行: scp -r /hadoop/ cdh5:/

    在hdp1節點上執行: scp -r /hadoop/ cdh6:/

  在hdp1節點上執行: scp -r /hadoop/ cdh7:/
???  將環境變量/etc/profile文件復制到其他節點(在其他節點上要執行source /etc/profile使其修改立即生效)
?? ??? ??? scp /etc/profile cdh2:/etc/

    scp /etc/profile cdh3:/etc/

    scp /etc/profile cdh4:/etc/

    scp /etc/profile cdh5:/etc/

    scp /etc/profile cdh6:/etc/

    scp /etc/profile cdh7:/etc/

7>?cdh4,cdh5,cdh6配置zk集群

?  cd /hadoop/目錄下

????????  解壓zookeeper-3.4.13.tar.gztar -zxvf zookeeper-3.4.13.tar.gz(當前目錄下多了一個zookeeper-3.4.13文件夾)

??????  ??重命名zookeeper-3.4.13mv zookeeper-3.4.13 zookeeper

????????  cd/hadoop/zookeeper/conf/目錄下:cp zoo_sample.cfg zoo.cfg

????????    vi zoo.cfg

????????????    修改:dataDir=/hadoop/zookeeper/data

????????????在最后面添加:

???????????  ?server.1=cdh4:2888:3888

???????????  ?server.2=cdh5:2888:3888

????????????  server.3=cdh6:2888:3888

????????/hadoop/zookeeper/創建data文件夾,進入/hadoop/zookeeper/data下創建myid文件,內容為1

????????/hadoop/zookeeper文件夾復制到cdh5cdh6下:

????????????cdh4節點上執行:scp -r /hadoop/zookeeper cdh5:/hadoop/

????????????cdh4節點上執行:scp -r /hadoop/zookeeper cdh6:/hadoop/

????????????

????????????cdh5節點上修改/hadoop/zookeeper/data/myid2

????????????cdh6節點上修改/hadoop/zookeeper/data/myid3 ?

?  啟動zk集群:

    啟動cdh4cdh5cdh6節點上的zk

???    ?分別在每個節點上執行:

??????    ??cd /hadoop/zookeeper/bin目錄下

??????    ??啟動zk./zkServer.sh start

???????    ?查看狀態:

???????????    ?zkServer.sh statusleaderfollower

???????????    ?jps后多出來個quorumpeerMain

8>?8cdh1節點上啟動journalnode(會啟動所有journalnode

????cd /hadoop/hadoop-2.8.0/sbin目錄下

啟動journalnodehadoop-daemons.sh start journalnode(cdh4cdh5cdh6節點上運行jps命令檢驗,多了JournalNode進程)

?    

?

9>?hdp1節點上格式化HDFS
?? ?格式化HDFShadoop namenode -format
?? ?將格式化后生成的hadoop的數據文件都在hdp1節點上,需要將hdp1節點上的數據同步到hdp2節點上,因為hdp1節點和hdp2節點是ha,這里我直接復制:

scp -r /hadoop/data hdp2:/hadoop

10>?cdh1節點上格式化ZK

???格式化ZKhdfs zkfc -formatZK

11>?cdh1節點上啟動HDFS

?????cd /cloud/hadoop/sbin目錄下

??啟動HDFSstart-dfs.sh

12>?cdh3節點上啟動YARN
?? ?cd /hadoop/hadoop2.8.0/sbin目錄下
?? ?啟動YARNstart-yarn.sh

13>?驗證namenode


?? ?驗證cdh1節點上的NameNodejps或者http://cdh1:50070
?? ?驗證cdh2節點上的NameNodejps或者http://cdh2:50070
?? ?驗證cdh3節點上的YARNjps或者http://cdh3:8088/

? 

    

    

?

 

?


?

到這,hadoop的高可用集群已經搭建好了,有興趣的可以仔細看看搭建過程


?

補充:各節點的啟動進程? (jps看)

   

?

 

  

轉載于:https://www.cnblogs.com/huhongy/p/10942121.html

總結

以上是生活随笔為你收集整理的hadoop2.8 ha 集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。