Hadoop2.x偽分布式環境搭建(一)
1、安裝hadoop環境,以hadoop-2.5.0版本為例,搭建偽分布式環境,所需要工具包提供網盤下載:http://pan.baidu.com/s/1o8HR0Qu
2、上傳所需要的工具包到linux相對就應的目錄中
3、接上篇(Linux基礎環境的各項配置(三)中最後一部分,需卸載系統自帶的jdk,以免後續安裝的jdk產生沖突),卸載jdk完成後,安裝jdk-7u67-linux-x64.tar.gz版本,上述工具包可下載
(1)、解壓JDK
tar -zxf jdk-7u67-linux-x64.tar.gz -C ../model/
(2)、配置環境變量,在/etc/profile配置文件末尾加入如下內容(需要管理員權限才能操作此文件
##JAVA_HOME export JAVA_HOME=/opt/model/jdk1.7.0_67 export PATH=$PATH:$JAVA_HOME/bin
(3)、讓文件生效執行如下命令
source /etc/profile
(4)、執行java -version命令,出現如下圖所示則jdk配置成功
4、hadoop-2.5.0安裝與配置
(1)、解壓下載好的hadoop-2.5.0.tar.gz包
tar -zxf hadoop-2.5.0.tar.gz -C ../model/
(2)、進入hadoop-2.5.0目錄,在當前路徑的share目錄下,有個doc目錄,此目錄存放的都是官方英文說明文檔,基本沒用且占用空間及大,建議刪除此目錄,為後續發送集群節點節省時間
rm -rf share/doc
(3)、修改/opt/model/hadoop-2.5.0/etc/hadoop目錄下hadoop-env.sh、mapred-env.sh、yarn-env.sh這三個配置文件,設置JAVA_HOME安裝目錄,如下所示
export JAVA_HOME=/opt/model/jdk1.7.0_67
(4)、修改core-site.xml配置文件,內容如下
<configuration> <!--指定namenode主節點所在的位置以及交互端口號--> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop-senior01.dinghong.com:8020</value> </property> <!--更改hadoop.tmp.dir的默認臨時目錄路徑--> <!-- /opt/model/hadoop-2.5.0/data/tmp 這個路徑需自己先行創建 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/model/hadoop-2.5.0/data/tmp</value> </property> </configuration>
(5)、修改slaves配置文件,內容修改如下
#定義datanode從節點所在哪臺機器,由於此次筆記是偽分布式安裝,所有主從節點都在一臺機器上,所以主機名都是一樣
hadoop-senior01.dinghong.com
(6)、修改hdfs-site.xml配置文件,內容如下
<configuration> <!--指定副本個數,默認值是3個--> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
(7)、修改yarn-site.xml配置文件,內容如下
<configuration> <!-- 指定yarn上運行的是mapreduce程序 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!--指定ResourceManager的位置--> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop-senior01.dinghong.com</value> </property> </configuration>
(8)、將mapred-site.xml.template文件重命名為mapred-site.xml,並修改其內容如下
<configuration> <!--指定MapReduce運行在YARN上--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
(9)、對於NameNode進行格式化操作,命令如下(只需要一次格式化,多次格式化會出錯):
bin/hdfs namenode -format
出現如下圖所示,表示格式化成功,若格式化出現錯誤,則需要仔細查找日誌信息,查找出錯原因,再次格式之前,一定把/opt/model/hadoop-2.5.0/data/tmp目錄下的文件刪除幹凈
5、hadoop-2.5.0上述步驟操作完畢後,即可啟動相關進程
sbin/hadoop-daemon.sh start namenode sbin/hadoop-daemon.sh start datanode sbin/yarn-daemon.sh start resourcemanager sbin/yarn-daemon.sh start nodemanager
在web頁面訪問hdfs以及yarn信息頁面,說明啟動成功了,如下圖所示
6、繼續開啟自帶歷史服務器和日誌聚集功能
(1)、修改mapred-site.xml配置文件,配置歷史服務器,添加如下內容
<!-- 指定歷史服務器的所在機器 --> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop-senior01.ibeifeng.com:10020</value> </property> <!-- 指定歷史服務器外部訪問地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop-senior01.ibeifeng.com:19888</value> </property>
(2)、修改yarn-site.xml配置文件,開啟日誌聚集功能,添加如下內容
<!-- 指定是否開啟日誌聚集功能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 設置日誌在HDFS上保留的時間期限 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>106800</value> </property>
7、HDFS文件權限的修改
(1)、修改hdfs-site.xml配置文件,設置不檢查文件權限,添加如下內容
<!--設置不啟用HDFS文件系統的權限檢查--> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property>
(2)、修改core-site.xml配置文件,設置不檢查文件權限,添加如下內容
<!--指定修改Hadoop靜態用戶名,建議設為hadoop啟動用戶--> <property> <name>hadoop.http.staticuser.user</name> <value>dhong</value> </property>
8、重啟上述6、7步修改過配置文件的相關進程,並運行程序測試,修改是否正確
總結:
以上步驟是hadoop環境的基本配置,可以在上面跑wordcount程序了,由於是用偽分布式搭建的環境,配置比較簡單,僅供搭建實驗環境參考,在真實的工作當中,hadoop要配置的信息遠不止這些,也為自己學習大數據記錄一些簡單的筆記
Hadoop2.x偽分布式環境搭建(一)