本文源码: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 hop01192.168.37.134 hop02192.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 notrapserver 127.0.0.1fudge 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
hop01hop02hop03
这里配置三台服务的集群列表。同步批改其余服务雷同配置。
4、格式化NameNode
留神这里NameNode配置在hop01服务上。
[root@hop01 hadoop2.7]# bin/hdfs namenode -format
5、启动HDFS
[root@hop01 hadoop2.7]# sbin/start-dfs.shStarting namenodes on [hop01]hop01: starting namenodehop03: starting datanodehop02: starting datanodehop01: starting datanodeStarting secondary namenodes [hop03]hop03: starting secondarynamenode
留神看这里的打印信息,和配置齐全吻合。namenodes在hop01上启动,secondary-namenodes在hop03上启动,能够通过JPS命令到各个服务查看验证。
6、启动YARN
留神Yarn配置在hop02服务上,所以在hop02服务执行启动命令。
[root@hop02 hadoop2.7]# sbin/start-yarn.shstarting yarn daemonsstarting resourcemanagerhop03: starting nodemanagerhop01: starting nodemanagerhop02: starting nodemanager,
留神这里的启动打印日志,至此集群布局的服务都启动结束。
[root@hop01 hadoop2.7]# jps4306 NodeManager4043 DataNode3949 NameNode[root@hop02 hadoop2.7]# jps3733 ResourceManager3829 NodeManager3613 DataNode[root@hop03 hadoop2.7]# jps3748 DataNode3928 NodeManager3803 SecondaryNameNode
查看各个服务下的集群过程,与布局配置统一。
7、Web端界面
NameNode:http://hop01:50070SecondaryNameNode:http://hop03:50090
三、源代码地址
GitHub·地址https://github.com/cicadasmile/big-data-parentGitEE·地址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 |