Ansible-为集群添加时间同步计划任务

Ansible-为集群添加时间同步计划任务

说明

为集群各节点批量添加时间同步计划任务主要用到ansible的两个模块,分别是service和cron模块。使用service模块是为了确保节点没有启动ntpd服务,因为当启动ntpd服务的时候,将无法使用ntpdata命令去同步时间。使用cron模块主要是为了添加计划任务。

定义inventory

[root@localhost sync_ntp]# pwd
/root/ansible/sync_ntp

[root@localhost sync_ntp]# cat es_hosts 
[es_hosts]
192.168.10.1[0:9]   #范围是10-19,共10各节点

编写playbook

[root@localhost sync_ntp]# cat sync_ntp.yml 
---
- hosts: all
  remote_user: root
  gather_facts: false

  tasks:
    - name: stop ntpd
      service: name=ntpd state=stopped enabled=no
      ignore_errors: true  #忽略错误,因为有些节点可能没有安装ntpd服务

    - name: add ntpdate to crontab
      cron: name='sync ntp' minute=*/10 job='/usr/sbin/ntpdate 192.168.10.20 > /dev/null 2&>1;hwclock -w'
            state=present
...

执行

[root@localhost sync_ntp]# ansible-playbook -i es_hosts sync_ntp.yml
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用 Ansible 部署多个 Hadoop 集群时,可以使用 Ansible 的 `copy` 模块将一个集群节点的公钥复制到其他集群节点上,实现多个集群节点之间的 SSH 无密码登录。 以下是实现步骤: 1. 生成 SSH 密钥对 使用以下命令在 Ansible 控制节点上生成 SSH 密钥对: ``` ssh-keygen -t rsa -b 2048 ``` 2. 将公钥复制到其他集群节点 假设有两个集群 A 和 B,集群 A 的 IP 为 `192.168.1.100`,集群 B 的 IP 为 `192.168.2.100`。现在要将集群 A 的公钥复制到集群 B 上。 首先,在集群 A 上使用以下命令将公钥复制到本地: ``` ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.2.100 ``` 然后,在 Ansible 控制节点上使用以下命令将集群 A 的公钥复制到集群 B 上: ``` ansible all -m copy -a "src=/root/.ssh/id_rsa.pub dest=/root/.ssh/authorized_keys mode=600" -u root -i 192.168.2.100, ``` 其中,`-i` 参数指定目标主机的 IP 地址,`,` 后面的逗号表示只有一个目标主机。 3. 测试 SSH 无密码登录 使用以下命令测试 SSH 无密码登录: ``` ssh 192.168.2.100 ``` 如果能够直接登录到集群 B 节点,则说明 SSH 无密码登录已成功实现。 注意事项: - 要保证集群节点之间的时间同步,否则可能会导致 SSH 连接失败。可以使用 NTP 等工具进行时间同步。 - 要保证 SSH 服务已启动,并且允许使用密码登录。可以编辑 `/etc/ssh/sshd_config` 文件,将 `PasswordAuthentication` 选项设置为 `yes`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值