一、安装环境

  • 操作系统:
    CentOS7.2.1511

  • hadoop版本:
    2.7.3

  • 节点信息:

角色 地址
Namenode 192.168.1.182
Datanode 192.138.1.186
Datanode 192.168.1.122


二、安装jdk

安装jdk8,注意:hadoop2.x,必须是jdk8

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

安装jdk

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

配置环境变量

打开/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/profile

三、设置/etc/host

      三个节点都配置

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

四、配置密钥对,可以免密执行。

  • 生成SSH KEY并将其拷贝到各个节点主机上
    依次执行如下命令:

ssh-keygen 
ssh-copy-id localhost #免密钥登录本机 
ssh-copy-id hadoop-datanode-1
ssh-copy-id hadoop-datanode-2

五、安装hadoop(三个节点都配置)

#下载2.7.3版本hadoopcurl -O  
#安装到/usr/hadoop目录
tar zxvf hadoop-2.7.3.tar.gz -C /usr/hadoop --strip-components 1

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

2、配置datenode文件目录(三个节点都配置)

cd /usr/hadoop/
mkdir datanode

3、配置hdfs(三个节点都配置)

打开~/etc/hadoop/hdfs-site.xml文件,在 - 之间添加如下内容:

  
    dfs.replication
    2
副本个数,默认是3,应小于datanode机器数量
  
  
    dfs.datanode.data.dir
    file:///usr/hadoop/datanode
datanode上数据块的物理存储位置
  

4、主节点增加内容(只有namenode节点)

在namenode节点,打开~/etc/hadoop/hdfs-site.xml文件,新增如下内容:

 

 
        dfs.namenode.name.dir
        file:///usr/hadoop/datanode/name
namenode上存储hdfs名字空间元数据 
    


5、配置hadoo core(三个节点都配置)

打开~/etc/hadoop/core-site.xml文件,在 - 之间添加如下内容:

  
    fs.defaultFS
    hdfs://hadoop-namenode:9000/
  

6、在hadoop中设置JAVA_HOME环境变量(三个节点都配置)

首先通过如下命令在本机修改hadoop-env.sh文件中的环境变量:

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

7、配置map-reduce(只在namenode节点配置)

打开~/etc/hadoop/mapred-site.xml文件,新增如下内容:


  
    mapreduce.framework.name
    yarn
指定mapreduce使用yarn框架
  

8、配置yarn(三个节点都配置)

首先打开~/etc/hadoop/yarn-site.xml文件,在 - 之间添加如下内容:


    yarn.resourcemanager.hostname
    hadoop-namenode
指定resourcemanager所在的hostname
  
  
    yarn.nodemanager.aux-services
    mapreduce_shuffle
NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序
  

9、配置slave

打开etc/hadoop/slaves文件,添加如下内容:

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

10、在Namenode上运行如下命令,分别启动hdfs和yarn服务

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

11、验证

在Namenode上运行jps命令,应该会看到如下进程

NameNode
SecondaryNameNode
NodeManager
DataNode
ResourceManager
Jps

在Datanode上运行jps命令,应该会看到如下进程:

NodeManager
Jps
DataNode

12、web界面

192.168.1.182:50070


192.168.1.182:8088

总结:

安装步骤

1、配置jdk

2、配置ssh

3、安装hadoop

4、配置hfds-site.xml,注意,主节点比其他节点多内容。

5、配置core-site.xml,三个节点都配置

6、配置yarn-site.xml,三个节点都配置

7、配置mapred-site.xml,主节点配置

错误:

错误1:

多次format导致id识别失败

处理方法:删除datanode目录,或者重命名目录。

重命名了一下各个数据节点DataNode