redis主從+哨兵 安裝配置二
阿新 • • 發佈:2019-02-14
圖片 sigint service conf nil 可用 onf moni ads
實驗環境:
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
redis主從+哨兵 安裝配置二