安裝目標:6臺服務器組成的cluster,3主3從,redis-5.0.7
192.168.1.11:7000
192.168.1.12:7000
192.168.1.21:7000
192.168.1.22:7000
192.168.1.31:7000
192.168.1.32:7000
1.在每一臺要安裝的服務器上執行如下命令:
sudo yum install -y gcc
mkdir downloads
cd downloads
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar xvf redis-5.0.7.tar.gz
sudo mv redis-5.0.7 /export/servers/
cd /export/servers/redis-5.0.7
make
#rm -rf redis.conf nodes.conf dump.rdb
#cp redis.conf.default redis.conf
mkdir 7000
cp redis.conf redis.conf.default
redis.conf配置信息如下:
#daemonize yes
#port 7000
#bind 192.168.1.11
#dir /export/servers/redis-5.0.7/7000/
#cluster-enabled yes
#cluster-config-file nodes.conf
#cluster-node-timeout 5000
#appendonly yes
echo -e “\n\ndaemonize yes\nport 7000\nbind echo $(IP=/sbin/ifconfig | grep -w inet | grep -v "127.0.0.1" | awk '{ print $2}'| tr -d "addr"
;echo ${IP#*:})\ndir /export/servers/redis-5.0.7/7000/\ncluster-enabled yes\ncluster-config-file nodes.conf\ncluster-node-timeout 5000\nappendonly yes\n”>>redis.conf
./src/redis-server ./redis.conf
2.在任意一臺已安裝的服務器上執行如下命令:
./src/redis-cli --cluster create 192.168.1.11:7000 192.168.1.12:7000 192.168.1.21:7000 192.168.1.22:7000 192.168.1.31:7000 192.168.1.32:7000 --cluster-replicas 1
./src/redis-cli --cluster check 192.168.1.11:7000
./src/redis-cli -c -h 192.168.1.11 -p 7000
3.redis 常用命令:
#reference: https://redis.io/topics/cluster-tutorial
新增結點
./src/redis-cli --cluster add-node {新節點IP}:{新節點端口} {任意集羣節點IP}:{對應端口}
./src/redis-cli --cluster add-node 192.168.1.41:7000
新節點加爲從結點
./src/redis-cli --cluster add-node 192.168.1.41:7000 --cluster-slave --cluster-master-id 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e
reshard 分配 slots
./src/redis-cli --cluster reshard {新主節點IP}:{新主節點PORT}
./src/redis-cli reshard : --cluster-from --cluster-to --cluster-slots --cluster-yes
刪除數據
flushall - 刪除所有庫中的緩存
flushdb - 刪除當前庫中的緩存
設置密碼
config set masterauth passwd123
config set requirepass passwd123
config rewrite
./src/redis-cli -c -h 192.168.1.11 -p 7000 -a passwd123
刪除結點(從結點可隨意刪除,主節點刪除必須保證該結點無數據)
./src/redis-cli --cluster del-node 192.168.1.41:7000 {待刪除結點的node-id}
redis-cli -c -h {IP} -p {PORT}
#哨兵模式參考:https://www.cnblogs.com/bingshu/p/9776610.html,https://www.cnblogs.com/kevingrace/p/9004460.html