1. 程式人生 > >超詳細 Hadoop 2.7.4 Installation Procedure

超詳細 Hadoop 2.7.4 Installation Procedure

pub 建立 最好 組合 新手 def keys atan sysconf

∑工作快兩年了,一直沒有個自己的技術博客啥的,感到很慚愧,每次遇到問題都是百度大神的文章,今天是周日,我也想寫點我一直學習成長中遇到的問題和 解決方法,今天我就拿這個hadoop2.7.4開刀吧,至少我再這個配置上卡住了很久。拿出來給大家分享一下

-------------------------------------------------------------------------------------------------------------------------------

這次主要講的是hadoop2.7.4的安裝和一些需要的環境

hadoop2.7.4 vm12 centos 6.5 jdk1.8

下面紅色字為修改的文件和命令 藍色字為修改的內容

*如果沒有軟件的可以百度一下或者直接問我要

  1.在root賬戶下設置hosts

#>vim /etc/hosts

192.168.1.35 master
192.168.1.36 slave1

文件原有的東西不用動加上,上面的內容 保存退出 [ESC] [:wq!]

  2.設置主機名

#>vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=master

同上保存退出 在slave1機器上也同樣設置

然後 重啟所有虛擬機

#>shutdown -r now

  3.ssh key配置

[root@master ~]# ssh-keygen -t rsa    然後一路回車

[root@master ~]# cd ~/.ssh/

[root@master .ssh]# cat id_rsa.pub >>authorized_keys

[root@master .ssh]# scp ./id_rsa.pub root@slave1:$PWD 然後輸入slave1的密碼就可以了,在slave1上執行下面的命令
[root@slave1~]# cd ~/.ssh/
[root@slave1 .ssh]# cat id_rsa.pub 
>>authorized_keys  到此 ssh就配置好了master無密碼訪問slave1了 **slave1訪問master還是 需要密碼的

  4.配置hadoop2.7.4【只需要在master配置完了,復制到其他節點就可以了】

主要配置以下幾個文件:

下面所修改的文件都在一個目錄下面我就不在累述了  

[root@master hadoop]# pwd
/opt/software/hadoop-2.7.4/etc/hadoop
[root@master hadoop]# vim core-site.xml

core-site.xml
hadoop-env.sh
hdfs-site.xml
mapred-env.sh
mapred-site.xml
slaves
yarn-env.sh
yarn-site.xml

上傳hadoop2.7.4 jdk1.8 到linux /opt/software 目錄下 不管用啥方法給他整上去就行了,opt目錄下是沒有software的需要你自己創建一個 mkdir -p /opt/software

然後 解壓文件hadoop2.7.4 jdk1.8

[root@master software]#tar -zxvf hadoop-2.7.4.tar 
[root@master software]#tar -zxvf jdk***.tar

修改文件


core-site.xml

[root@master software]# vim /opt/software/hadoop-2.7.4/etc/hadoop/core-site.xml

<configuration>
       <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
             <description>設定namenode的主機名及端口(建議不要更改端口號)</description>
       </property>

       <property>
               <name>hadoop.tmp.dir</name>
               <value>/opt/software/hadoop-2.7.4/tmp</value>
               <description> 存放臨時文件的目錄 </description>
       </property>
</configuration>

hadoop-env.sh

[root@master software]# vim /opt/software/hadoop-2.7.4/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/opt/software/jdk1.8.0_144    將25行的#去掉填上正確的路徑

hdfs-site.xml

[root@master software]# vim /opt/software/hadoop-2.7.4/etc/hadoop/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/software/hadoop-2.7.4/hdfs/name</value>
        <description> namenode 用來持續存放命名空間和交換日誌的本地文件系統路徑 </description> 
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/software/hadoop-2.7.4/hdfs/data</value>
        <description> DataNode 在本地存放塊文件的目錄列表,用逗號分隔 </description> 
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
        <description> 設定 HDFS 存儲文件的副本個數,默認為3 </description>
    </property>
</configuration>

mapred-env.sh

[root@master software]# vim /opt/software/hadoop-2.7.4/etc/hadoop/mapred-env.sh

export JAVA_HOME=/opt/software/jdk1.8.0_144      將16行的java_home填寫正確

mapred-site.xml
一般這個文件在2.7版本以上是沒有的需要修改一下 在復制我的代碼上去就可以了

