Ansible Role 數(shù)據(jù)庫 之【redis】

Ansible Role: Redis

安裝redis

介紹

redis(Remote Dictionary Server)是一個(gè)key-value存儲(chǔ)系統(tǒng)。和Memcached類似,它支持存儲(chǔ)的value類型相對(duì)更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會(huì)周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。

官方地址: https://redis.io/
官方文檔地址:https://redis.io/documentation

要求

此角色僅在RHEL及其衍生產(chǎn)品上運(yùn)行。

測(cè)試環(huán)境

ansible 2.4.2.0

os Centos 7.2 X64

python 2.7.5

角色變量

software_files_path: "/opt/software"
software_install_path: "/usr/local"

redis_version: "3.2.11"

redis_file: "redis-{{ redis_version }}.tar.gz"
redis_file_path: "{{ software_files_path }}/{{ redis_file }}"
redis_file_url: "http://download.redis.io/releases/redis-{{ redis_version }}.tar.gz"

redis_data_path: "/redis_data"
# redis_port: 6379
redis_daemon: "redis{{ redis_port | default('') }}"
redis_dir_path: "{{ redis_data_path }}/{{redis_port | default('6379')}}"

redis_timeout: 0
redis_user: redis

redis_loglevel: "notice"
redis_logfile: "{{ redis_dir_path }}/redis-server.log"
redis_pidfile: "{{ redis_dir_path }}/redis.pid"

redis_databases: 16

redis_rdbcompression: "yes"
redis_dbfilename: dump.rdb
redis_dbdir: "{{ redis_dir_path }}/data"

redis_maxmemory: "1000mb"

redis_requirepass: ''
redis_slave: false
redis_cluster: false
redis_cluster_replicas: ''
# redis_cluster_replicas: '1 127.0.0.1:6481 127.0.0.1:6482 127.0.0.1:6483 127.0.0.1:6484 127.0.0.1:6485 127.0.0.1:6486'
# 1 表示 自動(dòng)為每一個(gè)master節(jié)點(diǎn)分配一個(gè)slave節(jié)點(diǎn), 上面有6個(gè)節(jié)點(diǎn),程序會(huì)按照一定規(guī)則生成 3個(gè)master(主)3個(gè)slave(從)
redis_masterauth: ''
redis_master_host: ''
redis_master_port: ''

redis_sentinel_port: ''
redis_sentinel_quorum: '2'
redis_sentinel_daemon: "redis-sentinel{{ redis_sentinel_port | default('') }}"

依賴

java ruby

github地址

https://github.com/kuailemy123/Ansible-roles/tree/master/redis

Example Playbook

單實(shí)例安裝
- hosts: node1
  roles:
    - { role: redis }
    
主從配置
- hosts: node1
  vars:
   - redis_master_host: '127.0.0.1'
   - redis_master_port: '6380'
  roles:
    - { role: redis, redis_port: 6380}
    - { role: redis, redis_port: 6381, redis_slave: true}
    - { role: redis, redis_port: 6382, redis_slave: true}
    
哨兵模式
- hosts: node1
  vars:
   - redis_master_host: '127.0.0.1'
   - redis_master_port: '6383'
  roles:
   - { role: redis, redis_port: 6383, redis_sentinel_port: 26383}
   - { role: redis, redis_port: 6384, redis_sentinel_port: 26384, redis_slave: true}
   - { role: redis, redis_port: 6385, redis_sentinel_port: 26385, redis_slave: true}


 偽集群模式
 - hosts: node1
   vars:
    - redis_cluster: true
    - redis_requirepass: '123456'
   roles:
    - { role: redis, redis_port: 6481}
    - { role: redis, redis_port: 6482}
    - { role: redis, redis_port: 6483}
    - { role: redis, redis_port: 6484}
    - { role: redis, redis_port: 6485}
    - { role: redis, redis_port: 6486, redis_cluster_replicas: '1 127.0.0.1:6481 127.0.0.1:6482 127.0.0.1:6483 127.0.0.1:6484 127.0.0.1:6485 127.0.0.1:6486'}

集群分布式模式
 - hosts: node1
   vars:
    - redis_cluster: true
    - redis_requirepass: '123456'
   roles:
    - { role: redis, redis_port: 7000}
    - { role: redis, redis_port: 7003}

 - hosts: node2
   vars:
    - redis_cluster: true
    - redis_requirepass: '123456'
   roles:
    - { role: redis, redis_port: 7001}
    - { role: redis, redis_port: 7004}

 - hosts: node3
   vars:
    - redis_cluster: true
    - redis_requirepass: '123456'
   roles:
    - { role: redis, redis_port: 7002}
    - { role: redis, redis_port: 7005, redis_cluster_replicas: '1 172.19.204.246:7000 172.19.204.245:7001 172.19.204.244:7002 172.19.204.246:7003 172.19.204.245:7004 172.19.204.244:7005'}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容