Linux中hadoop安裝及配置詳解

安裝前提:
1.ssh軟件安裝
2.ssh免密設置成功
3.Jdk1.7以上版本安裝
4.Path設置,將jdk的bin目錄設置到path中
5.Hadoop軟件下載並解壓。
6.對Hadoop文件解壓文件夾下的hadoop-2.7.3/etc/hadoop目錄下的hadoop-env.sh 、core-site.xml、hadfs-site.xml、mapred-site.xml、yarn-site.xml文件進行修改。
7.配置Hadoop環境變量
8.運行Hadoop
9.運行Hadoop實例
SSH免密設置
(一)先確定當前系統ssh指令是否可執行,具體過程爲:
在控制檯中敲擊出ssh,然後連續按兩次tab鍵,如果安裝ssh軟件,即可以在控制檯中觀察到如下提示:
這裏寫圖片描述
如果未安裝ssh軟件,自行百度安裝教程,此處不贅述。
(二)繼續在控制檯中敲擊ssh-keygen -t rsa (注意空格)
這裏寫圖片描述
連續enter鍵,直到出現以#號出現的控制行。
(三)通過命令ls -al ~/.ssh查看ssh文件夾下的內容:
這裏寫圖片描述
可發現文件id_rsa以及id_rsa.pub。如果未發現,請重試上述操作,或者自行百度原因。
(四)使用命令 cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys 將id_rsa.pub文件的內容寫入authorized_keys中,此時ssh免密設置已完成。
SSH免密設置驗證
使用ssh localhost登入
這裏寫圖片描述
此時免密設置已成功。
Jdk1.8安裝及PATH配置
(一)從網址http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html中下載jdk1.8,將壓縮包通過winscp上傳到本機。或者用wget 指令在該網址中下載jdk1.8 至當前目錄。(前提是已經配置好並能網絡連接)
(二)使用tar xvzf [壓縮文件所在路徑] -C [解壓文件路徑] 解壓下載好的jdk。
(三)配置系統path :使用指令vi /etc/profile打開編輯界面
這裏寫圖片描述
在如圖處添加JAVA_HOME=‘jdk解壓路徑’
(四)source /etc/profile更新profile文件的修改
(五)echo $JAVA_HOME 查看配置以後的值
這裏寫圖片描述
(六)使用指令export PATH=$PATH:$JAVA_HOME/bin,將PATH設置
(七)查看修改以後的path值
這裏寫圖片描述
這個只是臨時設置PATH,如果想永久設置PATH,請繼續看步驟八
(八)在/etc/profile 繼續加入export PATH=$PATH:$JAVA_HOME,然後保存修改,並在命令行中輸入source /etc/profile。當文件路徑更改時,只用修改JAVA_HOME的值即可。
(九)在命令行中輸入java,回車,可觀察到,java指令信息如下:這裏寫圖片描述
即代表配置成功
HADOOP安裝配置及運行測試
(一)去官網https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/ 下載hadoop-2.7.3.tar.gz ,大小204M。
(二)和jdk安裝一樣,將其解壓到指定目錄下即可。
(三)在/etc/profile中添加HADOOP_HOME=’解壓hadoop的目錄路徑’,如下圖所示。
這裏寫圖片描述
保存並退出後,source /etc/profile系統重新加載配置
(四)echo $PATH 查看path值
這裏寫圖片描述
可發現hadoop及jdk的bin路徑已配置完畢。同樣鍵入指令hadoop 或者hdfs,如下:
這裏寫圖片描述這裏寫圖片描述
即表明,配置成功。
(五)進入hadoop解壓目錄(cd $HADOOP_HOME)輸入 vi etc/hadoop/hadoop-env.sh
進入編輯模式
查找並修改 export JAVA_HOME=’此處爲安裝(解壓)jdk的路徑’,如下圖所示。
這裏寫圖片描述
保存並退出。
(六)修改核心文件vi etc/hadoop/core-site.xml ,進入並按照下圖添加相應屬性。
這裏寫圖片描述
保存並退出。其中註釋地方可自行修改主機名和端口以及目錄。
代碼如下:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>

(七)修改文件vi etc/hadoop/hdfs-site.xml,加入如下代碼:
這裏寫圖片描述
其中dfs.namecode.name.dir 所對應的value值可以指定存放目錄,如果爲多個目錄請用逗號隔開。同理於dfs.namecode.data.dir。
代碼如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/tmp/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/tmp/hdfs/data</value>
</property>
</configuration>

(八)修改文件vi etc/hadoop/mapred-site.xml.template ,如下加入代碼,並使用指令cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
這裏寫圖片描述
代碼如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

(九)修改文件vi etc/hadoop/yarn-site.xml,如下加入代碼
這裏寫圖片描述
代碼如下:
<configuration>
<!-- Site specific YARN configuration properties -->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</configuration>

配置基本完成。
(十)運行HADOOP :
A.鍵入命令 hdfs namenode -format 初始化namecode
B.運行sbin目錄下的start-all.sh
其中會分別需要鍵入yes與Y。
(十一)啓動完畢,可以通過瀏覽器訪問http://localhost:8088以及50070兩個端口,並會分別在瀏覽器中看到
這裏寫圖片描述
這裏寫圖片描述
如果,用遠程訪問該hadoop服務器,請先確認服務器是否聯網,然後關閉服務器的防火牆(暫時關閉防火牆指令:service firewalld stop,永久關閉:systemctl disable firewalld.service),
然後遠程端通過服務器ip訪問,即將localhost改爲網段中服務器的ip。
(十二)HADOOP實例運行
A.進入hadoop安裝目錄。
B.通過指令 hdfs dfs -mkdir -p /user/本機用戶名/iput
C.通過指令查看是否創建成功,如下圖所示:
這裏寫圖片描述
警告可忽略。(上述的output目錄不予考慮,之後會解釋。)
D.通過指令 hdfs -put $HADOOP_HOME/etc/hadoop/*.xml /user/root/input 將需要統計的文件上傳到之前創建的input文件夾中。可查看到如下的文件:
警告可忽略。
E.運行測試jar 。鍵入代碼hadoop jar share/hadoop/mapreduce/
hadoop-mapreduce-examples-2.7.3.jar grep input output ‘[a-z.]+’ 注意空格,此處的output就是上述圖片中看到的/user/root/output文件夾。
F.查看output文件夾下信息。
這裏寫圖片描述
結語:
如果結果和上圖類似,hadoop的demo在linux上搭建已完成。Ps:如果過程中出現錯誤信息,請查看hadoop安裝目錄中的logs文件夾裏面的cat logs/hadoop-root-datanode-localhost.localdomain.log ,搜尋error來處理異常。最後,祝你更上一層樓!

引用塊內容http://www.cnblogs.com/landed/p/6831758.html