hadoop學習筆記之hadoop集羣搭建詳細步驟

本次集羣的搭建是在之前的僞分佈集羣的基礎上實現的,如果沒有搭建好僞分佈集羣,可參看之前的詳細教程:

hadoop學習筆記之hadoop僞分佈集羣搭建(一)

hadoop學習筆記之hadoop僞分佈集羣搭建(二)

hadoop學習筆記之hadoop僞分佈集羣搭建(三)

hadoop學習筆記之hadoop僞分佈集羣搭建(四)

hadoop學習筆記之hadoop僞分佈集羣搭建(五)

如果按照以上的步驟成功搭建了hadoop僞分佈集羣,那麼實現真正的集羣搭建就很簡單了。本次是在虛擬機下搭建了1個NameNode節點和3個DataNode節點的集羣(NameNode節點也作爲一個DataNode節點)。

----------------------------------------------------------------------------------------------------

hadoop集羣搭建

1、克隆之前搭建好的僞分佈集羣系統,創建另外兩個節點作爲DataNode節點work02、work03(或者按照同樣的步驟單獨創建也可以)。

2、配置IP地址

按照之前的配置方式配置即可(注意,要使三臺機器在同一個網段裏)。

將work01機器的IP地址配置爲192.168.26.101

將work02機器的IP地址配置爲192.168.26.102

將work03機器的IP地址配置爲192.168.26.103

3、修改機器名

利用命令sudo vi /etc/sysconfig/network

work02機器修改爲work02


將work03機器修改爲work03


4、配置相應的IP地址映射

使用命令sudo vi /etc/hosts

在work01、work02、work03上均配置如下內容


4、配置ssh免密登錄(關鍵步驟)

(1)首先利用命令ssh-keygen -t rsa 在每臺機器上生成密鑰對(work01已經有了,就不要再生成了),如果是克隆的系統,這時候生成會提示已經存在,直接覆蓋即可

(2)然後利用命令 cat id_rsa.pub >> authorized_keys 將各自對應的密鑰公鑰添加到自己的authorized_keys中(詳細步驟可參看之間的教程)

(3)最後將其他機器的id_rsa.pub也添加到當前的authorized_keys中

完成以上步驟後,每臺機器的authorized_keys的內容大致如下:


配置完成後,可以work01機器上使用命令 ssh work02 遠程登錄work02機器,使用exit退出登錄。如果不需要密碼登錄成功,這說明ssh免密登錄成功

5、修改相關配置文件

(1)hdfs-site.xml文件

將其內容修改爲3,我們之前僞分佈集羣配置的是1。現在我們有三臺DataNode節點,這時候就可以設置副本數爲3了。

<configuration>
  <property>
    <value>dfs.replication</value>
    <name>3</name>
  </property>
</configuration>


(2)slaves文件

在該文件中添加另外兩個DataNode機器名,之前僞分佈只添加了work01(爲防止出錯,每臺機器都修改吧)


(3)其他文件保持和work01的配置相同即可。

6、找到每天機器上配置的hadoop.tmp.dir路徑下的data文件夾,將其刪除。我這裏是/home/hadoop/app/hadoop-2.4.1/data

然後使用命令hadoop namenode -format初始化集羣

---------------------------------------------------------------------------------------------------------------------

至此,hadoop集羣已經配置成功,可以使用命令start-dfs.sh和start-yarn.sh啓動集羣,或者start-all.sh啓動也可以(不推薦)。

啓動完畢,可以通過以下方式查看集羣是否啓動成功

1、查看啓動的進程

在NameNode節點機器上(work01),可以看到如下進程


而DataNode節點機器上(work02、work03),可以看到如下進程



2、通過web服務查看

瀏覽器輸入http://work01:50070

查看DataNode節點個數


還可以查看詳細的DataNode節點信息


===========================================================

可能會出現DataNode啓動不了的問題

原因可能是NameNode和DataNode的clusterID不一致,造成不一致的原因可能是多次使用hadoop namenode -format 。因爲每次初始化的時候,NameNode都會重新生成clusterID,而DataNode卻只是在最初的時候生成,之後便不再更新

解決辦法1:找到NameNode和DataNode的dfs.tmp.dir配置的data路徑,裏面有一個VERSION文件,將DataNode的ClusterID手動修改爲NameNode的VERSION中的ClusterID即可

解決辦法2:如果上面的辦法還是無法啓動DataNode,就直接將每臺機器的 /home/hadoop/app/hadopp-2.4.1/data目錄的data刪除,重新使用命令hadoop namenode -format初始化,然後再次啓動集羣即可。


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