Linux環境Hadoop偽分布模式安裝詳解


偽分布式模式下,Hadoop將所有進程運行於同一台主機上,但此時Hadoop將使用分布式文件系統,而且各jobs也是由JobTracker服務管理的獨立進程。同時,由於偽分布式的Hadoop集群只有一個節點,因此HDFS的塊復制將限制為單個副本,其secondary-master和slave也都將運行於本地主機。此種模式除了並非真正意義的分布式之外,其程序執行邏輯完全類似於完全分布式,因此,常用於開發人員測試程序執行。

hadoop的配置共有四種級別:集群、進程、作業和單獨操作,前兩類由集群管理員負責配置,后面的兩類則屬於程序員的工作范疇。

hadoop的配置文件位於conf目錄中,其中的core-site.xmlmapred-site.xmlhdfs-site.xml三個配置文件最為關鍵。core-site.xml用於配置hadoop集群的特性,它作用於全部進程及客戶端,mapred-site.xml配置mapreduce集群的工作屬性,hdfs-site.xml配置hdfs集群的工作屬性。

另外還有三個配置文件需要留意。hadoop-env.sh是Hadoop的多個腳本執行時source的配置信息,其用於為Hadoop指定運行時使用的JDK、各進程的JDK屬性、PID文件及日志文件的保存目錄等。masters則用於指定輔助名稱節點(SecondaryNameNode)的主機名或主機地址,slaves用於指定各從服務器(TaskTracker或DataNode)的主機名或主機地址。對偽分布式的Hadoop集群來講,這些節點均為本機。

一、JDK安裝與配置

      詳情請見:http://www.cnblogs.com/zhangwenjing/p/3580726.html

二、Hadoop安裝與配置

     1、Hadoop下載與安裝

       地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.3.0/hadoop-2.3.0.tar.gz

     使用wget命令下載:wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.3.0/hadoop-2.3.0.tar.gz

       解壓縮:tar -zxvf hadoop-2.3.0.tar.gz

     重命名:mv hadoop-2.3.0 hadoop

          #vi ect/profile

          HADOOP_PREFIX=/opt/hadoop 

          PATH=$HADOOP_PREFIX/bin:$PATH 

          export HADOOP_PREFIX PATH 

         執行環境配置:source /etc/profile

         驗證:hadoop -version

     2、Hadoop配置

         Hadoop配置在hadoop/etc/hadoop下,作如下修改:

    hadoop-env.sh

         export JAVA_HOME=/usr/local/java/jdk1.7.0_51(JDK安裝目錄)

         修改內存大小:export HADOOP_CLIENT_OPTS="-Xmx512m $HADOOP_CLIENT_OPTS"

     core-site.xml做如下配置:

         <configuration>

      <!--NameNode的IP地址和端口--> 
          <property> 
             <name>fs.defaultFS</name> 
             <value>hdfs://localhost:9000</value> 
          </property> 
          <property> 
              <name>hadoop.tmp.dir</name> 
              <value>/tmp/hadoop/hadoop-${user.name}</value>
          </property> 
        </configuration>

          hdfs-site.xml做如下配置(系統默認文件保存3份,因偽分布模式,故改為1份):

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

      <property>
                    <name>dfs.namenode.name.dir</name>
                    <value>/hadoop/namenode</value>
              </property>
              <property>
                    <name>dfs.datanode.data.dir</name>
                    <value>/hadoop/datanode</value>
              </property>
          </configuration>

      mapred-site.xml做如下配置:

    <configuration> 

            <property> 
                 <name>mapreduce.jobtracker.address</name> 
                 <value>localhost:9001</value> 
            </property> 

         </configuration>

     hadoop2.0有了yarn所以原來的mapred配置都轉向yarn-site.xml文件中了,這里也就指定yarn。

     yarn-site.xml,為方便,未進行配置。

         core-site.xml配置參考:http://hadoop.apache.org/docs/r2.3.0/hadoop-project-dist/hadoop-common/core-default.xml

    hdfs-site.xml配置參考:http://hadoop.apache.org/docs/r2.3.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

    mapred-site.xml配置參考:http://hadoop.apache.org/docs/r2.3.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

         yarn-site.xml配置參考:http://hadoop.apache.org/docs/r2.3.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

         執行hadoop環境配置:source /opt/hadoop/etc/hadoop/hadoop-env.sh 

   由於啟動hadoop需一遍遍輸入密碼,不方便,故設置ssh免密登陸本機

         ssh-keygen -t rsa -P "" 輸入這個命令后一直回車就可以了

         cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

         切換到安裝目錄

         格式化namenode:./bin/hadoop namenode –format

    啟動hadoop:./sbin/start-all.sh設置ssh免密登陸本機

         檢查進程是否啟動:jps

         

          有以上內容說明已經啟動

      hadoop資源管理頁面:http://localhost:8088

    namenode節點信息:http://localhost:50070


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM