准备资源和环境

下载Centos 7.2 iso安装镜像,jdk1.8 for Linux压缩包,hadoop3.0.0压缩包。下载链接分别如下:

https://www.centos.org/download/

http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

http://hadoop.apache.org/releases.html

如下:

[root@cmaster home]# ls

hadoop-3.0.0-alpha4  hadoop-3.0.0-alpha4.tar.gz  jdk-8u101-linux-x64.rpm

[root@cmaster home]#

 

 

准备三台centos7的系统:

Master:192.168.161.133

Slave1:192.168.161.135

Slave2:192.168.161.136

 

二安装jdk和hadoop

1 安装jdk

rpm -ivh jdk-8u101-linux-x64.rpm

查看jdk安装目录

rpm -qal|grep java

 

 

2 安装hadoop

进入home目录,直接解压hadoop即可

tar -zvxf  hadoop-3.0.0-alpha4.tar.gz

 

3. 环境变量

 

vi /etc/profile

#Hadoop 3.0
export HADOOP_HOME=/home/hadoop-3.0.0-alpha4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

注意:/home/hadoop-3.0.0-alpha4为解压路径

 

三配置hadoop

      先在192.168.161.133上面配置hadoop,然后scpslave上。

hadoop3.0需要配置的文件有core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlhadoop-env.shworkers

 

 

 

新建目录:

cd /home/hadoop-3.0.0-alpha4

mkdir tmp

mkdir -p hdfs/{data,name}

 

1 core-site.xml配置文件

<configuration>

<property>

    <name>fs.defaultFS</name>

     <value>hdfs://192.168.161.133:9000</value>

  </property>

 

  <property>

      <name>hadoop.tmp.dir</name>

      <value>file:///home/hadoop-3.0.0-alpha4/tmp</value>

  </property>

</configuration>

 

 

 

2 hdfs-site.xml配置文件

 

<configuration>

 <property>

   <name>dfs.replication</name>

   <value>3</value>

 </property>

 <property>

   <name>dfs.namenode.name.dir</name>

   <value>file:///home/hadoop-3.0.0-alpha4/hdfs/name</value>

 </property>

 <property>

   <name>dfs.datanode.data.dir</name>

   <value>file:///home/hadoop-3.0.0-alpha4/hdfs/data</value>

 </property>

 <property>

   <name>dfs.namenode.secondary.http-address</name>

   <value>192.168.161.135:9001</value>

 </property>

</configuration>

 

 

 

 

 

3 works

 

192.168.161.135

192.168.161.136

 

 

 

4 mapred-site配置

 

<configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

 

