ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis 一主两从三哨兵

2022-07-06 12:38:11  阅读:188  来源: 互联网

标签:mymaster 4.0 service -- Redis redis 哨兵 sentinel 一主


 

  1. 安装redis相关依赖

    yum install gcc gcc-c++ automake autoconf libtool make -y
  2. 下载redis

    wget https://download.redis.io/releases/redis-4.0.14.tar.gz
  3. 解压redis

    tar -zxvg redis-4.0.14.tar.gz
  4. 进入redis目录编译并安装

    cd /data/redis-4.0.14
    make && make install
  5. 修改redis配置文件

    daemonize yes
    #pidfile "/home/redis/redis/redisRun/redis_6379.pid"
    port 6379
    timeout 0
    tcp-keepalive 0
    loglevel notice
    logfile "/var/log/redis/redis.log"
    databases 16
    save 900 1
    save 300 10
    save 60 10000
    stop-writes-on-bgsave-error yes
    rdbcompression yes
    rdbchecksum yes
    dbfilename "dump.rdb"
    #dir "/home/redis/redisdb"
    #主节点密码
    masterauth "Pw!123456"
    slave-serve-stale-data yes
    slave-read-only yes
    repl-disable-tcp-nodelay no
    slave-priority 102
    requirepass "Pw!123456"
    appendonly yes
    # appendfsync always
    appendfsync everysec
    # appendfsync no
    no-appendfsync-on-rewrite no
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    lua-time-limit 5000
    slowlog-log-slower-than 10000
    slowlog-max-len 128
    notify-keyspace-events ""
    hash-max-ziplist-entries 512
    hash-max-ziplist-value 64
    list-max-ziplist-entries 512
    list-max-ziplist-value 64
    set-max-intset-entries 512
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    activerehashing yes
  6. 配置redis自启服务文件

    vi /etc/systemd/system/redis.service

    [Unit]

    Description=redis-server

    After=network.target

    [Service]

    Type=forking

    ExecStart=/data/redis-4.0.14/bin/redis-server /data/redis-4.0.14/redis.conf

    PrivateTmp=true

    [Install]

    WantedBy=multi-user.targe
  7. 设置redis开机自启

    重载配置:systemctl daemon-reload

    启动服务:systemctl start redis.service

    添加开机自启:systemctl enable redis.service

    查看服务状态1):systemctl status redis.service

    查看服务状态2):ps -ef|grep redis
  8. 开放端口限制

    firewall-cmd --zone=public --add-port=6379/tcp --permanent

    生效配置:firewall-cmd --reload
  9. 其他2台从机器以上步骤一致

  10. 修改哨兵配置文件(sentinel.conf)

    port 26379
    bind 0.0.0.0
    daemonize yes
    sentinel myid 533c6dcc3deb4975df2813da6bb5e7e4c6dcb6d3
    sentinel deny-scripts-reconfig yes
    sentinel monitor mymaster 192.168.0.103 6379 2
    sentinel down-after-milliseconds mymaster 5000
    sentinel failover-timeout mymaster 60000
    logfile "/var/log/redis/sentinel.log"
    # Generated by CONFIG REWRITE
    dir "/data/redis-4.0.14"
    sentinel auth-pass mymaster Pw!123456
    sentinel config-epoch mymaster 4
    sentinel leader-epoch mymaster 3
    sentinel known-slave mymaster 192.168.0.104 6379
    sentinel known-slave mymaster 192.168.0.102 6379
    sentinel known-sentinel mymaster 192.168.0.104 26379 0339c0dc9ae30bb0fde907f67ce707d602fdc97f
    sentinel known-sentinel mymaster 192.168.0.103 26379 ee5430bb33d99dc23598320a07e94e8658a8f6a4
    sentinel current-epoch 4
  11. 开放哨兵端口限制

    firewall-cmd --zone=public --add-port=26379/tcp --permanent

    生效配置:firewall-cmd --reload
  12. 配置哨兵自启

    vi /etc/systemd/system/redis-sentinel.service


    [Unit]

    Description=redis-sentinel-server

    After=redis-server

    [Service]

    Type=forking

    ExecStart=/data/redis-4.0.14/bin/redis-server /data/redis-4.0.14/sentinel.conf --sentinel

    PrivateTmp=true

    [Install]

    WantedBy=multi-user.target
  13. 设置redis-sentinel开机自启

    重载配置:systemctl daemon-reload

    启动服务:systemctl start redis-sentinel.service

    添加开机自启:systemctl enable redis-sentinel.service

    查看服务状态1):systemctl status redis-sentinel.service

    查看服务状态2):ps -ef|grep redis
  14. 启动redis和哨兵

    任意一台机器
    redis-cli -p 6379
    auth redis密码
    info #查看信息 是否是主从模式

    宕机master后是否重新选举master
  15.  

标签:mymaster,4.0,service,--,Redis,redis,哨兵,sentinel,一主
来源: https://www.cnblogs.com/zhu-zhu/p/16450325.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有