本文源码: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调度单服务
hop01DataNodeNodeManagerNameNode
hop02DataNodeNodeManagerResourceManager
hop03DataNodeNodeManagerSecondaryNameNode

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