Redis之-主從配置

集羣的做用:
1,主從備份 防止主庫down機
2,讀寫分離,分擔master壓力
3,任務分離,如從服務器分擔備份的工做redis

大概同步原理:
1,slave啓動發現須要鏈接master,那麼sync自動同步一下
2,master dump出一份rdb文件給slave
3,master新產生的數據,經過緩衝aof文件
4,而後經過replicationfeedsalves進程保持聯繫;服務器

master配置:
1,關閉rdb快照--備份交給slave
2,開啓aof網絡

slave配置:
1,聲明slave-of
2,配置密碼--若是master有密碼
3,某一個slave打開rdb快照功能
4,配置是否只讀slave-read-onlyapp

配置從服務器:
1,在主庫複製相關配置文件
[root@ZFRC-YW-YJF-TEST-370123 redis]# cp redis.conf redis6380.conf
[root@ZFRC-YW-YJF-TEST-370123 redis]# cp redis.conf redis6381.conf
2,配置從服務器配置文件6380,修改以下地方
port 6380
pidfile /var/run/redis_6380.pid
dbfilename dump6380.rdb
slaveof localhost 6379
slave-read-only yeside

配置從服務器配置文件6381,修改以下地方
port 6381
pidfile /var/run/redis_6381.pid
註釋rdb產生條件
#save 900 1
#save 300 10
#save 60 3000server

關閉第二個slave節點的aof功能
appendonly no進程

slaveof localhost 6379rem

3,查看環境中rdb文件,和aof文件。刪除乾淨
[root@ZFRC-YW-YJF-TEST-370123 dir]# rm *
rm: remove regular empty file ‘laoyang-appendonly.aof’? yget

4,主master節點配置
取消rdb同步

#save 900 1
#save 300 10
#save 60 3000

aof文件關閉
appendonly no

5,啓動主從集羣
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-server ./redis.conf
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-server ./redis6380.conf
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-server ./redis6381.conf

6,驗證,主服務器6379插入數據,6380檢查
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set zhucong ok
OK
127.0.0.1:6379> exit
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-cli -p 6380
127.0.0.1:6380> get zhucong
"ok"
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-cli -p 6381
127.0.0.1:6381> get zhucong
"ok"

總結:缺點:每次slave斷開後,不管是主動斷開,仍是網絡故障。在鏈接master,都要master所有dump出rdb,再aof。同步的過程都要從新執行一遍,因此切記,多臺的slave不要一次所有啓動起來,不然master可能IO飆升。

相關文章
相關標籤/搜索