共计 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 |