首页 > 数据库 >来至舒大佬的一键部署redis集群playbook

来至舒大佬的一键部署redis集群playbook

时间:2022-11-01 23:31:55浏览次数:50  
标签:src sysctl name redis 一键 state playbook yes

---
- name: install redis
hosts: all
serial: 2
vars:
- version: "redis-7.0.5"
- user: "redis"
- id: "88"
- INSTALL_DIR: "/apps/redis"
- CPUS: "2"
- PASSWORD: "123456"
tasks:
- name: rocky prepare
yum:
name: "{{ item }}"
state: present
loop:
- gcc
- make
- jemalloc-devel
- systemd-devel
when: ansible_distribution_file_variety == "RedHat"

- name: ubuntu prepare
apt:
update_cache: yes
name: "{{ item }}"
state: present
loop:
- gcc
- make
- libjemalloc-dev
- libsystemd-dev
when: ansible_distribution_file_variety == "Debian"

- name: group
group:
name: "{{ user }}"
gid: "{{ id }}"
state: present
- name: create user
user:
name: "{{ user }}"
shell: /sbin/nologin
system: yes
group: "{{ user }}"
uid: "{{ id }}"

- name: install redis
unarchive:
src: "{{ version }}.tar.gz"
dest: "/usr/local/src/"
owner: root
group: root

- name: shell make
shell: "cd /usr/local/src/{{ version }} && make -j {{ CPUS }} USE_SYSTEMD=yes PREFIX={{ INSTALL_DIR }} install"

- name: link
file:
src: "{{ INSTALL_DIR }}/bin/{{ item }}"
path: "/usr/bin/{{ item }}"
state: link
loop:
- redis-benchmark
- redis-check-aof
- redis-check-rdb
- redis-cli
- redis-sentinel
- redis-server
- name: dir
file:
path: "{{ INSTALL_DIR }}/{{ item }}"
state: directory
loop:
- etc
- log
- data
- run

- name: conf
template:
src: redis.conf.j2
dest: "{{ INSTALL_DIR }}/etc/redis.conf"

- name: chown
shell: "chown -R redis.redis {{ INSTALL_DIR }}"

- name: sysctl net.core.somaxconn
sysctl:
name: net.core.somaxconn
value: 1024
sysctl_set: yes

- name: sysctl vm.overcommit_memory
sysctl:
name: vm.overcommit_memory
value: 1
sysctl_set: yes

- name: service
template:
src: redis.service.j2
dest: /lib/systemd/system/redis.service

- name: start
service:
daemon_reload: yes
name: redis
state: started
enabled: yes

标签:src,sysctl,name,redis,一键,state,playbook,yes
From: https://blog.51cto.com/dayu/5815075

相关文章

  • redis淘汰key的算法LRU与LFU的区别
    lru:leastrecentlyused,最近最少使用:淘汰很久没被访问的数据,以最近一次访问的时间做参考lfu:leastfrequentlyused,最不经常使用:淘汰最近一段时间被访问次数最少的数据......
  • Redis
    1、Redis的优缺点优点:基于内存,读写速度快,可以达到每秒10万次的操作,缺点:内存空间有限,存储数据量小,只能处理少量数据的高并发操作2、Redis常见的缓存同步方案......
  • redis 5.0.5集群部署与故障模拟
    背景业务稳定性要求需要一套redis集群来保障因此采用rediscluster集群环境名称ip地址cpu内存master端口slave端口redis-65110.65.6.514c8G70017......
  • linux 一键启动spring boot项目
    我们知道启动springboot的项目有三种方式:运行主方法启动使用命令mvnspring-boot:run”在命令行启动该应用运行“mvnpackage”进行打包时,会打包成一个可以直接运行的JAR......
  • Redis 中两个字段排序
    参考:Redis中两个字段排序 redis如何实现多字段排序1.多个维度使用数据库查询排序输出,目前使用的方式。 Redis用一个SortedSet解决按两个字段排序的问题,也就是......
  • Redis线上救命丸:01---误操作AOF、RDB恢复数据
    Redis的flushall/flushdb命令可以做数据清除,对于Redis的开发和运维人员有一定帮助,然而一旦误操作,它的破坏性也是很明显的。怎么才能快速恢复数据,让损失达到最小呢?本文我们将......
  • Redis:10---List对象
    ​一、列表对象概述   列表类型是用来存储多个有序的字符串,一个列表最多可以存储多个元素。列表是一种比较灵活的数据结构,它可以充当栈和队列的角色,在实际开发上有......
  • Redis:02---安装Redis(Linux+Windows+Docker)
    Linux安装:一、安装方式1(下载源码编译安装)第一步:从下面的网址中下载Redis最新稳定版本的源代码sudowgethttp://download.redis.io/redis-stable.tar.gz第二步:下载完之后解......
  • OpenResty+mysql+redis
    1、       ​​ad_load.lua​​  ​​nginx.conf​​1、读取mysql并缓存redis     ......
  • 使用Docker一键搭建FastDFS+Nginx分布式文件服务器
    做过很多项目在图片上传上一直使用的是FastDFS,刚开始得知搭建一个这样的系统非常复杂,所以直接使用了淘淘商城的虚拟机。在后面的项目中,最终选择在在阿里云上自己搭建一个Fas......