centos7搭建徹底分佈式HDFS

1、安裝環境java

  • 操做系統:
    CentOS7.2.1511node

  • hadoop版本:
    2.7.3linux

  • 節點信息:web

角色 地址
Namenode 192.168.1.182
Datanode 192.138.1.186
Datanode 192.168.1.122


2、安裝jdkbash

安裝jdk8,注意:hadoop2.x,必須是jdk8
cookie

curl -LO -H "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u71-b15/jdk-8u71-linux-x64.rpm"

安裝jdkoracle

rpm -Uvh jdk-8u71-linux-x64.rpm

配置環境變量app

打開/etc/profile,在文件最後面添加以下內容框架

export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

最後,source /etc/profilessh

3、設置/etc/host

      三個節點都配置

192.168.1.182 hadoop-namenode
192.168.1.186 hadoop-datanode-1
192.168.1.122 hadoop-datanode-2

4、配置密鑰對,能夠免密執行。

  • 生成SSH KEY並將其拷貝到各個節點主機上
    依次執行以下命令:

ssh-keygen 
ssh-copy-id localhost #免密鑰登陸本機 
ssh-copy-id hadoop-datanode-1
ssh-copy-id hadoop-datanode-2

5、安裝hadoop(三個節點都配置)

#下載2.7.3版本hadoopcurl -O  
#安裝到/usr/hadoop目錄
tar zxvf hadoop-2.7.3.tar.gz -C /usr/hadoop --strip-components 1

一、配置環境變量

export HADOOP_HOME=/usr/hadoop
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
source ~/.bashrc

二、配置datenode文件目錄(三個節點都配置)

cd /usr/hadoop/
mkdir datanode

三、配置hdfs(三個節點都配置)

打開~/etc/hadoop/hdfs-site.xml文件,在<configuration> - </configuration>之間添加以下內容:

  <property>
    <name>dfs.replication</name>
    <value>2</value>
<description>副本個數,默認是3,應小於datanode機器數量</description>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///usr/hadoop/datanode</value>
<description>datanode上數據塊的物理存儲位置</description>
  </property>

四、主節點增長內容(只有namenode節點)

在namenode節點,打開~/etc/hadoop/hdfs-site.xml文件,新增以下內容:

 

 <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///usr/hadoop/datanode/name</value>
<description>namenode上存儲hdfs名字空間元數據 </description>
    </property>


五、配置hadoo core(三個節點都配置)

打開~/etc/hadoop/core-site.xml文件,在<configuration> - </configuration>之間添加以下內容:

  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop-namenode:9000/</value>
  </property>

六、在hadoop中設置JAVA_HOME環境變量(三個節點都配置)

首先經過以下命令在本機修改hadoop-env.sh文件中的環境變量:

sed -i -e 's/\${JAVA_HOME}/\/usr\/java\/default/' hadoop-env.sh

七、配置map-reduce(只在namenode節點配置)

打開~/etc/hadoop/mapred-site.xml文件,新增以下內容:

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
<description>指定mapreduce使用yarn框架</description>
  </property>
</configuration>

八、配置yarn(三個節點都配置)

首先打開~/etc/hadoop/yarn-site.xml文件,在<configuration> - </configuration>之間添加以下內容:

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop-namenode</value>
<description>指定resourcemanager所在的hostname</description>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
<description>NodeManager上運行的附屬服務。需配置成mapreduce_shuffle,纔可運行MapReduce程序</description>
  </property>

九、配置slave

打開etc/hadoop/slaves文件,添加以下內容:

hadoop-namenode
hadoop-datanode-1
hadoop-datanode-2

十、在Namenode上運行以下命令,分別啓動hdfs和yarn服務

初始化:hdfs namenode -format
start-dfs.sh
start-yarn.sh

十一、驗證

在Namenode上運行jps命令,應該會看到以下進程

NameNode
SecondaryNameNode
NodeManager
DataNode
ResourceManager
Jps

在Datanode上運行jps命令,應該會看到以下進程:

NodeManager
Jps
DataNode

十二、web界面

192.168.1.182:50070

image.png


192.168.1.182:8088

image.png

總結:

安裝步驟

一、配置jdk

二、配置ssh

三、安裝hadoop

四、配置hfds-site.xml,注意,主節點比其餘節點多內容。

五、配置core-site.xml,三個節點都配置

六、配置yarn-site.xml,三個節點都配置

七、配置mapred-site.xml,主節點配置

錯誤:

錯誤1:

屢次format致使id識別失敗

處理方法:刪除datanode目錄,或者重命名目錄。

重命名了一下各個數據節點DataNode

相關文章
相關標籤/搜索