虛擬機偽分布式安裝hadoop的配置


1. java -> jdk-7u67-linux-x64.tar.gz
2. hadoop ->  hadoop-2.5.0.tar.gz
3. IP/host -> 192.168.47.100/bigdata.001.com
4. CentOS -> 6.7
  • 設置IP。 

 虛擬機 -> 編輯 -> 虛擬網絡編輯器。

  1.    虛擬機必須NAT模式。在虛擬機設置界面去設置。
  2.   本虛擬機的IP的網段,本虛擬機可以設置本IP網段的任意地址。 192.168.47.XXX(000, 2這兩個地址不可以)
         

    3.  /etc/sysconfig/network-scripts/ifcfg-XXX 在該文件中設置IP地址
          

  • hostname的配置
        1. 在/etc/hosts 添加本機的IP與對應的域名
         
         
         2. 配置HOSTNAME
          
        
       3. 重啟,並將 192.168.47.105  bigdata.001.com
            
    
          4. 可以使用 ping 命令來 ping 通虛擬機與實體機。

  •    環境配置 
           
禁用selinux
    vi /etc/sysconfig/selinux
    SELINUX=disabled

關閉防火牆
   看狀態service iptables status
   設置關閉service iptables stop
   自啟關閉chkconfig iptables off

  • 安裝Oracle的JDK
查看自帶的JDK
      rpm -qa | grep java
卸載自帶的JDK
      rpm -e --nodeps 卸載內容(卸載多文件使用空格)

解壓JDK
     tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/moduels/

配置java環境
     vi /etc/profile

    ##JAVA_HOME
    export JAVA_HOME=/opt/moduels/jdk1.7.0_67
    export PATH=$JAVA_HOME/bin:$PATH

    source /etc/profile

    java -version

  • Hadoop配置 --- HDFS
解壓Hadoop
    tar -zxf hadoop-2.5.0.tar.gz -C /opt/moduels/

可清理文檔: hadoop-2.5.0/share/doc目錄

確保環境正確;
    路徑:/opt/moduels/hadoop-2.5.0
    命令:bin/hadoop


Hadoop指定的java安裝路徑
    etc/hadoop/hadoop-env.sh
    //雖然官方文檔沒有寫,但是同目錄下mapred-env.sh和yarn-env.sh也做相同修改
    export JAVA_HOME=/opt/moduels/jdk1.7.0_67

Hadoop三種運行模式
     本地單機模式:使用本地文件系統
     偽分布式模式:HDFS文件系統
     完全分布式模式:HDFS文件系統(真實集群)

修改 etc/hadoop/core-site.xml
      //默認文件系統訪問入口,1.x系列端口號為9000
      //hadoop.tmp.dir為hadoop系統生成文件的臨時目錄

     <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://bigdata.001.com:8020</value><!--可以用IP來代替主機名-->
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/moduels/hadoop-2.5.0/data/tmp</value>
        </property>
     </configuration>


修改 hdfs-site.xml
     //修改副本數量
    <configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
    </configuration>

修改slaves, 配置本機的主機名
    //從節點機器位置主機名
    bigdata.001.com

格式化namenode
    命令:bin/hdfs namenode -format
    查看結果:data/tmp文件夾生成文件
     //只能格式化一次,如果有需求,將tmp文件夾下內容刪除再格式化  
     //多次格式化會導致集群ID不一致,手動修改集群ID也可以修復多次格式化問題
     可以通過下列兩個路徑下的文件進行對比
     /opt/app/hadoop-2.5.0/data/tmp/dfs/data/current
     /opt/moduels/hadoop-2.5.0/data/tmp/dfs/name/current


啟動 namenode和datanode
    命令:
          sbin/hadoop-daemon.sh start namenode 
          sbin/hadoop-daemon.sh start datanode
    驗證:
          使用jps查看

瀏覽器界面
     http://bigdata.001.com:50070/
     http://192.168.47.105:50070/



使用命令
     /user/root 是hadoop 內部創建的一個根目錄地址,可以在瀏覽器上看到
     創建: bin/hdfs dfs -mkdir -p /user/root/lee
     上傳: bin/hdfs dfs -put etc/hadoop/core-site.xml /user/root/lee
     讀取: bin/hdfs dfs -text /user/root/lee/core-site.xml
     下載: bin/hdfs dfs -get /user/root/lee/core-site.xml /home/cniao/core-site.xml 

啟動 SecondaryNameNode
    //文件操作記錄會進行存儲為編輯日志edits文件
    //namenode格式化之后生成鏡像文件,namenode啟動時會讀取鏡像文件
    //SecondaryNameNode用於合並這兩個文件,減少namenode啟動時間
    文件地址:hadoop-2.5.0/data/tmp/dfs/name/current
    流程:SecondaryNameNode讀取兩種文件 -> 合並為fsimage文件 -> 生成新的edits文件 
    
    修改hdfs-site.xml文件,指定secondarynamenode機器位置和交互端口號:50090
       <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>192.168.47.105:50090</value>
        </property>
    啟動:sbin/hadoop-daemon.sh start secondarynamenode
    檢驗:jps
    外部訪問界面:http://lee.cniao5.com:50090
    //無法防止數據丟失,后續會介紹

  • Hadoop配置——YARN與MapReduce
修改mapred-site.xml.template //.template表示不生效
    刪除.template
    mv mapred-site.xml.template mapred-site.xml

修改mapred-site.xml
    //使MapReduce運行YARN上面
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>



修改yarn-site.xml
    //MapReduce運行服務
    <configuration>
        <!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
    </configuration>

    //resourcemanager默認為啟動的機器
    //偽分布式可以不進行配置,配置一般使用主機名
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>192.168.47.105</value>
    </property>

啟動YARN
    命令:
    sbin/yarn-daemon.sh start resourcemanager
    sbin/yarn-daemon.sh start nodemanager 
    //MapReduce不需要啟動
    //使用jps查看

外部管理界面
    192.168.47.105:8088

MapReduce歷史服務器
    修改mapred-site.xml
        //內部交互地址
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>192.168.47.105:10020</value>
        </property>
        //外部交互地址
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>192.168.47.105:19888</value>
        </property>
    啟動:sbin/mr-jobhistory-daemon.sh start historyserver
    檢驗:jps
    //歷史服務器需要重啟HDFS與YARN

  • 檢驗
使用單詞統計進行檢驗
      創建input文件夾  bin/hdfs dfs -mkdir -p mapreduce/input
      上傳統計文件    bin/hdfs dfs -put /opt/datas/file.input /user/root/mapreduce/input
 
//輸出目錄不需要提前存在,任務運行完自動創建,防止任務結果覆蓋

//在yarn運行job時候都必須要打jar包

  單詞統計命令   
      bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output

 查看結果
   //_SUCCESS表示成功 結果在part-r-00000
   bin/hdfs dfs -text /user/root/mapreduce/output/part-r-00000

  • 常見問題
集群ID不一致
   刪除data/tmp,重新格式化

進程啟動失敗
  這個問題需要分析log,log位置/logs

盡量用IP來代替主機名

  • 使用到的命令
ervice iptables stop
chkconfig iptables off
rpm -qa | grep java
rpm -e --nodeps
tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/moduels/
sbin/hadoop-daemon.sh start namenode 
sbin/hadoop-daemon.sh start datanode
bin/hdfs dfs -mkdir -p /user/root/lee
bin/hdfs dfs -put etc/hadoop/core-site.xml /user/root/lee
bin/hdfs dfs -text /user/root/lee/core-site.xml
bin/hdfs dfs -get /user/root/lee/core-site.xml /home/cniao/core-site.xml
sbin/hadoop-daemon.sh start secondarynamenode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output
bin/hdfs dfs -text /user/root/mapreduce/output/part-r-00000















免責聲明!

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



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