关于hadoop:Hadoop框架集群模式下分布式环境搭建

6次阅读

共计 3495 个字符,预计需要花费 9 分钟才能阅读完成。

本文源码:GitHub·点这里 || GitEE·点这里

一、根底环境配置

1、三台服务

筹备三台 Centos7 服务, 根底环境从伪分布式环境克隆过去。

133 hop01,134 hop02,136 hop03

2、设置主机名

## 设置名称
hostnamectl set-hostname hop01
## 重启
reboot -f

3、主机名通信

vim /etc/hosts
# 增加服务节点
192.168.37.133 hop01
192.168.37.134 hop02
192.168.37.136 hop03

4、SSH 免密登录

配置三台服务 SSH 免密登录。

[root@hop01 ~]# ssh-keygen -t rsa
... 一路回车完结
[root@hop01 ~]# cd .ssh
... 权限调配到指定集群服务
[root@hop01 .ssh]# ssh-copy-id hop01
[root@hop01 .ssh]# ssh-copy-id hop02
[root@hop01 .ssh]# ssh-copy-id hop03
... 在 hop01 免密登录到 hop02
[root@hop01 ~]# ssh hop02

这里针对 hop01 服务,在 hop02 和 hop03 服务都要执行该操作。

5、同步工夫

ntp 组件装置

# 装置
yum install ntpdate ntp -y
# 查看
rpm -qa|grep ntp

根底治理命令

# 查看状态
service ntpd status
# 启动
service ntpd start
# 开机启动
chkconfig ntpd on

批改工夫服务 hop01

# 批改 ntp 配置
vim /etc/ntp.conf
# 增加内容
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.0.0.1
fudge 127.0.0.1 stratum 10

批改 hop02hop03 工夫机制,从 hop01 同步工夫,并登记网络获取工夫的机制。

server 192.168.37.133
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst

编写定时工作

[root@hop02 ~]# crontab -e
*/10 * * * * /usr/sbin/ntpdate hop01

批改 hop02 和 hop03 服务工夫

# 指定工夫
date -s "2018-05-20 13:14:55"
# 查看工夫
date

这样工夫会基于 hop01 服务的工夫一直的更正或同步。

6、环境清理

从伪分布式环境虚拟机克隆三台 Centos7 服务, 删除原来 hadoop 环境配置的 data 和 log 文件夹。

[root@hop02 hadoop2.7]# rm -rf data/ logs/

二、集群环境搭建

1、集群配置概览

服务列表 HDFS 文件 YARN 调度 单服务
hop01 DataNode NodeManager NameNode
hop02 DataNode NodeManager ResourceManager
hop03 DataNode NodeManager SecondaryNameNode

2、批改配置

vim core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hop01:9000</value>
</property>

这里三台服务都须要别离指定以后主机名称。

vim hdfs-site.xml

<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>

<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hop03:50090</value>
</property>

这里批改正本数为 3,并指定 SecondaryNameNode 服务,三台服务同样批改指定 SecondaryNameNode 在 hop03 服务上。

vim yarn-site.xml

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hop02</value>
</property>

指定 ResourceManager 服务在 hop02 上。

vim mapred-site.xml

<!-- 服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hop01:10020</value>
</property>

<!-- 服务器 web 端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hop01:19888</value>
</property>

指定相干 web 端查看地址在服务 hop01 上。

3、集群服务配置

门路:/opt/hadoop2.7/etc/hadoop

文件:vim slaves

hop01
hop02
hop03

这里配置三台服务的集群列表。同步批改其余服务雷同配置。

4、格式化 NameNode

留神这里 NameNode 配置在 hop01 服务上。

[root@hop01 hadoop2.7]# bin/hdfs namenode -format

5、启动 HDFS

[root@hop01 hadoop2.7]# sbin/start-dfs.sh
Starting namenodes on [hop01]
hop01: starting namenode
hop03: starting datanode
hop02: starting datanode
hop01: starting datanode
Starting secondary namenodes [hop03]
hop03: starting secondarynamenode

留神看这里的打印信息,和配置齐全吻合。namenodes 在 hop01 上启动,secondary-namenodes 在 hop03 上启动,能够通过 JPS 命令到各个服务查看验证。

6、启动 YARN

留神 Yarn 配置在 hop02 服务上,所以在 hop02 服务执行启动命令。

[root@hop02 hadoop2.7]# sbin/start-yarn.sh
starting yarn daemons
starting resourcemanager
hop03: starting nodemanager
hop01: starting nodemanager
hop02: starting nodemanager,

留神这里的启动打印日志,至此集群布局的服务都启动结束。

[root@hop01 hadoop2.7]# jps
4306 NodeManager
4043 DataNode
3949 NameNode
[root@hop02 hadoop2.7]# jps
3733 ResourceManager
3829 NodeManager
3613 DataNode
[root@hop03 hadoop2.7]# jps
3748 DataNode
3928 NodeManager
3803 SecondaryNameNode

查看各个服务下的集群过程,与布局配置统一。

7、Web 端界面

NameNode:http://hop01:50070
SecondaryNameNode:http://hop03:50090

三、源代码地址

GitHub·地址
https://github.com/cicadasmile/big-data-parent
GitEE·地址
https://gitee.com/cicadasmile/big-data-parent

举荐浏览:编程体系整顿

项目名称
【Java 形容设计模式, 算法, 数据结构】GitHub==GitEE
【Java 根底、并发、面向对象、Web 开发】GitHub==GitEE
【SpringCloud 微服务根底组件案例详解】GitHub==GitEE
【SpringCloud 微服务架构实战综合案例】GitHub==GitEE
【SpringBoot 框架根底利用入门到进阶】GitHub==GitEE
【SpringBoot 框架整合开发罕用中间件】GitHub==GitEE
【数据管理、分布式、架构设计根底案例】GitHub==GitEE
【大数据系列、存储、组件、计算等框架】GitHub==GitEE
正文完
 0