超詳細 Hadoop 2.7.4 Installation Procedure
∑工作快兩年了,一直沒有個自己的技術博客啥的,感到很慚愧,每次遇到問題都是百度大神的文章,今天是周日,我也想寫點我一直學習成長中遇到的問題和 解決方法,今天我就拿這個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