<property>

 <name>mapreduce.application.classpath</name>

 <value>

  /home/hadoop-3.0.0-alpha4/etc/hadoop,

  /home/hadoop-3.0.0-alpha4/share/hadoop/common/*,

  /home/hadoop-3.0.0-alpha4/share/hadoop/common/lib/*,

  /home/hadoop-3.0.0-alpha4/share/hadoop/hdfs/*,

  /home/hadoop-3.0.0-alpha4/share/hadoop/hdfs/lib/*,

  /home/hadoop-3.0.0-alpha4/share/hadoop/mapreduce/*,

  /home/hadoop-3.0.0-alpha4/share/hadoop/mapreduce/lib/*,

  /home/hadoop-3.0.0-alpha4/share/hadoop/yarn/*,

  /home/hadoop-3.0.0-alpha4/share/hadoop/yarn/lib/*

 </value>

</property>

</configuration>

 

 

 

5 yarn-site.xml配置

 

<configuration>

 

<!-- Site specific YARN configuration properties -->

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

    <property>

        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

        <value>org.apache.hadoop.mapred.ShuffleHandle</value>

    </property>

    <property>

        <name>yarn.resourcemanager.resource-tracker.address</name>

        <value>192.168.161.133:8025</value>

    </property>

    <property>

        <name>yarn.resourcemanager.scheduler.address</name>

        <value>192.168.161.133:8030</value>

    </property>

    <property>

        <name>yarn.resourcemanager.address</name>

        <value>192.168.161.133:8040</value>

    </property>

</configuration>

 

 

 

6 hadoop-env.sh中配置java_home

 

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

 

 

 

 

 

7 将配置好的hadoop文件夹传输到slave上面

cd /home/

scp -r hadoop-3.0.0-alpha4  root@192.168.161.135:/home/

scp -r hadoop-3.0.0-alpha4  root@192.168.161.136:/home/

 

 

8 配置服务主机名和域名IP解析

 

1 linux 配置主机、域名-ip

CentOS7下修改主机名

第一种:hostname 主机名

01.hostname 主机名称

这种方式,只能修改临时的主机名,当重启机器后,主机名称又变回来了。

第二种:hostnamectl set-hostname <hostname>

命令行中输入

hostnamectl set-hostname <主机名>

使用这种方式修改,可以永久性的修改主机名称!

 

 

1 修改主机名

192.168.161.133 hostnamectl set-hostname master

192.168.161.135 hostnamectl set-hostname slave1

192.168.161.136 hostnamectl set-hostname slave2

/etc/hostname 中会自动更新

 

2 建立域名IP解析

192.168.161.133中建立域名解析到ip

vi /etc/hosts

192.168.161.133 master

192.168.161.135 slave1

192.168.161.136 slave2

 

 

 

2 windows本地配置域名解析

 

linux/etc/hosts一样,windows也有一个类似的hosts文件

C:/WINDOWS/system32/drivers/etc/hosts

在这里可以设置本地域名

本地域名是比远程DNS优先级要高的,

所以可以在这里设置本地域名,让域名指向你想要的ip

特别是在远程域名与多个ip绑定,而你只希望其指向某一个ip的时候

 

启动hadoop

1. 格式化namenode

bin/hdfs namenode -format  

2. 启动dfsyarn

sbin/start-dfs.sh  

sbin/start-yarn.sh  

 

启动会报错,解决方法:

 

2.1 sbin/start-dfs.sh  报错:

是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本 
vim sbin/start-dfs.sh 
vim sbin/stop-dfs.sh 
在顶部空白处添加内容: 
HDFS_DATANODE_USER=root 
HADOOP_SECURE_DN_USER=hdfs 
HDFS_NAMENODE_USER=root 
HDFS_SECONDARYNAMENODE_USER=root 

 

 

2.2 sbin/start-yarn.sh  报错

是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本 
$ vim sbin/start-yarn.sh 
$ vim sbin/stop-yarn.sh 

在顶部空白处添加内容: 

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

 

 

2.3 可以采用另外一种方法启动

启动hadoop

首先格式化主节点命名空间,使用命令:

/home/joe/hadoop-3.0.0-alpha1/bin/hdfsnamenode –formate

其次在主节点上启动存储服务资源管理主服务。使用命令:

/home/joe/hadoop-3.0.0-alpha1/sbin/hadoop-daemon.sh start namenode #启动主存储服务

/home/joe/hadoop-3.0.0-alpha1/sbin/yarn-daemon.sh start resourcemanager # 启动资源管理服务。

最后在从节点上启动存储从服务资源管理从服务(以下两条命令要在两台机器上分别执行)

/home/joe/hadoop-3.0.0-alpha1/sbin/hadoop-daemon.sh start datanode #启动从存储服务

/home/joe/hadoop-3.0.0-alpha1/sbin/yarn-daemon.sh start nodemanager #启动资源管理从服务

 

3 通过jps命令查看

master

[root@cmaster hadoop-3.0.0-alpha4]# jps

3842 ResourceManager

4217 Jps

2766 NameNode

[root@cmaster hadoop-3.0.0-alpha4]#

 

Slave1

[root@cslave0 home]# jps

2561 DataNode

3333 Jps

3224 NodeManager

2621 SecondaryNameNode

[root@cslave0 home]#

 

Slave2:

[root@cslave1 home]# jps

3256 Jps

2955 DataNode

3084 NodeManager

[root@cslave1 home]#

 

 

4现在便可以打开页面http://192.168.161.133:8088http://192.168.161.133:9870;看到下面两个页面时说明安装成功。

wKioL1njQDKiChK0AAGtzOBYBCo356.png-wh_50wKiom1njQvbQ2QW5AADZRj4jcdc972.png-wh_50 

 

 

 

 

五借鉴网址:

http://blog.csdn.net/u010499619/article/details/52886872

http://www.linuxidc.com/Linux/2016-11/137244.htm

http://blog.csdn.net/u013725455/article/details/70147331

http://www.linuxidc.com/Linux/2016-10/136166.htm