# ansible-middleware
**Repository Path**: pillarfwm/ansible-middleware
## Basic Information
- **Project Name**: ansible-middleware
- **Description**: ansible 安装中间件:
mysql: 5.7.x
redis: 7.2.x
kafka: 3.7.x
elasticsearch:8.x
rocketmq: 5.3.x
架构: 单节点,主从,哨兵,集群 等
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2026-04-20
- **Last Updated**: 2026-04-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 使用说明
---
## markdown 语法使用说明
[markdown 语法官网]
## 常用运维软件
dnf install -y sysstat iotop pcp-system-tools net-tools freerdp tcpdump telnet nmap mtr nmap-ncat lsof xfsdump strace boom-boot smartmontools yum-utils tmux psmisc rsync rsyslog sos strace perf valgrind bcc-tools bash-completion vim-enhanced wget tree iftop htop lrzsz unzip tcping bind-utils make gcc gcc-c++ dos2unix nethogs screen dstat ksh expect nload device-mapper-persistent-data lvm2 nc jq libaio openssl-devel perl
## ansible 相关操作说明
+ ansible 官网:
+ ansible-galaxy 官网:
+ 龙蜥8.9安装 ansible 和 相关集合
dnf install -y ansible-test
ansible-galaxy collection install ansible.posix
ansible-galaxy collection install community.general
ansible-galaxy collection install community.mysql
ansible-galaxy collection install community-docker-3.12.1.tar.gz --offline --force # 离线安装
ansible-galaxy collection install community.docker # 在线安装
+ 配置 ansible
cat /etc/ansible/ansible.cfg
[defaults]
host_key_checking = False
+ 创建角色
ansible-galaxy role init 角色名称
+ 运行命令
ansible-playbook -i hosts init.yaml
+ 当在 ansible 控制端需要使用非 root 账号时,该账户需要有提权权限,并且控制端和被控制端都要有这个账户,在操作时,控制端要切换到该账户下
# 主机清单中需要填写提权账户,并配置提权密码,其中 ansible_become_pass 就是提权密码参数,并且还需要配置 ssh 密码,ansible_ssh_pass 就是ssh密码参数,两者缺一不可
[baseline_reinforcement_servers]
192-168-5-105 hostname=192-168-5-125 ansible_ssh_host=192.168.5.125 ansible_ssh_user=root ansible_ssh_pass=Yztx@2023 ansible_ssh_port=22 ansible_become_user=jumpserver ansible_become_pass=Lijun@2023
---
## linux 相关操作说明
+ 手动创建账户并设置密码
useradd jumpserver
usermod jumpserver -g wheel
echo 12345 |passwd jumpserver --stdin
---
## git 相关操作说明
+ 更新被拒绝,由于您当前分支的最新提交落后于其对应的远程分支
git remote add origin https://github.com/miaoihan/weibo.git
$git fetch origin # 获取远程更新
$git merge origin/master # 把更新的内容合并到本地分支
---
## 中间件 相关操作说明
+ 本 ansible-playbook 脚本提供的中间件默认版本,以及支持的中间件版本
mysql: 5.7.44 (支持5.7.x)
redis: 7.2.3 (支持7.2.x)
Kafka: 3.7.1 (支持3.7.x)
RocketMQ: 5.3.0 (支持5.3.x)
Elasticsearch: 8.14.3 (支持8.x)
+ 下载 ansible-playbook 脚本
cd /home # 默认我是克隆到 /home 目录下
git clone https://gitee.com/fulinzhongguo/ansible-middleware.git
cd ansible-middleware
+ ansible-playbook 目录结构说明
.
├── basic-env-init # 基础环境初始化角色,用于安装一些基础软件,镜像源,系统初始化
│ ├── defaults
│ │ └── main.yml
│ ├── files
│ │ ├── epel.repo
│ │ └── RPM-GPG-KEY-EPEL-8
│ ├── handlers
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ ├── README.md
│ ├── tasks
│ │ ├── basic_env_init.yaml
│ │ └── main.yml
│ ├── tests
│ │ ├── inventory
│ │ └── test.yml
│ └── vars
│ └── main.yml
├── group_vars # 环境变量配置目录,目录下的文件 all.yaml 对所有主机组生效,其他文件名以主机组名命名,只对相关的主机组生效
│ └── all.yaml
├── hosts # 主机清单文件,里面定义了所有的主机相关信息
├── init.yaml # ansible-playbook 脚本入口文件
├── mysql # mysql 角色,支持的架构:single(单实例),master_slave(主从+GTID+半同步复制),mha(mha+主从+GTID+半同步复制)
│ ├── defaults
│ │ └── main.yml
│ ├── files
│ │ ├── mha4mysql-manager-0.58-0.el7.centos.noarch.rpm
│ │ ├── mha4mysql-node-0.58-0.el7.centos.noarch.rpm
│ │ ├── mysql-community.repo
│ │ ├── mysql-community-source.repo
│ │ ├── NodeUtil.pm
│ │ ├── PyMySQL-1.0.2-py3-none-any.whl
│ │ └── RPM-GPG-KEY-mysql
│ ├── handlers
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ ├── README.md
│ ├── tasks
│ │ ├── basic_env_init.yaml
│ │ ├── change_master_slave.yaml
│ │ ├── check_master_slave_semi_replication.yaml
│ │ ├── install.yaml
│ │ ├── main.yml
│ │ ├── mha.yaml
│ │ ├── semi_sync.yaml
│ │ ├── test.yaml
│ │ └── update_root_init_passwd.yaml
│ ├── templates
│ │ ├── master_ip_failover.j2
│ │ ├── master_ip_online_change.j2
│ │ ├── mha.conf.j2
│ │ ├── my.cnf.j2
│ │ ├── power_manager.j2
│ │ └── send_report.j2
│ ├── tests
│ │ ├── inventory
│ │ └── test.yml
│ └── vars
│ └── main.yml
├── README.md # ansible-playbook 脚本说明文档
└── redis # redis 角色,支持的架构:single(单实例),master_slave(主从),sentinel(哨兵),cluster(集群)
├── defaults
│ └── main.yml
├── files
│ ├── async_timeout-4.0.2-py3-none-any.whl
│ ├── certifi-2024.7.4-py3-none-any.whl
│ ├── importlib_metadata-4.8.3-py3-none-any.whl
│ ├── packaging-21.3-py3-none-any.whl
│ ├── pyparsing-3.1.2-py3-none-any.whl
│ ├── redis-4.3.6-py3-none-any.whl
│ ├── redis-7.2.3.tar.gz
│ ├── redis-7.2.5.tar.gz
│ ├── redis.service
│ ├── redis-shutdown
│ ├── typing_extensions-4.1.1-py3-none-any.whl
│ └── zipp-3.6.0-py3-none-any.whl
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── README.md
├── tasks
│ ├── check.yaml
│ ├── cluster.yaml
│ ├── install.yaml
│ ├── main.yml
│ ├── sentinel.yaml
│ └── test.yaml
├── templates
│ ├── redis.conf.j2
│ └── sentinel.conf.j2
├── tests
│ ├── inventory
│ └── test.yml
└── vars
└── main.yml
+ basic-env-init # 基础环境初始化角色,用于安装一些基础软件,镜像源,系统初始化
+ group_vars # 环境变量配置目录,目录下的文件 all.yaml 对所有主机组生效,其他文件名以主机组名命名,只对相关的主机组生效
+ hosts # 主机清单文件,里面定义了所有的主机相关信息
+ init.yaml # ansible-playbook 脚本入口文件
+ mysql # mysql 角色,支持的架构:single(单实例),master_slave(主从+GTID+半同步复制),mha(mha+主从+GTID+半同步复制)
+ README.md # ansible-playbook 脚本说明文档
+ redis # redis 角色,支持的架构:single(单实例),master_slave(主从),sentinel(哨兵),cluster(集群)
+ 各个功能模块的使用文档,到各个角色文件夹下查看
+ basic-env-init 基础环境初始化模块说明
1. 这个模块主要用来初始化一些系统参数,配置一些镜像仓库源,安装一些基础软件
2. 这个模块的变量配置在 /group_vars/all.yaml 文件中, 其中 变量的文件名是以主机组的名称命名的,all.yaml 对所有主机组生效
### mysql 模块安装说明
1. 这个模块主要用来搭建 mysql 集群,其中架构包括:单实例,主从复制+GTID+半同步复制,MHA+GTID+半同步复制
2. 这个模块的变量配置在 /group_vars/all.yaml 文件中,
3. 如果是离线安装,因为gitee 码云网站限制了文件的上传大小,所以下面这些软件直接在 清华镜像站中去下载,下载地址:https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/, 下载后,放到 /group_vars/all.yaml 文件中定义的 mysql.path 变量 目录下
```
mysql-community-client-5.7.44-1.el7.x86_64
mysql-community-common-5.7.44-1.el7.x86_64
mysql-community-libs-5.7.44-1.el7.x86_64
mysql-community-server-5.7.44-1.el7.x86_64
mysql-community-devel-5.7.44-1.el7.x86_64
```
---------------------------------------------------------------------------------------------------------------------