redis5.0.12-哨兵模式安装

  • 环境
ip角色
10.240.13.187主节点+哨兵
10.240.13.137从节点+哨兵
10.240.13.66从节点+哨兵
  • 下载安装包
wget http://download.redis.io/releases/redis-5.0.12.tar.gz
  • 上传redis-5.0.12.tar.gz包到/usr/local/src
  • 解压安装
cd /usr/local/src
tar -zxvf redis-5.0.12.tar.gz
cd redis-5.0.12
make
make PREFIX=/usr/local/redis install
  • 创建配置目录
mkdir -p /usr/local/redis/{config,data,log}
  • 拷贝配置文件
cp /usr/local/redis-5.0.12/{redis.conf,sentinel.conf} /usr/local/redis/config/
  • 修改主节点redis.conf
bind  10.240.13.187
daemonize no
protected-mode no
port 6379
logfile "/usr/local/redis/log/redis.log"
dir "/usr/local/redis/data"
masterauth "redis@123"
requirepass "redis@123"
slave-read-only yes
  • 修改从节点redis.conf
bind  10.240.13.137
daemonize no
protected-mode no
port 6379
logfile "/usr/local/redis/log/redis.log"
dir "/usr/local/redis/data"
masterauth "redis@123"
requirepass "redis@123"
slave-read-only yes
replicaof 10.240.13.187 6379
  • 修改sentinel.conf
protected-mode no
daemonize no
port 26379
pidfile "/var/run/redis-sentinel.pid"
logfile "/usr/local/redis/log/sentinel.log"
sentinel monitor mymaster 10.240.13.187 6379 2
sentinel auth-pass mymaster redis@123
tinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
  • 创建redis用户组
groupadd redis
useradd redis -g redis -s /sbin/nologin -d /usr/local/redis
chown -R redis:redis /usr/local/redis
  • 配置redis启动项
cat /usr/lib/systemd/system/redis.service
[Unit]
Description=redis
After=network.target

[Service]
#Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/config/redis.conf 
User=redis
Group=redis
PrivateTmp=true

[Install]
WantedBy=multi-user.target

  • 配置redis-sentinel启动项
cat /usr/lib/systemd/system/redis-sentinel.service
[Unit]
Description=redis-sentinel
After=network.target

[Service]
#Type=forking
ExecStart=/usr/local/redis/bin/redis-sentinel /usr/local/redis/config/sentinel.conf
User=redis
Group=redis
PrivateTmp=true

[Install]
WantedBy=multi-user.target

  • 启动redis
systemctl start redis
systemctl enable redis
  • 启动redis-sentinel
systemctl start redis-sentinel
systemctl enable redis-sentinel
  • 查看redis状态
[root@10-240-13-137 config]# /usr/local/redis/bin/redis-cli -a redis@123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> info Replication
# Replication
role:master
connected_slaves:2
slave0:ip=10.240.13.66,port=6379,state=online,offset=16252217,lag=0
slave1:ip=10.240.13.137,port=6379,state=online,offset=16252231,lag=0
master_replid:a37be67f43a4e71ff40de6f7b57c38dce4611e9e
master_replid2:29d6d40a3cfe623819b01c8ea79ae32bc2b93a8b
master_repl_offset:16252231
second_repl_offset:141839
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15203656
repl_backlog_histlen:1048576
127.0.0.1:6379> 
  • 关闭主节点,可以看到主节点已飘逸到其他从节点
/usr/local/redis/bin/redis-cli -a redis@123
127.0.0.1:6379> info Replication
# Replication
role:slave
master_host:10.240.13.137
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:16304651
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:28493f2b5d61c6f9f788f1588121671ecbc58794
master_replid2:a37be67f43a4e71ff40de6f7b57c38dce4611e9e
master_repl_offset:16304651
second_repl_offset:16287060
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15256076
repl_backlog_histlen:1048576
127.0.0.1:6379> 
  • 启动停掉的redis节点,可以看到启动后自动变为从节点
127.0.0.1:6379> info Replication
# Replication
role:master
connected_slaves:2
slave0:ip=10.240.13.66,port=6379,state=online,offset=16337097,lag=0
slave1:ip=10.240.13.137,port=6379,state=online,offset=16336815,lag=1
master_replid:28493f2b5d61c6f9f788f1588121671ecbc58794
master_replid2:a37be67f43a4e71ff40de6f7b57c38dce4611e9e
master_repl_offset:16337097
second_repl_offset:16287060
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15288522
repl_backlog_histlen:1048576
127.0.0.1:6379> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值