hadoop集羣的配置筆記

        以前在單機環境下搭好過Hadoop開發環境,這幾天試着搭建了一個集羣環境。使用設備是我們學校機房的兩臺電腦,master 作爲Namenode節點,另外一個(slave1)作爲Datanode,之後又搭建了六臺,步驟基本差不多,這裏把搭建兩臺的步驟貼上,防止以後有需要。
    IP地址分配爲:
     master:192.168.0.100,Ubuntu 11.10,運行Namenode,SecondaryNamenode,JobTracker
     slave1:192.168.0.101,Ubuntu 11.10,運行Datanode,TaskTracker
    1.使用ping命令看看兩臺機器是否能ping通,例如在master上輸入以下命令:
                  ping 192.168.0.101
    
    2.其次是配置java環境,這個略去(見單機配置)~~~~
    3.把master上已有的hadoop壓縮文件拷貝slave1的相同目錄下,注意一定是相同目錄,而且登錄這2臺機器

的用戶名必須相同,我試驗用的是用戶名爲cloud,hadoop的壓縮文件放在/home/cloud/下。
                      拷貝可以使用  $scp /home/cloud/hadoop0.20.2.tar.gz slave1:/home/cloud/
    4.將hadoop壓縮文件解壓
                  $tar xzf hadoop0.20.2

    5.修改三臺機器的/etc/hosts,
                   # vi /etc/hosts   或者 #sudo gedit /etc/hosts
                     192.168.0.100    master
                      192.168.0.101    slave1
     6.修改hadoop安裝目錄下的master文件的內容爲master(namenode的主機名),slaves文件的內容爲

slave1(datanode的主機名,如果有多臺datanode則都將其主機名加入)                
    7.設置namenode以ssh免密碼方式連接datanode
        a)先在namenode上設置ssh免密碼登錄:

            $ ssh-keygen -t dsa -P '' -f /home/cloud/.ssh/id_dsa
    此時可以在  /home/cloud/.ssh中看到生成的私鑰和公鑰(.ssh文件是隱藏的,使用ctrl+h組合鍵就

可以查看哦)
    b)再使用以下命令生成authorized_keys,主要是爲了將它發給各個datanode,從而namenode訪問

datanode時就不再需要密碼了
    $ cat id_rsa.pub >> authorized_keys
然後,再把master的/home/.ssh/authorized_keys文件拷貝到slave1的/home/.ssh/下。
 
 
    8.所有節點上修改配置文件,可以砸master上面修改,然後在copy到各個datanode上
        a)修改conf/hadoop-env.sh,添加java_home的路徑,這個可以根據各個節點自行配置
            export JAVA_HOME=/usr/lib/.........
        b)修改conf/core-site.xml,加入
            <property>
                 <name>fs.default.name</name>
                 <value>hdfs://master:9000</value>
            </property>
            <property>
                 <name>hadoop.tmp.dir</name>
                 <value>這裏寫想存放HDFS文件系統的位置</value>
            </property>
        c)修改conf/mapred-site.xml,加入
            <property>
                 <name>mapred.job.tracker</name>
                 <value>master:9001</value>
            </property>
            <property>
                 <name>mapred.local.dir</name>
                 <value>這裏寫想存放臨時文件的位置</value>
            </property>
        d)修改conf/hdfs-site.xml,加入
              <property>
                 <name>dfs.replication</name>
                 <value>1</value>      
            </property>
         記住複製到各個datanode上哦
     例如:$scp /home/cloud/hadoop0.20.2/conf/core-site.xml

cloud@slave1:/home/cloud/hadoop0.20.2/conf/core-site.xml
     9.配置完成,在master上格式化Namenode,
                     
                          $ bin/hadoop namenode -format
   
     10.然後通過$bin/hadoop start-all.sh啓動hadoop的守護進程,運行各個節點。
    11.可以在namenode和datanode上分別使用$jps命令查看各自運行的任務
    12.最後可以使用$bin/hadoop stop-all.sh停止各個節點

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