前言
通过自动化脚本批量化部署中间件服务器是非常有用的。可以减少大量的重复性工作。
步骤
克隆下tools:
git clone https://github.com/Bryce-huang/tools.git
,有intall-nacos和install-kafka-cluster下载相关资源到/root/,按照自己的需求修改
XX/vars/XXx.yml
系统变量- 配置ansible相关分组
安装zookeeper集群
进入到install-kafka-cluster,在ansible的hosts文件添加
[zookeeper]
192.168.0.1
192.168.0.2
192.168.0.3
下面介绍下变量文件的意思:
# zookeeper version
zookeeper_version: 3.4.10
# zookeeper user
user: "zookeeper"
group: "zookeeper"
# zookeeper data path
data_dir: zookeeper_storage
zookeeper_log_path: "{{install_dir}}/zookeeper_log"
# zookeeper port
leader_port: 2888
vote_port: 3888
client_port: 2181
jmx_port: 11911
random_port: "30001-65006"
firewall_ports:
- "{{ leader_port }}"
- "{{ vote_port }}"
- "{{ client_port }}"
- "{{ jmx_port }}"
- "{{ random_port }}"
# env path
install_dir: "/data/{{ user }}"
download_path: "/root/" # your local download path
tmp_path: "/tmp"
# host group
zk_hosts: zookeeper
需要注意的是install_dir,是文件的安装目录,安装脚本主要做了以下事情:
- 检测是否安装jdk
- 自定义配置文件,如需修改zk的安装配置文件,请修改
install-kafka-cluster/zk/roles/zookeeper/templates
下的配置文件 - 把zookeeper注册成系统服务,开机自启
最后运行ansible-playbook zk/zk.yml
安装Kafka集群
进入到install-kafka-cluster,在ansible的hosts文件添加
[kafka]
192.168.0.1
192.168.0.2
192.168.0.3
下面介绍下变量文件的意思:
# kafka version
kafka_version: 2.12-2.3.0
# kafka user
user: "kafka"
group: "kafka"
# kafka data path
data_dir: kafka_storage
kafka_log_path: "{{install_dir}}/kafka_log"
# kafka port
kafka_port: 9092
firewall_ports:
- "{{ leader_port }}"
- "{{ vote_port }}"
- "{{ client_port }}"
- "{{ jmx_port }}"
- "{{ random_port }}"
# env path
install_dir: "/data/{{ user }}"
download_path: "/root/" # your local download path
tmp_path: "/tmp"
# host group
kafka_hosts: kafka # the group define in hosts/host
kafka_log4j_rootlogger: ERROR
zk_hosts: zookeeper
需要注意的是install_dir,是文件的安装目录,安装前需要安装zk,如zk地址与kafka地址不同,请自行修改,安装脚本主要做了以下事情:
- 检测是否安装jdk,scala
- 自定义配置文件,如需修改kafka的安装配置文件,请修改
install-kafka-cluster/kafka/roles/kafka/templates
下的配置文件 把kafka注册成系统服务,开机自启
最后运行
ansible-playbook kafka/kafka.yml
nacos集群安装
进入到nacos,在ansible的hosts文件添加
[nacos]
192.168.0.1
192.168.0.2
192.168.0.3
下面介绍一下,nacos安装变量
---
# nacos version
nacos_version: 1.2.0
# nacos user
user: "nacos"
group: "nacos"
# nacos service address
nacos_address:
- 192.168.1.1:8848
- 192.168.1.2:8848
- 192.168.1.3:8848
# mysql address
mysql:
address: 192.168.0.103:3306
user: xxx
password: xxx
# nacos data path
data_dir: nacos_storage
nacos_log_path: "{{install_dir}}/nacos_access_log"
# nacos port
nacos_port: 8848
firewall_ports:
- "{{ leader_port }}"
- "{{ vote_port }}"
- "{{ client_port }}"
- "{{ jmx_port }}"
- "{{ random_port }}"
# env path
install_dir: "/data/{{ user }}"
download_path: "/root/" # your local download path
tmp_path: "/tmp"
# host group
nacos_log4j_rootlogger: ERROR
nacos_hosts: nacos
因为nacos需要依赖mysql,所以有一个mysql,这里就不再描述如何安装mysql了。此外有mysql也需要一个初始化脚本
只要在mysql上创建一个nacos数据库即可。
需要注意的是install_dir,是文件的安装目录,安装前需要安装zk,如zk地址与kafka地址不同,请自行修改,安装脚本主要做了以下事情:
- 检测是否安装jdk
- 自定义配置文件,如需修改nacos的安装配置文件,请修改
install-nacos/nacos/roles/nacos/templates
下的配置文件 把nacos注册成系统服务,开机自启
最后运行
ansible-playbook nacos/nacos.yml
总结
通过ansible的模板,非常简单就可以把中间件的集群安装好。只要修改自己需要的配置,也支持自己二次开发编写自己操作的步骤。done,有问题请提交pr或者与我联系!
本博客所有文章除特别声明外,均采用: 署名-非商业性使用-禁止演绎 4.0 国际协议,转载请保留原文链接及作者。