ambari集群ntp时间同步

步骤

  • 选择一个主节点, 编写nodelist文件(列出需要同步的节点ip或host名)
  • 编写初始化脚本
  • 需要同步的节点配置crontab定时任务

编写nodelist文件

# 选择主节点: 192-168-81-58
sudo su root
cd ~
vim nodelist

nodelist文件内容如下, host名称:

192-168-81-54
192-168-81-55
192-168-81-56
192-168-81-57
192-168-81-58
192-168-79-41
192-168-79-42
192-168-79-43
192-168-79-44
192-168-79-45
192-168-79-46
192-168-79-47

编写初始化脚本

# 选择主节点: 192-168-81-58
sudo su root
cd ~
vim ntp_sync.sh

ntp_sync.sh脚本内容如下:

#!/usr/bin/env bash
bin=`dirname $0`
bin=`cd "$bin"; pwd`
cd $bin
host_list=$(cat ~/nodeslist)
master_hostip=$(sed -n 1p ~/nodeslist)
ips_no_host=$(sed -n '2,$p' ~/nodeslist)
# 判断当前系统版本,方便用户单独执行
os_version=centos7
# 遍历所有节点
# 操作:1.修改时区为上海时区 2.设置开机自启动 3.修改配置文件ntp.cnf
for host in $host_list
do
        # 设置时区
        ssh $host ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
        # 开机自启动
        flag=`ssh $host grep -c \"service ntpd restart\" /etc/rc.d/rc.local`
        if [ $flag -eq '0' ]; then
                ssh $host "echo service ntpd restart >> /etc/rc.d/rc.local"
                echo "service ntpd restart in /etc/rc.d/rc.local add successfully!"
        else
                echo "service ntpd restart in /etc/rc.d/rc.local already exist, not need to add."
        fi
        flag=`ssh $host grep -c \"hwclock --systohc\" /etc/rc.d/rc.local`
        if [ $flag -eq '0' ]; then
                ssh $host "echo "hwclock --systohc" >> /etc/rc.d/rc.local"
                echo "hwclock --systohc in /etc/rc.d/rc.local add successfully!"
        else
                echo "hwclock --systohc in /etc/rc.d/rc.local already exist, not need to add."
        fi
        ssh $host "chmod +x /etc/rc.d/rc.local"
        # 安装ntp服务
        ssh $host yum install -y -q ntp
        if [[ $os_version = "centos6" ]];then
                ssh $host "sed -i -e '22 s/^/# /' -i -e '23 s/^/# /' -i -e '24 s/^/# /' -i -e '25 s/^/# /' /etc/ntp.conf"
        else
                ssh $host "sed -i -e '21 s/^/# /' -i -e '22 s/^/# /' -i -e '23 s/^/# /' -i -e '24 s/^/# /' /etc/ntp.conf"
        fi
        flag=`ssh $host grep -c \"fudge 127.127.1.0 stratum 10\" /etc/ntp.conf`
        if [ $flag -eq '0' ]; then
                ssh $host "echo fudge 127.127.1.0 stratum 10 >> /etc/ntp.conf"
                echo "fudge 127.127.1.0 stratum 10 in /etc/ntp.conf add successfully!"
        else
                echo "fudge 127.127.1.0 stratum 10 in /etc/ntp.conf already exist,not need to add."
        fi
done
# 主节点操作
# 1.重启ntpd 2.硬件时间以系统时间为标准进行同步 3.打印主节点当前系统时间
service ntpd restart
hwclock --systohc
echo -e "\e[0;32;1m==== "$master_hostip"当前系统时间为: ====\e[0m"
date
echo -e "\e[0;32;1m==== "$master_hostip"当前硬件时间为: ====\e[0m"
hwclock

主节点配置crontab

# 选择主节点: 192-168-81-58
sudo su root
cd ~
crontab -e

crontab内容如下:

*/3 * * * * /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1

其它节点配置crontab

# 其它所有节点依次配置crontab任务
#192-168-81-54
#192-168-81-55
#192-168-81-56
#192-168-81-57
#192-168-79-41
#192-168-79-42
#192-168-79-43
#192-168-79-44
#192-168-79-45
#192-168-79-46
#192-168-79-47

sudo su root
crontab -e

crontab任务内容如下:

* */1 * * * /usr/sbin/ntpdate 192-168-81-58
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值