1. 程式人生 > >Hadoop叢集搭建(三臺電腦)

Hadoop叢集搭建(三臺電腦)

電腦的作業系統是Ubuntu12.04 32位,ubuntu-12.04.4-desktop-i386.iso。

叢集介紹:

        三臺電腦的使用者名稱都為hadoop

       主機名:master    10.10.6.176

       服務機:slaver1     10.10.6.242;slaver2    10.10.6.131

一、配置

       以下是三臺機器都要安裝和相同配置

       在/etc/hostname下修改自己的機器名

       在/etc/hosts下將所有機器名和對應的IP新增

二、安裝JDK

        三臺機器都需要,我用的是jdk-7u71-linux-i586.tar.gz。

        2.1在usr/local目錄下新建java目錄,將解壓後的jdk1.7.0_71放到java目錄下

        2.2在/etc/profile裡最後新增JAVA環境(sudo gedit /etc/profile)

              # for java

         export JAVA_HOME=/usr/local/java/jdk1.7.0_71

         export JRE_HOME=${JAVA_HOME}/jre

        export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

        export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH

2.3儲存設定生效 ($ source /etc/profile

        2.4測試($ java -version

三、安裝SSH並實現無密碼訪問

       3.1 安裝SSH(sudo apt-get install ssh),包括openssh-server和openssh-client。

             安裝過程一直預設就可以。三臺機器都需要安裝。

       3.2建立ssh無密碼登入,採用rsa方式生成(ssh-keygen -t rsa)

              一直預設回車就可以,安裝完cd .ssh 可以發現 id_rsa(金鑰)和id_rsa.pub(公鑰)兩個檔案。

     3.3無密碼訪問master本機

         將id_rsa.pub新增到authorized_keys(存放所有公鑰)(cp id_rsa.pub  authorized_keys),   這時就可以無密碼訪問localhost (ssh localhost)。

     3.4無密碼訪問slaver1和slaver2

           將master_key 追加到slaver1和slaver2的authorized_keys檔案裡 cat master_key  >> authorized_keys(可以通過cat authorized_keys檢視是否新增成功) 

四、安裝Hadoop(三臺相同) 

     我用的是hadoop-1.2.1.tar.gz

     4.1 將檔案解壓要目錄

           sudo tar -zxf *.tag.gz,得到hadoop-1.2.1

     4.2 修改conf/hadoop-env.sh

          JAVA_HOME=/usr/local/java/jdk1.7.0_71(對應自己的jdk)

     4.3 修改conf目錄下的配置檔案masters,slaves,core-site.xml,mapred-site.xml,hdfs-site.xml

                masters檔案       master               

                slaves檔案         slaver1

                                          slaver2 

                修改core-site.xml檔案                        

                                     <configuration>   

                                            <property>    

                <name>fs.default.name</name>    

                                                <value>hdfs://master:9000</value>    

                                         </property>    

                               </configuration> 

                修改mapred-site.xml檔案             

                                  <configuration>   

                                          <property>   

                                                    <name>mapred.job.tracker</name>   

                                                    <value>master:9001</value>   

                                       </property>   

</configuration>

                修改hdfs-site.xml檔案               

                                  <configuration>   

                                            <property>   

                                                    <name>dfs.replication</name>   

                                                    <value>3</value>   

                                       </property>   

                                 </configuration>  

      4.4測試

               格式化HDFS以做好資料儲存   bin/hadoop namenode -format

               啟動   bin/start-all.sh

               在master下[[email protected]]$ jps後有4的程序 Jps、NameNode、JobTracker、SecondaryNameNode

               在slaves下[[email protected]]$ jps 後有3個程序 Jps、DataNode、TaskTracker

               停止  bin/stop-all.sh