centOS 安裝 redis + 主從配置 + 哨兵模式

準備工作

  • redis
  • gcc
  • 主從配置規劃
ip 角色
192.198.75.136 master
192.168.75.137 slave
192.168.75.138 slave

開始部署

  • 官網下載redis源碼
  • 解壓redis安裝包,進入目錄
tar -zxvf redis-5.0.8
cd redis-5.0.8
  • 編譯安裝到指定位置
# 如果安裝失敗,選擇root用戶重試
make PREFIX=/opt/module/redis-5.0.8 install
  • 複製配置文件到安裝目錄
# redis配置文件
cp redis.conf /opt/module/redis-5.0.8/
# 哨兵模式配置文件
cp sentinel.conf /opt/module/redis-5.0.8/

啓動redis

./redis-server

常用配置項

配置項 默認值 描述
daemonize no 使用 yes 啓用守護進程
pidfile /var/run/redis_6379.pid 守護進程方式啓動時,pid寫入的文件
bind 127.0.0.1 綁定的主機地址,不設置則允許所有連接
port 6379 端口號
logfile 守護進程方式啓動時,日誌保存的目錄,默認爲標準輸出
loglevel notice 日誌等級,可能的值 debug verbose notice warning
save 900 1 , 300 10 , 60 10000 指定在多長時間內,有多少次更新操作,就將數據同步到數據文件
dbfilename dump.rdb RDB文件名稱
dir ./ AOF、RDB文件保存目錄
rdbcompression yes RDB存儲時,是否壓縮數據
stop-writes-on-bgsave-error yes 生成RDB文件出錯時,是否停止redis寫命令
rdbchecksum yes 是否校驗RDB文件
appendonly no 是否在每次更新操作後進行日誌記錄,可以理解爲打開AOF功能
appendfilename appendonly.aof AOF文件名
appendfsync everysec 同步頻率,可能的值 always everysec no ,alway:sredis執行每個寫命令時,都同步寫入硬盤,everysec :每秒執行一次 , no :讓操作系統來決定何時進行同步
auto-aof-rewrite-percentage 100 當AOF文件以指定的百分比增加時,自動重寫AOF文件,指定0,禁用自動重寫
auto-aof-rewrite-min-size 64MB 和auto-aof-rewrite-percentage配合使用
no-appendfsync-on-rewrite no AOF自動重寫時,阻塞主進程
timeout 0 當客戶端閒置多長秒後關閉連接,如果指定爲 0 ,表示關閉該功能
maxclients 同一時間最大客戶端連接數
protected-mode yes 安全模式 啓動條件有2個, bind沒有綁定ip地址 , 沒有設置登錄密碼

主從配置

由於redis3.2版本增加了安全模式,所以我們需要設置登錄密碼,或者直接關閉安全模式(不推薦)

# 關閉安全模式
protected-mode no

ps:關閉後無需下列配置

  • master 配置文件修改如下
bind 192.168.75.136
# 設置登錄密碼
requirepass admin123456
  • salve 配置文件修改如下
# 192.168.75.137的配置文件
bind 192.168.75.137
# 設置master的登錄密碼
masterauth admin123456
# 指定master的地址端口
slaveof 192.168.75.136 6379

# 192.168.75.138的配置文件
bind 192.168.75.138
# 設置master的登錄密碼
masterauth admin123456
# 指定master的地址端口
slaveof 192.168.75.136 6379
  • 配置完成後依次啓動服務
  • 登錄客戶端查看配置是否成功
# 如果配置了密碼,先執行鑑權命令,否則跳過
auth admin123456
# 查看節點信息
info replication

在這裏插入圖片描述
在這裏插入圖片描述

  • 手動故障轉移
# 模擬主節點故障
kill -9 14898

# 設置192.168.75.137爲主節點
bin/redis-cli -h 192.168.75.137 -p 6379 slaveof no one

#192.168.75.138配置重新連接到新的master
slaveof 192.168.75.137 6379
  • 自動故障轉移(哨兵模式)
    修改配置文件sentinel.conf
配置項 默認值 描述
daemonize no 使用 yes 啓用守護進程
port 26379 端口號
pidfile /var/run/redis-sentinel.pid pid文件位置
logfile 日誌文件位置
dir /tmp 緩存文件目錄
sentinel monitor mymaster 127.0.0.1 6379 2 mymaster :名字自定義, ip:主節點所在ip ,port:主節點所在端口 , 1 代表當一個哨兵認爲不可用時,就執行故障轉移,可以配置多個哨兵
sentinel auth-pass 安全模式下需要使用的登錄密碼 master-name 等於sentinel monitor參數定義的名字
  • 啓動哨兵
bin/redis-sentinel sentinel.conf

啓動後常見的警告

  • 沒有指定配置文件
    在這裏插入圖片描述
    解決方法:啓動時,指定配置文件
./redis-server redis.conf
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章