1. 程式人生 > >Hadoop2.x偽分布式環境搭建(一)

Hadoop2.x偽分布式環境搭建(一)

ava 內容 replicat 檢查 user form 基本 臨時 sla

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偽分布式環境搭建(一)