(轉)HBase入門筆記-- 完全分佈模式Hadoop集羣安裝配置

Hadoop的部署環境是經過虛擬化之後的四臺主機,OS是Ubuntu Server10.04。(XenServer5.6兼容的OS並不包括Ubuntu,將Ubuntu轉成PV也是一個折騰的過程,另文介紹)。Hadoop的版本號依舊是:0.20.2.安裝Java環境如上一講所示。

           主機名及其IP地址對應如下:

          Slave&TaskTracker:dm1,IP:192.168.0.17;(datanode)

           Slave&TaskTracker:dm2,IP:192.168.0.18;(datanode)

           Slave&TaskTracker:dm3,IP:192.168.0.9;(datanode)

           Master&JobTracker:dm4,IP:192.168.0.10;(namenode)

        Master是Hadoop集羣的管理節點,重要的配置工作都在它上面,至於它的功能和作用請參考HadoopAPI

    具體配置步驟如下:

   .修改各個節點(dm1-dm4)的HostName,命令如下:

Vi /etc/hostname

 如下圖所示例:

   .在host中添加機器的hostname和IP,用以通訊。Master需要知道所有的slave的信息。對應的slave只需要知道Master和自身的信息即可。

  命令如下:

 vi /etc/hosts

Master(dm4)的hosts配置應該如下圖所示:

 其它的slave(dm3……)的hosts配置應該如下圖所示:

     .Hadoop核心代碼需要配置conf文件夾裏面的core-site.xml,hdfs-site.xml,mapread-site.xml,mapred-site.xml,hadoop-env.sh這幾個文件。具體各個配置的含義請參考Hadoop幫助文檔

    1.首先編輯各個機器節點(包括master和slave)的core-site.xml文件,命令如下:(Hadoop 文件夾放在home下)

vi /home/hadoop/conf/core-site.xml

core-site.xml文件配置,應如下面代碼所示:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
    <name>fs.default.name</name>
    <value>hdfs://dm4:9000</value>
 </property>
</configuration>

    2.其次編輯各個機器節點(包括master和slave)的hdfs-site.xml,命令如下:

vi /home/hadoop/conf/hdfs-site.xml

     hdfs-site.xml文件配置,應如下面代碼所示:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
 <property>
 <name>dfs.name.dir</name>
 <value>/home/hadoop/NameData</value>
 </property>
 <property>
 <name>dfs.permissions</name>
 <value>false</value>
 </property>

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

   3.再次,編輯各個機器節點(包括master和slave)mapred-site.xml文件, 命令如下:

vi /home/hadoop/conf/mapred-site.xml

  mapred-site.xml 文件配置,應如下面代碼所示:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.0.10:9001</value>
</property>
</configuration>

      4.最後,編輯各個機器節點(包括master和slave) hadoop-env.sh文件,命令如下:

vi  /home/hadoop/conf/hadoop-env.sh

   向該文件加入幾行代碼,如下所示:

 

export HADOOP_HOME=/home/hadoop
export   HADOOP_CONF_DIR=$HADOOP_HOME/conf 
export PATH=$PATH:$HADOOP_HOME/bin 

   .配置集羣的主從關係。在所有機器節點上,Hadoop的conf文件夾中,都有slaves和masters兩個文件。往masters中添加Master(dm4)的IP地址或者hostname。往slaves文件中添加Slave(dm1-dm3)的IP或hostname。所有節點都需要修改。

 

   Masters如下圖所示:

    slaves如下圖所示:

  行文至此,Hadoop 整體安裝和配置 已經完成。Hadoop集羣的啓動從Master(Namenode)機器開始,它和slave(DataNode)之間通訊使用ssh,我們接下來需要設置ssh無密碼公鑰認證登入。

     .SSH非對稱密鑰的原理請參見此文彼文 。首先要在 所有節點 生成密鑰對,具體實現步驟如下:

    1. 所有節點 生成RSA密鑰對,命令如下:

 ssh-keygen -t rsa

   出現如下圖所示:

直接回車,密鑰對存放爲/root/.ssh/id_rsa。在該文的演示中生成/root/viki.pub然後會要求你輸入密碼,選擇空

最後生成如下圖:

       2.將Master(Namenode) 生成的公鑰viki.pub的內容複製到本機的 /root/.ssh/ 的authorized_keys 文件 裏。命令如下:

cp viki.pub authorized_keys

     然後,將authorized_keys 文件複製到各個slave(DataNode) 機器的  /root/.ssh/ 文件夾,命令如下:

scp  /root/.ssh/authorized_keys dm3:/root/.ssh/

     最後,在所有機器 執行用戶權限命令chmod,命令如下:

 

chmod 644 authorized_keys 

    經過以上步驟,ssh配置也已完成。通過以下命令驗證:

 

ssh dm3
exit
ssh dm2
exit
ssh dm1
exit

 第一次連接需要密碼,輸入yes和機器密碼就可以。以後即不用再輸入。

 

  .啓動並驗證Hadoop集羣,如同上講所述。輸入:http://192.168.0.10:50030/jobtracker.jsp

 在下所搭建的Hadoop集羣截圖:

 

七.參考文獻 

 

  1.Hadoop 快速入門  http://hadoop.apache.org/common/docs/r0.18.2/cn/quickstart.html

  2.通用線程 : OpenSSH 密鑰管理

 

     http://www.ibm.com/developerworks/cn/linux/security/openssh/part1/index.html

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