目录

一、前期准备

二、配置hadoop环境变量

1.解压到当前目录

2.配置hadoop环境变量

3.让配置的环境变量生效

4.检查是否配置成功

 三、搭建hadoop集群(三台为例)

创建文件夹

修改配置文件

 1.hadoop-env.sh

 2.core-site.xml

 3. hdfs-site.xml

 4. mapred-site.xml

 5. yarn-site.xml

 6. 指定datanode存放的服务器

 7. 将slave1中的JDK安装包分发给slave2、slave3

 8.将slave1中配置好的环境变量文件分发给slave2、slave3

 9.分发配置好的hadoop文件

10.格式化namenode(slave1)

11.启动hdfs(slave1)

12.启动yarn(slave3)

13.启动完成,每台服务器上的进程情况

14.web访问

 注意:若在启动过程中,有个别进程或服务器中的进程未正常启动,则修改文件后需 要清空datanode数据存放路径、namenode数据存放路径及tmp路径下的文件,然后重 新格式化namenode,最后再启动集群


一、前期准备

1.配置好jdk的环境

2.配置ssh免密登录

3.配置ip地址和主机名的映射

4.关闭防火墙

可参考文章

二、配置hadoop环境变量

hadoop下载网盘链接

提取码: 1v28

1.解压到当前目录,我的是在/opt目录下

tar zxvf hadoop-2.9.1.tar.gz

2.配置hadoop环境变量,在etc/profile.d目录下

个人习惯把环境变量放在该配置文件

vim my_enc.sh
export HADOOP_HOME="/opt/hadoop-2.9.1"
export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH"

 

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_Hadoop完全分布式搭建

 

3.让配置的环境变量生效

source /etc/profile

 4.检查是否配置成功

hadoop version

出现如下版本号,即成功配置

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_大数据_02

 三、搭建hadoop集群(三台为例)

  namenode、 datanode、 secondarynamenode、resourcemanager、nodemanager

(名字节点) (数据节点)(备用的名字节点)     (资源管理器)    (节点管理器)

  集群规划

slave1

slave2

slave3

hdfs

namenode

datanode

secondarynamenode

datanode

datanode

yarn

nodemanager

nodemanager

resourcemanager

nodemanager

建议:namenode、secondarynamenode、resourcemanager都比较耗费系统资源,所以尽量不要部署在同一台服务器上

创建文件夹

#hadoop运行时产生数据的存放路径
mkdir /opt/hadoop-record/tmp
#配置hdfs的namenode存储的路径
mkdir /opt/hadoop-record/name
#配置hdfs的datanode存储的路径
mkdir /opt/hadoop-record/data

修改配置文件,我是在以下路径

cd /opt/hadoop/etc/hadoop

 1.hadoop-env.sh

vim hadoop-env.sh

 

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_Hadoop完全分布式搭建_03

 2.core-site.xml

vim core-site.xml

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_分布式_04

3. hdfs-site.xml

vim hdfs-site.xml

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_linux_05

4. mapred-site.xml

vim mapred-site.xml

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_大数据_06

5. yarn-site.xml

vim yarn-site.xml

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_大数据_07

6. 指定datanode存放的服务器

vim slaves

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_Hadoop完全分布式搭建_08

7. 将slave1中的JDK安装包分发给slave2、slave3

#分发到slave2  jdk路径:/opt/jdk1.8.0_212/
scp -r /opt/jdk1.8.0_212/ slave2:/opt/
#分发到slave3
scp -r /opt/jdk1.8.0_212/ slave3:/opt/

8.将slave1中配置好的环境变量文件分发给slave2、slave3

#分发到slave2
scp -r /etc/profile.d/my_enc.sh slave2:/etc/profile.d/
#分发到slave3
scp -r /etc/profile.d/my_enc.sh slave3:/etc/profile.d/

分发完成,要让slave2、slave3的配置生效,需要在slave2和slave3上分别source /etc/profile文件

source /etc/profile

9.分发配置好的hadoop文件

#分发到slave2
scp -r /opt/hadoop-2.9.1/ slave2:/opt
scp -r /opt/hadoop-record/ slave2:/opt
#分发到slave3
scp -r /opt/hadoop-2.9.1/ slave3:/opt
scp -r /opt/hadoop-record/ slave3:/opt

10.格式化namenode(slave1)

说明:namenode部署在哪台服务器上,就只需要在该台服务器上格式化namenode即可

/opt/hadoop-2.9.1/bin/hdfs namenode -format

 

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_linux_09

 

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_大数据_10

 11.启动hdfs(slave1)

说明:hdfs部署在哪台服务器上就在哪台服务器上启动hdfs

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_linux_11

此时三台的进程如下

 

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_Hadoop完全分布式搭建_12

 

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_大数据_13

 

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_hadoop_14

 12.启动yarn(slave3)

说明:yarn部署在哪台服务器上就在哪台服务器上启动yarn

./sbin/start-yarn.sh

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_分布式_15

 13.启动完成,每台服务器上的进程情况

 

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_分布式_16

 

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_hadoop_17

 

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_分布式_18

 14.web访问

  访问hdfs:http://slave1:50070

  

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_linux_19

  访问yarn:http://slave3:8088

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_大数据_20

 注意:若在启动过程中,有个别进程或服务器中的进程未正常启动,则修改文件后需要清空datanode数据存放路径、namenode数据存放路径及tmp路径下的文件,然后重新格式化namenode,最后再启动集群

Hadoop完全分布式搭建 hadoop完全分布式集群搭建_大数据_21

清空之后再启动hdfs和yarn