ansible-playbook部署zookeeper集群

该博客展示了如何利用Ansible playbook自动化部署Zookeeper集群。内容包括配置文件、任务脚本和执行过程,涉及Java环境安装、Zookeeper软件包下载、创建软链接、配置文件复制、数据目录创建、主机ID设置以及启动Zookeeper服务等步骤。最终成功部署并在各节点上验证了Zookeeper服务。
摘要由CSDN通过智能技术生成

ansible-playbook部署zookeeper集群

https://gitee.com/liangsircc/my-ansible-example/tree/main/zookeeper_cluster

目录结构

root@mq1:~/my-ansible-example/zookeeper_cluster# tree
.
├── ansible.cfg
├── hosts
├── roles
│   └── zknode
│       ├── files
│       │   └── zoo.cfg
│       ├── tasks
│       │   └── main.yml
│       └── vars
│           └── main.yml
├── zk.retry
└── zk.yml

zk.yml

---
- hosts: zk
  remote_user: root
  
  roles:
    - zknode

vars/main.yml

---
packages:
  - https://archive.apache.org/dist/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
packdir: /apps/
filename:
  zk: "{{ packages[0].partition('.tar')[0]|basename }}"

tasks/main.yml

---
- name: apt install packages
  apt: name="openjdk-8-jdk"
  when: ansible_distribution != "CentOS"
- name: yum  install packages
  dnf: name="java-1.8.0-openjdk"
  when: ansible_distribution == "CentOS"
- name: create directory
  file: path={{ packdir }} state=directory
- name: download zk packages
  unarchive: src={{ packages[0] }} dest={{ packdir }} copy=no
  register: var1
  until: var1 is succeeded
  retries: 5
- name: creat soft link
  file: src={{ packdir }}{{ filename.zk }} dest={{ packdir }}/zookeeper state=link
- name: copy cluster config file
  copy: src=zoo.cfg dest={{ packdir }}{{ filename.zk }}/conf/zoo.cfg
- name: create zk data directory
  file: path={{ packdir }}{{ filename.zk }}/data state=directory
- name: set host cluster id
  shell: "echo {{ ansible_eth0.ipv4.address.split('.')[-1] }} > {{ packdir }}{{ filename.zk }}/data/myid"
- name: start zk node
  shell: "{{ packdir }}{{ filename.zk }}/bin/zkServer.sh start"

执行脚本

root@mq1:~/my-ansible-example/zookeeper_cluster# ansible-playbook zk.yml 

PLAY [zk] ********************************************************************************************************************************************************************************

TASK [Gathering Facts] *******************************************************************************************************************************************************************
ok: [10.0.0.113]
ok: [10.0.0.112]
ok: [10.0.0.111]

TASK [zknode : apt install packages] *****************************************************************************************************************************************************
ok: [10.0.0.111]
ok: [10.0.0.113]
ok: [10.0.0.112]

TASK [zknode : yum  install packages] ****************************************************************************************************************************************************
skipping: [10.0.0.111]
skipping: [10.0.0.112]
skipping: [10.0.0.113]

TASK [zknode : create directory] *********************************************************************************************************************************************************
ok: [10.0.0.111]
ok: [10.0.0.113]
ok: [10.0.0.112]

TASK [zknode : download zk packages] *****************************************************************************************************************************************************
ok: [10.0.0.111]
changed: [10.0.0.113]
changed: [10.0.0.112]

TASK [zknode : creat soft link] **********************************************************************************************************************************************************
ok: [10.0.0.111]
changed: [10.0.0.112]
changed: [10.0.0.113]

TASK [zknode : copy cluster config file] *************************************************************************************************************************************************
changed: [10.0.0.111]
changed: [10.0.0.112]
changed: [10.0.0.113]

TASK [zknode : create zk data directory] *************************************************************************************************************************************************
changed: [10.0.0.111]
changed: [10.0.0.112]
changed: [10.0.0.113]

TASK [zknode : set host cluster id] ******************************************************************************************************************************************************
changed: [10.0.0.111]
changed: [10.0.0.113]
changed: [10.0.0.112]

TASK [zknode : start zk node] ************************************************************************************************************************************************************
changed: [10.0.0.111]
changed: [10.0.0.112]
changed: [10.0.0.113]

PLAY RECAP *******************************************************************************************************************************************************************************
10.0.0.111                 : ok=9    changed=4    unreachable=0    failed=0   
10.0.0.112                 : ok=9    changed=6    unreachable=0    failed=0   
10.0.0.113                 : ok=9    changed=6    unreachable=0    failed=0   

验证集群状态

在这里插入图片描述

Zookeeper的端口

3888是集群选举等信息通告的端口。
2888是进行数据同步的端口
2181是客户端连接服务端的端口

要使用Ansible部署MHA(MySQL高可用性解决方案),可以按照以下步骤进行操作: 1. 首先,创建一个playbook文件,比如playbook_mha.yml。在该playbook中,你需要指定你的目标主机和任务。 2. 在playbook_mha.yml中,使用ansible的shell模块来执行必要的命令。可以参考引用中的示例,使用ansible-playbook命令来执行playbook文件。 3. 在MHA节点上停止httpd服务,可以使用ansible的service模块。可以参考引用中的示例,使用ansible命令来停止httpd服务。 4. 在web服务器上安装httpd软件包,可以使用ansible的yum模块。可以参考引用中的示例,使用ansible命令来安装httpd软件包。 5. 在playbook_mha.yml中添加其他必要的任务,例如设置MHA配置文件、启动MHA等。 通过以上步骤,你可以使用ansible-playbook部署MHA。请根据你的具体需求进行相应的修改和配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ansible-playbook](https://blog.csdn.net/m0_61664359/article/details/120552327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [第二十周 ansible playbook实现httpd批量部署和MySQL高可用方案MHA](https://blog.csdn.net/hfhshwj/article/details/115911358)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清枫cc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值