当前位置: 首页 > news >正文

ansible快速准备redis集群环境

提示:本文旨在使用ansible快速搭建一下集群环境

文章目录

  • 目录

    文章目录

    前言

    ✅ 为什么要使用 Redis 集群?

    ✅ Redis Cluster 主要优势

    ✅ 哪种场景必须使用 Redis 集群?

    🚫 不要把 Redis 集群当数据库替代

    一、准备集群主机列表和ansible.cfg文件

    二、为了管理这些主机、还需要完成以下步骤

    三、创建角色redis编写任务

    准备静态文件

    编写主tasks

    准备配置文件的template

    四、编写playbook调用角色


前言

这里是为redis集群搭建学习的一些环境准备,仅供参考


✅ 为什么要使用 Redis 集群?

✅ Redis Cluster 主要优势

✅ 哪种场景必须使用 Redis 集群?

🚫 不要把 Redis 集群当数据库替代

由于 Redis 内存昂贵、数据结构复杂、持久化成本高,它仍更适合作为:

  • 缓存系统

  • 会话管理

  • 高频 KV 访问

  • 排行榜、计数器、消息队列等结构化数据

存档数据仍应放 MySQL/Mongo/ES 等存储系统。

一、准备集群主机列表和ansible.cfg文件

[root@control ~]# cd ansible
[root@control ansible]# cat hosts
[redis]
192.168.4.51
192.168.4.52
192.168.4.53
192.168.4.54
192.168.4.55
192.168.4.56[redisnew]
192.168.4.57
192.168.4.58

[root@control ansible]# cat ansible.cfg 
[defaults]
inventory = ~/ansible/hosts
roles_path = ~/ansible/role
remote_user = alice
host_key_checking = False[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

二、为了管理这些主机、还需要完成以下步骤

核心是:在远程主机以普通用户的方式、执行命令、普通用户保持和ansible.cfg文件一致

for i in 51 52 53 54 55 56; do ssh-copy-id root@192.168.4.$i; done  for i in 51 52 53 54 55 56; do ssh 192.168.4.$i "useradd alice"; donefor i in 51 52 53 54 55 56; do ssh-copy-id alice@192.168.4.$i; donefor i in 51 52 53 54 55 56; do ssh 192.168.4.$i "echo a | passwd --stdin alice"; donefor i in 51 52 53 54 55 56; do ssh root@192.168.4.$i "sed -i '120a alice ALL=(ALL) NOPASSWD:ALL' /etc/sudoers";done

三、创建角色redis编写任务

过程略写

准备静态文件

[root@control ansible]# ls role/redis/files/
redis-4.0.8.tar.gz

编写主tasks

[root@control ansible]# cat role/redis/tasks/main.yml 
---
# tasks file for redis
- name: yum -y install gccyum:name: gccstate: present
- name: tar -xf unarchive:src: redis-4.0.8.tar.gzdest: /root/
- name: make shell: make && make install && touch makecomplete.txtargs: chdir: /root/redis-4.0.8 creates: /root/redis-4.0.8/makecomplete.txt
- name: Install Redis non-interactively with defaultsshell: |REDIS_PORT=6379 \REDIS_CONFIG_FILE=/etc/redis/6379.conf \REDIS_LOG_FILE=/var/log/redis_6379.log \REDIS_DATA_DIR=/var/lib/redis/6379 \REDIS_EXECUTABLE=/usr/local/bin/redis-server \REDIS_CLI_EXECUTABLE=/usr/local/bin/redis-cli \./utils/install_server.sh <<EOFEOFargs:chdir: /root/redis-4.0.8creates: /etc/init.d/redis_6379
- name: template confitemplate:src: 6379.conf.j2dest: /etc/redis/6379.conf

准备配置文件的template

主要修改以下几行

70    bind {{ ansible_all_ipv4_addresses[0] }} #修改监控地址

815  cluster-enabled yes #取消注释,启用集群功能

823  cluster-config-file nodes-6379.conf #取消注释,存储集群信息相关文件

829  cluster-node-timeout 5000 #设置集群通信的超时时间(5000秒)

[root@control ansible]# ls role/redis/templates/6379.conf.j2 
role/redis/templates/6379.conf.j2

四、编写playbook调用角色

[root@control ansible]# cat redis.yaml 
---
#- hosts: 192.168.4.53
#- hosts: redis
- hosts: redisnewroles:- redis


 

http://www.dtcms.com/a/528334.html

相关文章:

  • 公司网站制作效果长沙网站制造
  • 数据结构之堆
  • 【Linux学习笔记】日志器与线程池设计
  • 【Linux系统编程】编辑器vim
  • 鸿蒙ArkTS入门教程:小白实战“易经”Demo,详解@State、@Prop与List组件
  • 扩散模型与UNet融合的创新路径
  • 从入门到精通的鸿蒙学习之路——基于鸿蒙6.0时代的生态趋势与实战路径
  • 704.力扣LeetCode_二分查找
  • 如何做企业网站宣传wordpress 显示空白
  • 机器学习库的线性回归预测
  • 旅游网站开发研究背景北京欢迎您
  • 做网站要学什么东西企业网站运维
  • Orleans Grain Directory 系统综合分析文档
  • 从PN结到GPIO工作模式
  • 面向社科研究者:用深度学习做因果推断(三)
  • 深度学习-MNIST手写数字识别(MLP)
  • K8s 静态持久化存储详解
  • wordpress seo 能提高网站速度吗
  • GitHub等平台形成的开源文化正在重塑特尔恩恩
  • 追根索源:换不同的词嵌入(词向量生成方式不同,但词与词关系接近),会出现什么结果?
  • 视频与音频碰撞,谷歌 Veo 3.1,生成“有声电影”,人物对话超震撼
  • 【PID】基本PID控制 chaprt1 学习笔记
  • 【大语言模型 103】推理服务监控:性能指标、故障诊断与自动恢复实战
  • 网站广东海外建设集团有限公司做网站工资多钱
  • Julia 字符串处理指南
  • volatile关键词探秘:从咖啡厅的诡异订单到CPU缓存之谜
  • 嵌入式Lua脚本编程核心概念
  • VScode开发环境搭建(本文为个人学习笔记,内容整理自哔哩哔哩UP主【非学者勿扰】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
  • 基于springboot的车辆管理系统设计与实现
  • WPF GroupBox 淡入淡出