Hadoop分佈式集羣搭建詳細過程

1. 首先用五臺機器搭建分佈式,一個爲master,剩下四個分別爲slave01、slave02、slave03, slave04。

2. 修改機器名

    五臺機器分別都執行sudo vim /etc/hostname命令,將文件中的內容分別改爲master、slave01、slave02、slave03, slave04。

3. 重啓機器,發現機器名修改成功。

4. 修改master的hosts文件,並拷貝到每臺slave上。

    (1)修改hosts文件

              sudo vim /etc/hosts

5. 將hosts文件拷貝到另外兩臺臺機器上,覆蓋原來的hosts文件。

    master:

           scp /etc/hosts hadoop@slave01的IP:~

           scp /etc/hosts hadoop@slave02的IP:~

           scp /etc/hosts hadoop@slave03的IP:~

           scp /etc/hosts hadoop@slave04的IP:~

     slaver:

           sudo mv hosts /etc/hosts

6.  配置master免密登錄

     master:

            ssh-keygen -t rsa

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

            scp .ssh/id_rsa.pub hadoop@slave01的IP:~/

            scp .ssh/id_rsa.pub hadoop@slave02的IP:~/

            scp .ssh/id_rsa.pub hadoop@slave03的IP:~/

            scp .ssh/id_rsa.pub hadoop@slave04的IP:~/

      slave:

            cat id_rsa.pub >> .ssh/authorized_keys

7. 將hadoop-2.7.6文件從本地拖拽到虛擬機桌面,然後移動到/opt,然後進行解壓。

    sudo mv hadoop-2.7.6.tar.gz /opt

    cd /opt

    sudo tar -zxvf hadoop-2.7.6.tar.gz

8. 編輯配置文件

    (1)編輯hadoop-env.sh文件

             sudo vim hadoop-env.sh

            改爲:

  (2)編輯core-site.xml文件

           sudo vim core-site.xml

  (3)編輯mapred-site.xml文件  

           首先應通過複製mapred-site.xml.template得到mapred-site.xml文件,然後再進行編輯。

            cp mapred-site.xml.template mapred-site.xml

            sudo vim mapred-site.xml

  (4)編輯hdfs-site.xml文件

           sudo vim hdfs-site.xml

  (5)編輯masters文件

           sudo vim masters

           添加masters的IP地址到該文件

  (6)編輯slaves文件

           sudo vim slaves

           添加slave01、slave02、slave03、slave04的IP地址到該文件,並且刪除localhost

9. 將配置文件拷貝到到各臺slave

    master:

           scp hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml masters slaves hadoop@slave的IP地址:~

    slave:

            sudo mv *.xml /opt/hadoop-2.7.6/etc/hadoop

            sudo mv hadoop-env.sh masters slaves /opt/hadoop-2.7.6/etc/hadoop

10. 設置環境變量

      master:

            master上配置環境變量,然後將文件發給各臺slave

            sudo vim /etc/profile

            source /etc/profile

            scp /etc/profile hadoop@slave的ip地址:~

       slave:

            sudo mv profile /etc/profile

            source /etc/profile

11. 更改hadoop-2.7.6的所屬人和所屬組(root用戶)

      chown hadoop:hadoop -R hadoop-2.7.6/

      chmod 775  -R hadoop-2.7.6/

12. master格式化namenode

      ./hdfs namenode -format

       注:只格式化一次,若格式化多次可能導致VERSION不一致,啓動namenode和datanode時報錯。

              解決方法:

              ① 見https://blog.csdn.net/czw698/article/details/50507265

              ② 刪除存name和data的目錄,再重新格式化

13. 運行hadoop

       ./start-all.sh

14. 查看進程

      jps

      master進程:

      slave進程:

15. 停止hadoop

       ./stop-all.sh

           這裏報錯是因爲防火牆問題,自己配置可能會出問題,可以選擇關閉防火牆。

總結:搭建集羣時,所有機器要擁有共同的用戶,從而避免權限不夠的錯誤;並且配置以及版本都應相同,否則可能會出現錯誤,尤其是在ssh免密登錄時可能出現的錯誤最多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章