1. 程式人生 > >redis主從+哨兵 安裝配置二

redis主從+哨兵 安裝配置二

圖片 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主從+哨兵 安裝配置二