[root@master hadoop]#cp /opt/software/hadoop-2.7.4/etc/hadoop/mapred-site.xml.template /opt/software/hadoop-2.7.4/etc/hadoop/mapred-site.xml

[root@master software]# vim /opt/software/hadoop-2.7.4/etc/hadoop/mapred-site.xml

<configuration>  
    <property>
        <name>mapreduce.framwork.name</name>
        <value>yarn</value>
    </property>
     
    <property>
         <name>mapred.job.tracker</name>
         <value>master:9001</value>
    </property>
</configuration>

slaves 這個文件配置上所有節點的主機名 這裏我就開了2個虛擬機 所以就2個都寫上了

[root@master software]# vim /opt/software/hadoop-2.7.4/etc/hadoop/slaves

master
slave1

yarn-env.sh

[root@master software]# vim /opt/software/hadoop-2.7.4/etc/hadoop/yarn-env.sh

export JAVA_HOME=/opt/software/jdk1.8.0_144        在代碼23行補全這個java_home的配置

最重要的就是下面這個文件了 我捅咕了好久才知道他出來問題,因為這個hadoop的版本升級以後yarn所需要的資源默認情況下虛擬機是滿足不了的,所以你star-all.sh 也好start-yarn.sh也好nodemanager起來就掉了

yarn-site.xml

[root@master software]# vim /opt/software/hadoop-2.7.4/etc/hadoop/yarn-site.xml

<configuration>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>master</value>
            <description>如果nodemanager沒有啟動將下面的參數加上</description>
        </property>
       
       <property>
            <name>yarn.nodemanager.resource.memory-mb</name>
            <value>1024</value>
       </property>
       <property>
            <name>yarn.nodemanager.resource.cpu-vcores</name>
            <value>1</value>
       </property>
</configuration>

到此hadoop的配置文件已經修改好了需要創建文件夾來保存他生產出來的日誌、data信息、name信息

在hadoop-2.7.4的根目錄下創建 tmp hdfs/name hdfs/data

[root@master hadoop-2.7.4]# mkdir -p hdfs/name
[root@master hadoop-2.7.4]# mkdir -p hdfs/data
[root@master hadoop-2.7.4]# mkdir tmp

最後剩下的就是配置環境變量啦 在文件內容最下方添加下面的代碼

[root@master ~]# vim /etc/profile

export JAVA_HOME=/opt/software/jdk1.8.0_144
export HADOOP_HOME=/opt/software/hadoop-2.7.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

記住記住

[root@master ~]# source /etc/profile

[root@master ~]# scp -r /opt/software/hadoop-2.7.4 root@slave1:/opt/software/ 在slave1上也要建立software文件夾 也需要將環境變量配置好同上也好source

[root@master ~]# scp -r /opt/software/jdk1.8.0_144 root@slave1:/opt/software/      在slave1上也要建立software文件夾 也需要將環境變量配置好同上也好source

  5.格式化集群

[root@master ~]# hdfs namenode -format

如果報錯了,看日誌,就在創建的文件夾下,新手最好不要手打配置文件,但是手打配置文件是好習慣 往往會提示 你的標簽沒有關閉 或者是標簽錯誤

  6.啟動集群

[root@master ~]# start-all.sh

這是一個組合命令,start-dfs.sh and start-yarn.sh

單獨啟動hdfs =>> start-dfs.sh

單獨啟動yarn =>> start-yarn.sh

  7.1 查看進程並驗證

[root@master software]# jps

17315 Jps
12854 SecondaryNameNode
12535 NameNode
13592 RunJar
13161 NodeManager
13037 ResourceManager
12671 DataNode

[root@slave1 ~]# jps
6336 DataNode
6452 NodeManager
6716 Jps

  7.2 hdfs的web界面驗證  地址欄裏輸入:master:50070

技術分享圖片

繼續往下找會看到活躍的節點和dead的節點數

技術分享圖片

下面的是yarn的web地址 master:8088

技術分享圖片

這裏還沒算完事 只是看到了jps進程和web界面都是正常的 還需要運行一下hadoop自帶是一個事例jar

[root@master software]# cd /opt/software/hadoop-2.7.4/share/hadoop/mapreduce/
root@master mapreduce]# hadoop jar ./hadoop-mapreduce-examples-2.7.4.jar pi 10 10

技術分享圖片

如果說正確的走到了這裏那麽才算徹底的完成了hadoop2.7.4的安裝,恭喜您啦

超詳細 Hadoop 2.7.4 Installation Procedure