在Ubuntu上配置Redis的主從復制可以通過以下步驟完成。假設你已經安裝了Redis,并且有一個主節點和一個或多個從節點。
編輯主節點的Redis配置文件:
打開主節點的Redis配置文件,通常位于 /etc/redis/redis.conf
。
sudo nano /etc/redis/redis.conf
確保主節點配置正確: 確保以下配置項存在并且正確:
bind 127.0.0.1 # 綁定到本地地址,如果需要遠程訪問可以注釋掉
port 6379 # Redis端口
requirepass your_master_password # 設置主節點密碼
重啟主節點Redis服務: 保存并關閉配置文件后,重啟Redis服務以應用更改。
sudo systemctl restart redis-server
編輯從節點的Redis配置文件:
打開從節點的Redis配置文件,通常位于 /etc/redis/redis.conf
。
sudo nano /etc/redis/redis.conf
配置從節點連接到主節點:
在配置文件中添加以下行,替換 master_ip
為主節點的IP地址,master_port
為主節點的端口(默認是6379),master_password
為主節點的密碼。
slaveof master_ip master_port
masterauth master_password
例如:
slaveof 192.168.1.100 6379
masterauth your_master_password
重啟從節點Redis服務: 保存并關閉配置文件后,重啟Redis服務以應用更改。
sudo systemctl restart redis-server
檢查主節點狀態:
使用 redis-cli
連接到主節點并檢查其狀態。
redis-cli -h 192.168.1.100 -p 6379 -a your_master_password info replication
你應該看到類似以下的輸出,表示主節點正在運行并且沒有從節點連接:
# Replication
role:master
connected_slaves:0
master_replid:your_master_replid
master_replid2:your_master_replid2
master_repl_offset:your_master_repl_offset
second_repl_offset:your_second_repl_offset
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_histlen:0
檢查從節點狀態:
使用 redis-cli
連接到從節點并檢查其狀態。
redis-cli -h 192.168.1.101 -p 6379 -a your_master_password info replication
你應該看到類似以下的輸出,表示從節點正在連接到主節點:
# Replication
role:slave
master_host:192.168.1.100
master_port:6379
master_link_status:up
master_link_down_since_seconds:0
master_replid:your_master_replid
master_replid2:your_master_replid2
master_repl_offset:your_master_repl_offset
second_repl_offset:your_second_repl_offset
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_histlen:100
通過以上步驟,你應該成功配置了Redis的主從復制。如果有任何問題,請檢查日志文件 /var/log/redis/redis-server.log
以獲取更多信息。