Ubuntu16.04-hadoop3.1.0安装与配置

前言

本文尝试源码安装部署hadoop3.1.0

系统为ubuntu16.04

需要具有一定基础,一些基本操作只是简略带过

我主要把各个部署方案的配置文件综合了起来,把一些常用的配置以及说明都写了上来

适合快速部署hadoop的朋友

服务器概览

序号 主机名 IP 配置 功能 备注
1 master 192.168.136.148 内存:4G
CPU:2vCores
主节点
namenode
resourcemanager
2 standby 192.168.136 内存:4G
CPU:2vCores
备用主节点
secondaryNameNode
默认在master上
3 slave1 192.168.136.149 内存:2G
CPU:1vCores
从节点
DataNode
NodeManager
4 slave2 192.168.136.150 内存:2G
CPU:1vCores
从节点
DataNode
NodeManager

部署

配置hosts文件,设置静态IP与主机名

1
2
3
4
5
6
7
8
9
10
11
root@master:~# cat /etc/hosts
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

192.168.136.148 master
192.168.136.149 slave1
192.168.136.150 slave2

配置时间同步

关闭防火墙(centos关闭selinux)

配置master免密登录其它节点

JDK安装

  • 源码安装或者apt安装

    环境变量(apt安装不需要配置环境变量)

    1
    2
    3
    4
    export JAVA_HOME=/opt/java/jdk1.8.0_172
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH

安装hadoop

下载hadoop,将其解压至/opt/目录下

1
2
3
4
5
6
7
8
9
10
[root@node1 opt]# cd /opt/ & mkdir hadoop && cd hadoop
#解压hadoop-3.1.0.tar.gz
[root@node1 hadoop]# tar -zxvf hadoop-3.1.0.tar.gz

#修改环境变量
[root@node1 hadoop]# vim /etc/profile

# 在最后下添加
export HADOOP_HOME=/opt/hadoop/hadoop-3.1.0
export PATH=$PATH:$HADOOP_HOME/bin
1
source /etc/profile

编辑配置文件

1
2
3
4
5
修改配置文件

> 共需要配置/opt/hadoop/hadoop-3.1.0/etc/hadoop/下的六个个文件,分别是
>
> hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、workers

hadoop-env.sh

vim hadoop-env.sh

 export JAVA_HOME=/opt/java/jdk1.8.0_172/

 export HDFS_NAMENODE_USER="root"
 export HDFS_DATANODE_USER="root"
 export HDFS_SECONDARYNAMENODE_USER="root"
 export YARN_RESOURCEMANAGER_USER="root"
 export YARN_NODEMANAGER_USER="root"

core-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<configuration>
<!-- 指定HDFS老大(namenode)的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/data/tmp</value>
</property>
<!-- 指定hadoop流文件的缓冲区,单位为K -->
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>

hdfs-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<configuration>

<!-- 设置namenode的http通讯地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>

<!-- 设置secondarynamenode的http通讯地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>standby:50090</value>
</property>
<!-- 设置dfs块大小,单位K,默认128Mb -->
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>

<property>
<name>dfs.namenode.handler.count </name>
<value>100</value>
</property>

<!-- 设置namenode存放的路径 (最好指定多个路径,包括NFS,用逗号分隔,便于容灾)-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/name</value>
</property>

<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 设置datanode存放的路径(可以指定多个路径,多个路径最好分别为不同的磁盘,提高效率) -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/datanode</value>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

mapred-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/opt/hadoop/hadoop-3.1.0/etc/hadoop,
/opt/hadoop/hadoop-3.1.0/share/hadoop/common/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/common/lib/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/hdfs/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/hdfs/lib/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/mapreduce/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/mapreduce/lib/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/yarn/*,
/opt/hadoop/hadoop-3.1.0/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>

yarn-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!-- 配置外网只需要替换外网ip为真实ip,否则默认为 localhost:8088 -->
<!-- <property>
<name>yarn.resourcemanager.webapp.address</name>
<value>外网ip:8088</value>
</property> -->

<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>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8040</value>
</property>
</configuration>

masters

新建一个masters的文件,这里指定的是secondary namenode 的主机

1
2
3
4
[root@node1 hadoop]# touch /opt/hadoop/hadoop-3.1.0/etc/hadoop/masters
[root@node1 hadoop]# vim /opt/hadoop/hadoop-3.1.0/etc/hadoop/masters
#添加
standby

workers

在workers文件中添加slave节点

1
2
3
4
[root@node1 hadoop]# vim /opt/hadoop/hadoop-3.1.0/etc/hadoop/workers
#添加
slave1
slave2

创建文件夹

1
2
3
[root@node1 hadoop]# mkdir -p /opt/hadoop/data/tmp
[root@node1 hadoop]# mkdir -p /opt/hadoop/data/name
[root@node1 hadoop]# mkdir -p /opt/hadoop/data/datanode

复制到其他主机

1
2
[root@node1 opt]# scp -r /opt/hadoop spark.node2:/opt/
[root@node1 opt]# scp -r /opt/hadoop spark.node3:/opt/

格式化 第一次启动得格式化

1
[root@node1 opt]#  /opt/hadoop/hadoop-3.1.0/bin/hdfs namenode -format

启动

1
2
/opt/hadoop/hadoop-3.1.0/sbin/start-dfs.sh
/opt/hadoop/hadoop-3.1.0/sbin/start-yarn.sh

查看

1
jps

关闭 【只在master上操作】

1
2
/opt/hadoop/hadoop-3.1.0/sbin/stop-dfs.sh
/opt/hadoop/hadoop-3.1.0/sbin/stop-yarn.sh

删除(谨慎操作,只在master上操作)

重置hadoop环境 [移除hadoop hdfs log文件]

1
2
rm -rf /opt/hadoop/hadoop-3.1.0/logs/*
rm -rf /opt/hadoop/data
--------------------本文结束,感谢您的阅读--------------------

本文标题:Ubuntu16.04-hadoop3.1.0安装与配置

文章作者:弓昭

发布时间:2018年12月26日 - 20:22

最后更新:2020年04月08日 - 22:20

原始链接:https://gongzhao1.gitee.io/Ubuntu16.04-hadoop3.1.0安装与配置/

联系邮箱:gongzhao1@foxmail.com