前言

通过自动化脚本批量化部署中间件服务器是非常有用的。可以减少大量的重复性工作。

步骤

  1. 克隆下tools:git clone https://github.com/Bryce-huang/tools.git,有intall-nacos和install-kafka-cluster

  2. 下载相关资源到/root/,按照自己的需求修改XX/vars/XXx.yml系统变量

  3. 配置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,是文件的安装目录,安装脚本主要做了以下事情:

  1. 检测是否安装jdk
  2. 自定义配置文件,如需修改zk的安装配置文件,请修改install-kafka-cluster/zk/roles/zookeeper/templates下的配置文件
  3. 把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地址不同,请自行修改,安装脚本主要做了以下事情:

  1. 检测是否安装jdk,scala
  2. 自定义配置文件,如需修改kafka的安装配置文件,请修改install-kafka-cluster/kafka/roles/kafka/templates下的配置文件
  3. 把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地址不同,请自行修改,安装脚本主要做了以下事情:

  1. 检测是否安装jdk
  2. 自定义配置文件,如需修改nacos的安装配置文件,请修改install-nacos/nacos/roles/nacos/templates下的配置文件
  3. 把nacos注册成系统服务,开机自启

    最后运行ansible-playbook nacos/nacos.yml

总结

通过ansible的模板,非常简单就可以把中间件的集群安装好。只要修改自己需要的配置,也支持自己二次开发编写自己操作的步骤。done,有问题请提交pr或者与我联系!


本博客所有文章除特别声明外,均采用: 署名-非商业性使用-禁止演绎 4.0 国际协议,转载请保留原文链接及作者。

kubernetes 安装 上一篇
使用elastalert进行日志告警 下一篇

 目录


买个卤蛋,吃根冰棒