基於Ubuntu16搭建Hadoop大數據徹底分佈式環境

【目的】:學習大數據bash

 在此記錄搭建大數據的過程。網絡

 【系統環境】ssh

            宿主機操做系統:Win7 64位編輯器

            虛擬機軟件:Vmware workstation 12分佈式

            虛擬機:Ubuntu 16 64位桌面版oop

  【步驟概要】學習

   1、準備測試

          一、準備安裝軟件大數據

           二、規劃好虛擬機數量、機器名稱、IP ui

           三、設置虛擬機靜態IP

           四、創建專用於hadoop的帳號

   2、設置免密登陸

          實現這幾臺測試機之間能夠免密碼登陸

   3、安裝和配置Java環境

   4、安裝和配置Hadoop

   5、測試和收尾

 

  【搭建過程】

         1、準備

                一、安裝文件準備

                       Hadoop軟件:

                      JDK:

                       Ubuntu 16的安裝軟件

                 二、虛擬機準備

                       測試計劃使用三臺虛擬機

                       在Win7裏啓動Vmware workstation,安裝一臺操做系統爲Ubuntu 16的空的虛擬機,從這臺虛擬機另外再克隆出來兩臺

                 三、機器名稱:hadoop.master、hadoop.slave一、hadoop.slave2

                       經過修改/etc/hostname來設置虛擬機的主機名稱

                        #vi /etc/hostname

 

 

                 四、查看和肯定網關,我這測試環境的網關是:192.168.152.2

                       查看方式:

                       1)、點擊Vmware workstation左上角的「編輯」

                       2)、選擇「虛擬網絡編輯器」

 

                        3)、選擇NAT模式

 

                  

                       4)、上圖中「使用本地DHCP服務將IP地址分配給虛擬機」,不少網上文檔都是把此項前面的「√"去掉,若是全部的虛擬機都設置爲靜態IP,能夠去掉,由於我還有別的虛擬機,不在乎是否靜態IP,因此,此項「√」保留。

                        5)、「NAT設置」按鈕,可看到網關設置,我虛擬機的網關爲:192.168.152.2

                       

                        這是系統默認的,在此無需變動。

                 五、規劃三臺虛擬機的IP:192.168.152.2一、192,168.152.2二、192.168.152.23

                       IP地址選擇,前面三節都是:192.168.152,後面是除了網關裏佔用了2,其它1~255之間的數便可。若是已經設定了其它靜態IP,不和那些衝突便可。

                 六、修改/etc/hosts,修改hosts文件目的是爲了這三臺虛擬機能夠經過機器名稱互相訪問

                       

 

                       上圖是第一臺hadoop.master的,另兩臺,修改127.0.0.1  hadoop.XXXXX 修改成相應的機器名稱

                 七、爲虛擬機設置靜態IP

                        只因此設置爲靜態IP,是由於虛擬機啓動後,有時會自動變動IP,而在搭建的大數據環境裏,會配置IP地址,動態變化後,會出現IP地址不匹配。

                        #sudo vi /etc/network/interfaces

                       

                        個人文件打開後,裏面有以下內容:

                        auto lo

                        iface lo inet loopback

                          

                        這些內容不變,增長下面內容 

                     auto ens33

                        iface ens33 inet static
                        address 192.168.152.21
                        netmask 255.255.255.0
                        gateway 192.168.152.2
                        dns-nameservers 202.96.209.5

                   

                        保存後退出,重啓電腦,使用ifconfig檢查新設置的IP地址是否已經生效。

                        使用Ping命令檢查是否能ping通

                        1)、內網是否能ping通其它機器,好比,在hadoop.master裏ping 192.168.152.22

                        2)、 Ping外網,好比:ping www.baidu.com

                        測試以下:

                   

                        說明:

                               一、若是編輯/etc/network/interfaces,裏面沒有配置dns,則能夠ping通內網的其它機器,沒法ping通外網的機器

                                二、注意軟件版本,若是虛擬機不是Ubuntu16,而是Ubuntu14或Ubuntu18,那麼配置靜態IP,可能須要編輯不一樣的文件,就不是/etc/network/interfaces了

                                      若是虛擬機是CentOS ,更不是/etc/network/interfaces,但道理是通的,搭建Hadoop徹底分佈式大數據環境,利用虛擬機來實現,須要配置靜態IP,避免機                                    器重啓後配置失效。

                                 三、若是設定有問題,則查找緣由,解決後再日後繼續。

                 八、增長user,這個用戶專用於操做hadoop

                        1)、切換到root帳號

                         

                        2)、這裏用戶名設爲:hadoop

                        #useradd hadoop

                        3)、爲增長的帳號設置口令

                        #passwd hadoop

                        4)、去home文件夾下檢查

                          #cd /home

                          #ll

                           在home文件夾下發現沒有新增hadoop文件夾

                 

                          5)、刪除已創建的user hadoop,換種方式從新創建

                            a.刪除原hadoop帳號

                            #userdel hadoop

                            b.查看,在home文件夾下沒有hadoop的帳號信息

                            #ll

                            c.按下述命令增長hadoop帳號,使用參數

                            #useradd -r -m -s /bin/bash hadoop

                            d.再查看home文件夾,正常狀況下,在home文件夾下會出現hadoop文件夾

                            

                           6)、參照步驟5)在另外兩臺機器上創建hadoop帳號,並設置hadoop的口令,這三臺機器的口令要一致。

                                 #useradd -r -m -s /bin/bash hadoop

                                 #passwd hadoop

                 九、把新增的這個用戶設爲管理員,編輯/etc/sudoers

                         

                         注意:Tab鍵的使用

                 

         2、設置免密登陸

                一、#cd ~/.ssh

                      提示無此目錄

                  二、安裝,sudo apt-get install openssh-server

                  

                      按提示輸入y,回車

                     三、安裝好之後,輸入cd ~/.ssh,仍然提示沒有這個文件夾

                     四、執行ssh localhost

                          執行ssh localhost命令後,就會創建一個~/.ssh的隱藏的文件夾

                     五、輸入exit 退出

                       

                     六、進入~/.ssh

                          #cd ~/.ssh

                      七、若是先前有公鑰,則先刪除

                          #rm ./id_rsa*

                       八、生成公鑰

                          #ssh-keygen -t rsa

                          一路按回車便可

                         

                      九、讓主節點可以免密登陸到主節點

                         1)、把公鑰添加到key中

                             # cat ./id_rsa.pub >> ./authorized_keys

                          2)、第一次使用ssh登陸主節點本機

                              #ssh hadoop.master

                          3)、輸入exit退出

                                #exit

                          4)、第二次使用ssh登陸主節點本機

                                #ssh hadoop.master

                          5)、輸入exit退出

                              #exit

                      十、把主節點的公鑰傳到從節點,也就是另外兩臺機器行,實現從主節點免密登陸到從節點

                              1)、分別到兩臺從節點機器上hadoop.slave1和hadoopslave2上,切換到hadoop帳號,檢查有無~/.ssh文件夾

                                 #su hadoop

                                  #cd ~/.ssh

                                  若是沒有,則創建

                                  #mkdir ~/.ssh

                                  檢查

                                   #cd ~/.ssh

                              2)、切換到hadoop帳號下

                                    #su hadoop

                              3)、進入~/.ssh

                                     #cd ~/.ssh

                              4)、查看

                                      #ll

                              5)、拷貝傳輸

                                      #scp id_rsa.pub >> hadoop@hadoop.slave1:/home/hadoop/

                                      #scp  id_rsa.pub >> hadoop@hadoop.slave2:/home/hadoop/

                                 

                               6)、從上圖看,公鑰傳輸被拒絕掉了,解決辦法:

                                      分別在hadoop.slave1和hadoop.slave2上執行下面語句:

                                       #sudo apt-get install openssh-server

                               7)、回到主節點,從新拷貝傳輸公鑰

                                     #su hadoop

                                     #cd /home/hadoop

                                     #cd .ssh

                                      #scp  id_rsa.pub >> hadoop@hadoop.slave1:/home/hadoop/

                                      #scp  id_rsa.pub >> hadoop@hadoop.slave2:/home/hadoop/

                         

                                  8)、再分別到兩臺從節點,把id_rsa.pub加到authorized_Keys裏

                                        #su hadoop

                                        #cd /home/hadoop         

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

                                    9)、從主節點,以hadoop登陸,檢查是否能免密登陸hadoop.slave1和hadoop.slave2

                                      

                               

         3、安裝和配置Java環境

         4、安裝和配置Hadoop

相關文章
相關標籤/搜索