redis主从+哨兵 安装配置二
实验环境:
192.168.2.201 centos7 master sentinel
192.168.2.202 centos7 slave sentinel
192.168.2.203 centos7 slave sentinel
版本:redis5.0.3
1. 下载:
https://redis.io/download
2. 准备:
yum install gcc gcc-c++ -y
3. 解压安装:
mkdir -p /home/data/redis/ (数据、日志目录) tar -zxvf redis-5.0.3.tar.gz -C /usr/local cd /usr/local/redis-5.0.3 make MALLOC=libc make make install
4. 配置 redis.conf 文件
bind 0.0.0.0 daemonize yes logfile "/home/data/redis/redis.log" dir "/home/data/redis" replicaof 192.168.2.201 6379 注:replicaof就是原来的 slaveof ,这一句只需要配置在slave节点的redis.conf里面。
为了安全,aof也建议打开。
5. 启动redis
依次在三个节点执行:
[root@Node201 redis-5.0.3]# src/redis-server redis.conf
6. 查看
进入 [root@Node201 redis-5.0.3]# src/redis-cli 查看 127.0.0.1:6379> info replication
可以看到Node201为master,Node202,Node203为slave。
7.验证数据同步
1. 在master节点: 127.0.0.1:6379> get test (nil) 127.0.0.1:6379> set test hello OK 2. 在slave节点查看: 127.0.0.1:6379> get test "hello"
注意:slave节点为了安全是只读不写的。
127.0.0.1:6379> set test hi
(error) READONLY You can't write against a read only replica.
127.0.0.1:6379>
8. 验证高可用
关闭Node201的redis
127.0.0.1:6379> shutdown
此时Node202被选为master:
此时再次启动Node201,Node201只能为slave了。
9.开机启动redis
1. 编辑服务文件 vim /etc/systemd/system/redis-server.service [Unit] Description=The redis-server Process Manager After=syslog.target network.target [Service] Type=simple PIDFile=/var/run/redis_6379.pid ExecStart=/usr/local/redis-5.0.3/redis-server /usr/local/redis-5.0.3/redis.conf ExecReload=/bin/kill -USR2 $MAINPID ExecStop=/bin/kill -SIGINT $MAINPID [Install] WantedBy=multi-user.target 2. 重新加载 systemctl daemon-reloads systemctl start redis-server.services systemctl enable redis-server.service 3. 创建软连接 ln -s /usr/local/redis/redis-cli /usr/bin/redis
如果对您有帮助,轻轻点个赞!