概述
Redis主從復制,也叫master-slaves配置,可以更好地讀寫分離;
步驟
先關防火牆;
master服務器先不做任何操作;
進入slave服務器:
redis-3.2.1目錄下的redis.conf是redis的配置文件,打開這個配置文件;
修改bind參數為0.0.0.0(master服務器的redis的配置文件也要修改bind參數為0.0.0.0),這是為了使所有主機都可以訪問;
在redis.conf文件里加上slaveof master服務器的ip地址 master服務器中redis的端口號;
進入slave服務器:
redis-3.2.1目錄下的sentinel.conf是redis的哨兵文件,打開這個哨兵文件:添加以下內容:
sentinel monitor mymaster master服務器的ip地址 master服務器中redis的端口號 1(sentinel monitor <名稱(任意)> <端口> <投票獲得票數>)
sentinel down-after-milliseconds mymaster 5000(默認1秒檢測一次,這里配置5s為宕機狀態)
sentinel parallel-syncs mymaster 1(多少個從節點參與哨兵選舉)
sentinel failover-timeout mymaster 180000(主節點過期失效的時間)
啟動哨兵:
./redis-server ../sentinel.conf --sentinel&(&表示在后台啟動,默認端口是26379)
查看哨兵信息:
./redis-cli -h 192.168.204.131 -p 26379 info sentinel
重啟redis服務,至此主從復制配置完成;
在redis-3.2.1目錄下新建目錄logs,在該logs目錄下新建文件redis.log
redis默認不記錄日志(log)文件,需要在主從2台主機的redis的redis.conf中的logfile=""的雙引號里填寫/home/centos2/Desktop/redis-3.2.1/logs/redis.log
(注意:要根據具體路徑名設置)
打開master的redis、slave的redis:
info Replication以檢查主從復制配置是否成功
參考:https://www.cnblogs.com/newstudent/p/redis-sentinel.html
如果不成功,比如master_link_status:down 可能原因:
1.使兩台主機要么都為NET模式,要么都為橋接模式
2.redis.conf文件最后幾行。。。
3.參考centos下安裝tomcat的防火牆問題
4.。。。