# 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 ``` ---------------------------------------------------------------------------------------------------------------------