Hadoop分布式環(huán)境搭建

這篇文章闡述下Hadoop分布式環(huán)境的搭建,Hadoop版本采用hadoop-2.6.0-cdh5.7.0,手頭有三臺(tái)機(jī)器,即hadoop000/hadoop001/hadoop002,我會(huì)把其中一臺(tái)機(jī)器節(jié)點(diǎn)分配NameNode和ResourceManager角色,同時(shí)這臺(tái)機(jī)器也作為一個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)分配DataNode和NodeManager角色,另外兩臺(tái)機(jī)器僅作為數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)分配DataNode和NodeManager角色。

  • hadoop000:NameNode/DataNode ResourceManager/NodeManager
  • hadoop001:DataNode NodeManager
  • hadoop002:DataNode NodeManager
準(zhǔn)備工作
  1. hostname設(shè)置
    在三臺(tái)機(jī)器上分別使用sudo vi /etc/sysconfig/network命令修改hostname,比如對(duì)第一臺(tái)機(jī)器做如下設(shè)置,另外兩臺(tái)同理:
    NETWORKING=yes
    HOSTNAME=hadoop000
  2. 配置hostname和ip地址的映射關(guān)系,使用sudo vi /etc/hosts對(duì)三臺(tái)機(jī)器做如下配置:
    192.168.199.102 hadoop000
    192.168.199.247 hadoop001
    192.168.199.138 hadoop002
前置安裝
  1. ssh免密碼登錄
    在每臺(tái)機(jī)器上執(zhí)行:ssh-keygen -t rsa
    以hadoop000機(jī)器為主
    ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop000
    ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop001
    ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop002
  2. jdk安裝
    在hadoop000機(jī)器上解壓jdk安裝包,并設(shè)置JAVA_HOME到系統(tǒng)環(huán)境變量
    tar -zxvf jdk-8u131-linux-x64.tar.gz -C ~/app/
    設(shè)置環(huán)境變量
    vi ~/.bash_profile
    export JAVA_HOME=/home/hadoop/app/jdk1.8.0_131
    export PATH=$JAVA_HOME/bin:$PATH
    source ~/.bash_profile使之生效
集群安裝
  1. Hadoop安裝

    • 在hadoop000機(jī)器上解壓Hadoop安裝包,并設(shè)置HADOOP_HOME到系統(tǒng)環(huán)境變量
      hadoop-env.sh
      export JAVA_HOME=/home/hadoop/app/jdk1.7.0_79

    • core-site.xml
      <property>
      <name>fs.default.name</name>
      <value>hdfs://hadoop000:8020</value>
      </property>

    • hdfs-site.xml
      <property>
      <name>dfs.namenode.name.dir</name>
      <value>/home/hadoop/app/tmp/dfs/name</value>
      </property>

      <property>
      <name>dfs.datanode.data.dir</name>
      <value>/home/hadoop/app/tmp/dfs/data</value>
      </property>

    • yarn-site.xml
      <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
      </property>

      <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>hadoop000</value>
      </property>

    • mapred-site.xml
      <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
      </property>

    • slaves
      hadoop000
      hadoop001
      hadoop002

  2. 分發(fā)安裝包和配置文件到hadoop001和hadoop002節(jié)點(diǎn)
    scp -r ~/app hadoop@hadoop001:~/
    scp -r ~/app hadoop@hadoop002:~/
    scp ~/.bash_profile hadoop@hadoop001:~/
    scp ~/.bash_profile hadoop@hadoop002:~/
    在hadoop001和hadoop002機(jī)器上讓.bash_profile生效

  3. 對(duì)NameNode做格式化:只要在hadoop000上執(zhí)行即可
    bin/hdfs namenode -format

  4. 啟動(dòng)集群:只要在hadoop000上執(zhí)行即可
    sbin/start-all.sh

  5. 驗(yàn)證
    jps查看進(jìn)程:

    • hadoop000:
      SecondaryNameNode
      DataNode
      NodeManager
      NameNode
      ResourceManager
    • hadoop001:
      NodeManager
      DataNode
    • hadoop002:
      NodeManager
      DataNode

    webui訪問: hadoop000:50070(hdfs) hadoop000:8088(yarn)

  6. 集群停止: stop-all.sh

將Hadoop項(xiàng)目運(yùn)行到集群中

1)上傳數(shù)據(jù)到hadoop000機(jī)器的data目錄下
2)上傳開發(fā)的jar到hadoop000機(jī)器的lib目錄下
3)需要將數(shù)據(jù)上傳到hdfs
4)在分布式集群上運(yùn)行我們開發(fā)的程序
比如我這里運(yùn)行官方給的計(jì)算Pi的案例:
hadoop jar /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 目的將hadoop 2.7.1 安裝到 166、167、168 三臺(tái)機(jī)器上2 提供環(huán)境練習(xí)環(huán)境192.168....
    灼灼2015閱讀 3,653評(píng)論 4 40
  • 說明:本文所有操作均在 64位 ubuntu 16.04 操作系統(tǒng)下進(jìn)行 準(zhǔn)備 通過物理機(jī)器虛擬化 4 臺(tái)虛擬機(jī):...
    kviccn閱讀 2,882評(píng)論 4 5
  • 看到題目有沒有一種高大上的感覺?毛線,當(dāng)前是個(gè)人、是個(gè)公司都在說自己搞大數(shù)據(jù),每天沒有幾個(gè)PB的數(shù)據(jù)入庫,每天沒有...
    丁小晶的晶小丁閱讀 4,659評(píng)論 0 50
  • 期中考試結(jié)束了,又到了試卷分析的時(shí)候,校長因?yàn)槿デ鄭u培訓(xùn),因此剩了這么一周讓老師們準(zhǔn)備準(zhǔn)備??墒牵瑴?zhǔn)備什么呢? 桌...
    你最愛我的那顆牙閱讀 304評(píng)論 0 1
  • 簡書上有一個(gè)作者,叫@飽醉豚 ,是個(gè)很有意思的人。 我很難描述他是怎樣一個(gè)人,只是有種感覺:在蕓蕓眾生里,他以一種...
    麥子程閱讀 1,352評(píng)論 0 14

友情鏈接更多精彩內(nèi)容