开发者学堂课程【2020版大数据实战项目之 DMP 广告系统(第二阶段): CDH 搭建_时间同步】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/677/detail/11761
CDH 搭建_时间同步
内容介绍
一、测试网络配置
二、系统配置
一、测试网络配置
经过集群的规划,包括网络的配置,此时虚拟机已经是可用的状态,但是在配置网络结束后,一定要重启虚拟机,因为重启虚拟机后,一些网络的设置才可生效(老师已经重启)。
进入虚拟机中,在进行正式的内容之前先进行简单的测试。
1.测试cdh1:(网络配置)
在虚拟机内对 baidu.com 进行 ping:
输入代码:ping baidu.com;回车
如果 ping baidu.com 能够成功,该步骤完成
输入代码:IP addr;
回车,观察 IP 地址是否为所修改的 IP地址101
如果 IP 地址是101,则该配置完成。
2.测试 cdh02
进入 cdh02 中登录(重启虚拟机)。
在 cdh01 login 后输入 root
(使用 root 进行登录)
Passward 后输入 hadoop
(密码是 hadoop )
在虚拟机内对 baidu.com 进行 ping:
输入代码:ping baidu,com;回车
如果 ping baidu.com 能够成功,该步骤完成
输入代码:IP addr;回车;观察 IP 地址是否为所改的102的IP地址
如果 IP 地址是 102,则该配置完成
3.测试 cdh03
进入到 cdh03 中登录(重启虚拟机)。
在虚拟机内对 baidu.com 进行 ping:
输入代码:ping baidu.com;
回车
(20ms,速度较慢,但可接受)
如果 ping baidu.com 能够成功,该步骤完成
输入代码:IP addr;
回车;观察 IP 地址是否为所改的 103 的 IP 地址
在 eth0 中找到 103,lo 为本地。如果 IP 地址是 103,则该配置完成
上述为网络配置,回到脑图中发现网络配置完成;要确认网络首先能访问外网,其次有对应的正确的 IP 地址。
二、系统配置:
1.系统配置分为:
配置时间同步服务:通过本视频向同学们介绍如何配置时间同步服务以及配置时间同步服务的意义。
进入笔记,在笔记中有配置时间同步服务的步骤
2.配置时间同步服务的含义:
要配置时间同步服务是因为在集群里会部署很多存储服务(例如 HBase , HDFS,Kudu),存储服务会将文件或数据分成不同的区或块,然后把不同的区或块同步到其他的节点中,如果这些节点之间的时间不同步,此时会出现问题。
问题:假如现在有三台机器,假如请求从第一台机器通过,当请求通过时第一台机器需要写一个文件块,恰好第三台机器也需要写一个文件块,但是从绝对的时间角度上来观察,第一台机器在前,第三台机器在后,但是时间戳不同。
例如:
第一台机器(真实时间:123,时间戳:123)
第三台机器(真实时间:125,时间戳:125)
第三台机器晚于第一台机器的真实时间,所以我们将第三台机器的真实时间配置稍早一些
第一台机器(真实时间是123,时间戳是123)
第三台机器(真实时间是120,时间戳是125)
在该情况下,第三台机器数据早于第一台机器的数据
所以第一台机器的数据代替掉第三台机器的数据,但此时第三台机器的时间戳是125。
此时的问题是第三台机器的时间不准,所以他们在同步的时候,第一台机器要把数据块给中间节点,第三台机器也把数据块给中间节点,最终只留一个数据块。此时第三台机器占用了第一台机器的数据块(第三台机器覆盖了第一台机器的数据块),因为从时间戳来看第三台机器比较晚。
因此在几乎所有的分布式存储系统上,都要求严格的要求进行时钟同步(在同一个复制周期内,一次 IO 内),避免出现旧的数据在同步过程中变为新的数据,包括 HBase , HDFS , Kudu 都需要进行时钟同步,所以在一切开始前,先同步一下时钟,保证没有问题
所以要配置时间同步服务,让三台机器的时间同步。
3.系统配置(概述):
(1)安装 ntp ,时钟同步比较简单,只需要确定时钟没有太大差异,然后开启 ntp 的自动同步服务即可。
输入代码:yum install -y ntp
service ntpd start
(2)同步大概需要5-10分钟,然后查看是否已经是同步状态。
输入代码:ntpstat
最后在其余两台节点也要如此配置。
4.系统配置(具体操作):
进入虚拟机进行配置,此时已经不需要单独的虚拟机,可将虚拟机全部最小化(正在运行)
(1)创建 session:
打开窗口,在 Shall 里操作
右键点击左侧空白处,创建三个 session
第一个session:创建 SSH,点击 SSH,
Remote host *:192.168.169.101
Specify username(用户名):root
点击 OK,创建出第一个 session
右击 User session 下的 192.168.169.101,点击 Rename session
将 Session name 改为 cdh01
点击 OK
此时已经创建好
输入密码:hadoop;
进行登录将会记住密码,点击 Yes
复制俩份Session
右击 User session 下的 cdh01,点击 Duplicate session
再次右击 User session 下的 cdh01,点击 Duplicate session
右击cdh01(1)点击 edit session 进行修改:
Remote host *改为192.168.169.102
Session name 改为 cdh02
点击OK
右击cdh01(1)
(1)点击 edit session 进行修改:
Remote host *改为192.168.169.103
Session name 改为 cdh03
点击 OK
此时配置完成。
(2)分别登陆虚拟机
Cdh01已经登录
打开 Cdh02:
输入密码:hadoop;回车
进行登录将会记住密码,点击 Yes
打开 Cdh03:
输入密码:hadoop;回车
进行登录将会记住密码,点击 Yes
三台机器配置完成
(3)①安装 ntp ,时钟同步比较简单,只需要确定时钟没有太大差异,然后开启 ntp 自动同步服务即可,在每台机器中输入如下命令,-y不需要确认是否手动安装。
Cdh01输入代码:yum install -y ntp;
回车
默认情况下提供给同学们的版本自带 ntp ,但安装确认较好(需要时间加载,在安装 cdh01 时不必等待,在 cdh02 和 cdh03 中输入代码 yum install -y ntp ),-y
在三台机器中都需要
Cdh02 输入代码:yum install -y ntp;
回车
Cdh03 输入代码:yum install -y ntp;
回车
三台机器均出现 Successed 和 Complete 情况即为 ntp 安装成功
输入代码:clear
清空屏幕
因为 ntp 已经安装成功,需要开启 ntp 服务
进入 cdh01 中:
输入代码:service ntpd start;
回车
但一般情况下需要在开机时启动 ntp 服务
输入代码:chkconfig ntpd on;
回车;开机即可启动
进入 cdh02 中
输入代码:clear ;
清空屏幕
输入代码:service ntpd start
输入代码:chkconfig ntpd on
进入 cdh03 中
输入代码:clear ;
清空屏幕
输入代码:service ntpd start
输入代码:chkconfig ntpd on
此时三台机器的 ntp 开启成功且设置为开机启动
②同步大概需要5-10分钟,然后查看是否已经是同步状态即可(并且在 cdh02 和 cdh03 中进行相同操作)
输入代码:ntpstat;
回车
此时发现结果为 unsynchronised 状态,为正常状态,因为刚开启 ntp服务,可能要到五分钟或者十分钟才能够达到同步的状态。
输入代码:date;回车
使用 date 命令查看时间是否正确
时间正确
上述所讲即为 ntp 部分
再次输入代码 ntpstat
观察发现结果仍 unsynchronised 状态
进入 cdh02 输入 ntpstat
观察发现结果仍 unsynchronised 状态
因为过程需要持续5-10分钟,暂时未同步成功很正常,之后可以进行查看。