3台机器配置hadoop集群_Centos7.5搭建Hadoop2.7.7完全分布式集群部署

Centos7.5搭建Hadoop2.7.7完全分布式集群部署

6dc54da9d04f42dd2ebea549614c18b7.png

一、安装之前准备工作

1.整体规划

系统版本:Centos7.5 hadoop-2.7.7 (因为spark使用的是该版本,为了后续扩展spark)jdk 1.8

节点配置:

10.106.145.181 ——master01.hadoop

10.106.145.182 ——slave01.hadoop

10.106.145.183 ——slave02.hadoop

2. 创建客户hadoop(三台机器都创建相同客户 root账户执行)

useradd hadoop

passwd hadoop

开sudo权限

vi /etc/sudoers

hadoop ALL=(root) NOPASSWD:ALL

0de038ebfdc6e2a17fa8c6014f8c7c30.png

3. 配置hosts文件,使3台客户机能够以主机名相互访问(root账户执行)

3台机器都需要这样配置

vi /etc/hosts

10.106.145.181 master01.hadoop

10.106.145.182 slave01.hadoop

10.106.145.183 slave02.hadoop

020ae3949e2c0166b99b29643c12e778.png

# 将hosts文件传送给其它3台客户机

scp -r /etc/hosts root@Slaver-1:/etc

scp -r /etc/hosts root@Slaver-2:/etc

scp -r /etc/hosts root@Slaver-3:/etc

4. 为4台客户机配置jdk环境(不详细介绍网上搜索即可)

5. 关闭防火墙,SELinux

[root@Master ~]# systemctl stop firewalld

# 禁止开机启动,输出如下,则表示禁止成功

systemctl disable firewalld

5. 设置SSH免密钥 (不详细介绍网上搜索即可 注意这里使用hadoop进行ssh免密 不是root账户)

二、安装hadoop集群

注意只有第1步是使用root账户操作,其它都使用hadoop用户进行操作

1. hadoop安装目录(root账户操作)

为了统一管理,我们将hadoop的安装路径定为/usr/local/hadoop-2.7.7下,创建目录后,我们将hadoop二进制文件解压至这个目录下。

tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local/

将权限授予hadoop账户

chown -R hadoop:hadoop /usr/local/hadoop-2.7.7

2.创建文件夹(hadoopyoghurt)

cd /usr/local/hadoop-2.7.7/

mkdir tmp

mkdir hdfs

mkdir hdfs/data

mkdir hdfs/name

3. 配置core-site.xml

配置core-site.xml 数据/usr/local/hadoop-2.7.7/etc/hadoop目录下

fs.defaultFS

hdfs://10.106.145.181:9000

hadoop.tmp.dir

file:/usr/local/hadoop-2.7.7/tmp

io.file.buffer.size

131072

4. 配置hdfs-site.xml

dfs.replication

3

dfs.namenode.name.dir

file:/usr/local/hadoop-2.7.7/hdfs/name

dfs.datanode.data.dir

file:/usr/local/hadoop-2.7.7/hdfs/data

dfs.namenode.http-address

master01.hadoop:50070

dfs.namenode.secondary.http-address

master01.hadoop:50090

dfs.webhdfs.enabled

true

dfs.permissions

false

5. 配置yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.nodemanager.aux-services.mapreduce.shuffle.class

org.apache.hadoop.mapred.ShuffleHandler

yarn.resourcemanager.address

master01.hadoop:8032

yarn.resourcemanager.scheduler.address

master01.hadoop:8030

yarn.resourcemanager.resource-tracker.address

master01.hadoop:8031

yarn.resourcemanager.admin.address

master01.hadoop:8033

yarn.resourcemanager.webapp.address

master01.hadoop:8088

yarn.nodemanager.resource.memory-mb

1024

yarn.resourcemanager.hostname

master01.hadoop

yarn.resourcemanager.address

ResourceManager对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等。

yarn.resourcemanager.scheduler.address

调度器地址,是ResourceManager对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。

yarn.resourcemanager.resource-tracker.address

ResourceManager对NodeManager暴露的地址。NodeManager通过该地址向RM汇报心跳,领取任务等。

yarn.resourcemanager.admin.address

ResourceManager对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。

yarn.resourcemanager.webapp.address

ResourceManage对外WebUI地址。用户可通过该地址在浏览器中查看集群各类信息。

yarn.nodemanager.resource.memory-mb

NodeManage总的可用物理内存,不能小于1024。注意 该参数一旦设置,整个运行过程中不可动态修改。

5. 配置mapred-site.xml

mapreduce.framework.name

yarn

mapreduce.jobhistory.address

master01.hadoop:10020

mapreduce.jobhistory.webapp.address

master01.hadoop:19888

7. 配置slaves文件

这里是指定那些是slave机器,因为我们只有3台机器而复制数量设置的3,所有也把master作为slave来用

vim slaves

master01.hadoopslave01.hadoopslave02.hadoop

8. ,指定JAVA_HOME

vim hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_212-amd64

9. 配置yarn-env.sh,指定JAVA_HOME

vi yarn-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_212-amd64

ada90ffe0728666d187563987eff02d5.png

10. 配置mapred-env.sh,指定JAVA_HOME

vi mapred-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_212-amd64

11. 将hadoop文件分发到其它几台客户机上

从master01上将配置好的文件发送到另外两台机器上

scp -r /usr/local/hadoop-2.7.7 hadoop@slave01.hadoop:/home/hadoop/

scp -r /usr/local/hadoop-2.7.7 hadoop@slave02.hadoop:/home/hadoop/

然后登录另外两台上去迁移文件到 /user/local目录下去

sudo mv hadoop-2.7.7 /usr/local/

三、启动并验证hadoop集群

1. 配置/etc/profile(root账户操作)

使用root账户分别在所有机器上操作环境变量

vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_212-amd64

export HADOOP_HOME=/usr/local/hadoop-2.7.7

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_CONF_DIR=$HADOOP_HOME/etc/hadoop

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

生效

source /etc/profile

2.格式化namenode(以下都是使用hadoop用户操作)

cd /usr/local/hadoop-2.7.7/sbin/

hdfs namenode -format

16fe9a32ab49efd42f5b1507be759e02.png

启动hdfs

./start-dfs.sh

然后 jps:

在主服务器上 有 NameNode SecondNameNode

在从服务器上有 DateNode

4982a3333b7c49eb0923ffeed217955c.png

我们也可以使用 hdfs dfsadmin -report 在主服务器上进行验证

hdfs dfsadmin -report

7357a074f43d073a9571df5dfe813506.png
80aff92dbcafc42eae73aef780d31076.png

然后在启动 yarn 程序

./start-yarn.sh

yarn 有两个进程 一个是 ResourceManager 和 NodeManager

e9a9a37b87410c5d46d7ac51455aa65e.png

3. web验证

至此,我们的集群就已完全启动起来了,我们可以通过访问web页面,来做最后一步验证。我们已将web页面配置在Master主机上,因此,我们访问http://10.106.145.181:50070/,页面显示如下:

d81cf788916f34a8cd0f7a978c6e5983.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值