redis 引數調優配置
MASTER timeout: no data nor PING received... 對於redis出現該問題,可以從調整repl-timeout時間和調大
repl_backlog大小為準,最好調整repl_backlog
repl_backlog
例如資料為:
127.0.0.1:16379> config get repl-backlog-size
1) "repl-backlog-size"
2) "1048576"
127.0.0.1:16379>
調大repl_backlog。
Redis中預設的repl_backlog大小為1M,這是一個比較小的值,我們的叢集中曾經設定為100M,有時候還是會出現主從重同步現象,後來改為200M,一切太平。可以通過以下命令修改repl_backlog的大小:
//200Mredis-cli -h xxx -p xxx config set repl-backlog-size 209715200
config set timeout 1800
config set cluster-node-timeout 15000
對於引數配置cluster-require-full-coverage
- 槽是否全覆蓋:cluster-require-full-coverage no。預設是yes,只要有結點宕機導致16384個槽沒全被覆蓋,整個叢集就全部停止服務,所以一定要改為no
現網資料資訊為:
[xxxxxxx]$ ./redis-cli -c -p 16379
127.0.0.1:16379> config get cluster-require-full-coverage
1) "cluster-require-full-coverage"
2) "yes"
127.0.0.1:16379>
127.0.0.1:16379> config get repl-timeout
1) "repl-timeout"
2) "60"
127.0.0.1:16379>
當cluster-require-full-coverage為no時,表示當負責一個插槽的主庫下線且沒有相應的從庫進行故障恢復時,叢集仍然可用,