2022-01-20 day76 redis哨兵安装部署

如题所述

第1个回答  2022-07-10
1.节点规划

因为哨兵只是负责监控和故障转移,真正提供服务的还是主从节点,这里我们需要使用3台机器,分别安装redis节点和哨兵节点,IP端口规划如下表:

IP地址 端口号 角色

10.0.0.51 6379 主节点

        26379 哨兵节点

10.0.0.52 6379 从节点

        26379 哨兵节点

10.0.0.53 6379 从节点

        26379 哨兵节点

2.安装部署db-53

scp -r 10.0.0.51:/usr/local/bin/* /usr/local/bin/

scp -r 10.0.0.51:/opt/redis_6379 /opt/

scp 10.0.0.51:/usr/lib/systemd/system/redis.service /usr/lib/systemd/system/

useradd -u 2000 -M -s /sbin/nologin redis

mkdir /data/redis_6379 -p

chown -R redis:redis /data/redis_6379

chown -R redis:redis /opt/redis_6379

sed -i 's#51#53#g' /opt/redis_6379/conf/redis_6379.conf

systemctl daemon-reload

systemctl start redis

3.配置主从关系

redis-cli -h 10.0.0.52 slaveof 10.0.0.51 6379

redis-cli -h 10.0.0.53 slaveof 10.0.0.51 6379

redis-cli -h 10.0.0.51 info replication

4.部署哨兵-所有机器都操作

mkdir -p /data/redis_26379

mkdir -p /opt/redis_26379/{conf,pid,logs}

cat >/opt/redis_26379/conf/redis_26379.conf << EOF

bind $(ifconfig eth0|awk 'NR==2{print $2}')

port 26379

daemonize yes

logfile /opt/redis_26379/logs/redis_26379.log

dir /data/redis_26379

sentinel monitor myredis 10.0.0.51 6379 2

sentinel down-after-milliseconds myredis 3000

sentinel parallel-syncs myredis 1

sentinel failover-timeout myredis 18000

EOF

chown -R redis:redis  /data/redis*

chown -R redis:redis  /opt/redis*

cat >/usr/lib/systemd/system/redis-sentinel.service<<EOF

[Unit]

Description=Redis persistent key-value database

After=network.target

After=network-online.target

Wants=network-online.target

[Service]

ExecStart=/usr/local/bin/redis-sentinel /opt/redis_26379/conf/redis_26379.conf --supervised systemd

ExecStop=/usr/local/bin/redis-cli -h $(ifconfig eth0|awk 'NR==2{print $2}') -p 26379 shutdown

Type=notify

User=redis

Group=redis

RuntimeDirectory=redis

RuntimeDirectoryMode=0755

[Install]

WantedBy=multi-user.target

EOF

systemctl daemon-reload

systemctl start redis-sentinel

redis-cli -h $(ifconfig eth0|awk 'NR==2{print $2}') -p 26379
相似回答
大家正在搜