1. 程式人生 > >centos7系統單機安裝部署hadoop2.6.5

centos7系統單機安裝部署hadoop2.6.5

今天單機安裝部署Hadoop,就順便記錄一下安裝過程

1 首先需要下載jdk和hadoop的安裝包

我安裝的版本是Hadoop-2.6.5.tar.gz(注意不要下載成hadoop-2.6.5-src.tar.gz)和jdk-8u162-linux-x64.tar.gz

2 安裝jdk

檢查並解除安裝OpenJDK

第一步檢查系統是否自帶了OpenJDK以及相關安裝包,如果有的話則應先將其解除安裝。 
檢查命令:

  • java -version(檢視版本,使用這個命令就可以)
  • rpm -qa | grep java(檢視所有安裝的軟體包中帶有Java的)

如果發現有安裝好的OpenJDK以及安裝包的話那麼首先依次執行解除安裝。 

解除安裝命令:

  • yum -y remove ...(省略號為java安裝包名稱) 
  • rpm -e -–nodeps tzdata-java-2012c-1.el6.noarch
  • rpm -e -–nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64(務必注意–nodeps前的兩個橫槓

現在便可以進行安裝

1)將jdk-8u162-linux-x64.tar.gz移動到了home資料夾下解壓,並將其重新命名為Java

2)配置環境變數

#set java environment
export JAVA_HOME=/usr/java/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使配置檔案生效:source  /etc/profile

輸入java -version看是否安裝成功


如上圖所示正常顯示了jdk版本,到此為止就已經安裝成功了。

3 安裝hadoop

1)將Hadoop-2.6.5.tar.gz移到home資料夾下解壓,並重命名為hadoop

2)配置hadoop

a.修改/usr/hadoop/etc/hadoop/hadoop-env.sh 檔案的java環境,將java安裝路徑加進去

export JAVA_HOME=/usr/java/jdk1.8.0_162

b.配置hadoop環境變數

export HADOOP_HOME=/usr/hadoop/
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH

使用source  /etc/profile使更改後的配置檔案生效

c.修改/usr/hadoop/etc/hadoop/core-site.xml 檔案

<configuration>
 <!-- 指定HDFS老大(namenode)的通訊地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <!-- 指定hadoop執行時產生檔案的儲存路徑 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/tmp</value>
    </property>
</configuration>

d.改/usr/hadoop/etc/hadoop/hdfs-site.xml

<configuration>  
    <property>  
        <name>dfs.name.dir</name>  
        <value>/usr/hadoop/hdfs/name</value>  
        <description>namenode上儲存hdfs名字空間元資料 </description>   
    </property>  
  
    <property>  
        <name>dfs.data.dir</name>  
        <value>/usr/hadoop/hdfs/data</value>  
        <description>datanode上資料塊的物理儲存位置</description>  
    </property>  
  
  
    <!-- 設定hdfs副本數量 -->  
    <property>  
        <name>dfs.replication</name>  
        <value>1</value>  
    </property>  
</configuration>  

e.ssh免密登入

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  
chmod 0600 ~/.ssh/authorized_keys  

f.hdfs啟動與停止

第一次啟動hdfs需要格式化

在hadoop資料夾下執行 ./bin/hdfs namenode -format命令進行格式化

hdfs啟動:start-dfs.sh          hdfs停止命令:stop-dfs.sh

若在啟動hdfs時出現Unable to load native-hadoop library for your platform...提示hadoop不能載入本地庫。


若程式和作業系統都是64位的,那也許就是少了些配置,試試下面的方法:

首先在bashrc中加入如下配置:

vim ~/.bashrc

配置如下

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_HOME=/home/hadoop/
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"使上面配置生效:

source ~/.bashrc

再去執行啟動dfs/yarn,成功解決了我的問題

g.瀏覽器輸入:http://192.168.136.140:50070 (IP為自己系統的地址)


h.接下來配置yarn檔案

 配置/usr/hadoop/etc/hadoop/mapred-site.xml 。這裡注意一下,hadoop裡面預設是mapred-site.xml.template 檔案,如果配置yarn,把mapred-site.xml.template   重新命名為mapred-site.xml 。

mv mapred-site.xml.template mapred-site.xml 

配置mapred-site.xml檔案

<configuration>  
    <!-- 通知框架MR使用YARN -->  
    <property>  
        <name>mapreduce.framework.name</name>  
        <value>yarn</value>  
    </property>  
</configuration>

配置/usr/hadoop//etc/hadoop/yarn-site.xml檔案

<configuration>  
    <!-- reducer取資料的方式是mapreduce_shuffle -->  
    <property>  
        <name>yarn.nodemanager.aux-services</name>  
        <value>mapreduce_shuffle</value>  
    </property>  
</configuration>  

啟動yarn  :start-yarn.sh        停止yarn:stop-yarn.sh


i.驗證Hadoop安裝

瀏覽器輸入http://192.168.136.140:8088  (8088是預設埠


可以用jps命令檢視啟動了什麼程序: