使用docker 創建6節點redis 集群 RedisCluster redis集群
1.RedisCluster 特點(3主節點redis 集群 及6節點集群)
1.無中心節點,客戶端與redis 節點直連,不需要中間代理,(有選舉機制 master個數需要奇數個)
2.數據可以被分片儲存(設置冗余節點備份)
3.管理方便

1.獲取redis 鏡像
docker pull yyyyttttwwww/redis
改名 docker tag yyyyttttwwww/redis redis
2.運行redis 容器
docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash
# --net=net2 網段
#--ip 172.19.0.2 設置ip
3.刪除 docker_gwbridge (網段不刪除不好用)

4.創建net2 網段
docker network create --subnet=172.19.0.0/16 net2

5。創建redis
docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash
5.進入redis 容器修改配置文件 /usr/redis/redis.conf
vi /usr/redis/redis.conf

6.啟動 redis
cd /usr/redis/src/
./redis-server ../redis.conf
7.依次創建其他5節點redis ,分別進入各節點redis 的容器中 /usr/redis/src/ 使用 ./redis-server ../redis.conf 啟動redis
docker run -it -d --name r2 -p 5002:6379 --net=net2 --ip 172.19.0.3 redis bash
docker run -it -d --name r3 -p 5003:6379 --net=net2 --ip 172.19.0.4 redis bash
docker run -it -d --name r4 -p 5004:6379 --net=net2 --ip 172.19.0.5 redis bash
docker run -it -d --name r5 -p 5005:6379 --net=net2 --ip 172.19.0.6 redis bash
docker run -it -d --name r6 -p 5006:6379 --net=net2 --ip 172.19.0.7 redis bash
進入redis r1 節點
1.在 /usr/redis 下創建 創建空目錄 、
mkdir /usr/redis/cluster/
2. 將 redis-trib.rb 復制到新創建 cluster 的目錄下
cp /usr/redis/src/redis-trib.rb /usr/redis/cluster/
在docker庫獲取鏡像:redis,ruby;下載redis-trib.rb(命令:wget http://download.redis.io/redis-stable/src/redis-trib.rb
3. 更新apt-get 安裝ruby rubygems 程序,使用rubygems gem 安裝redis 集群
apt-get update
apt-get install ruby
apt-get install rubygems
gem install redis
4.進入 /usr/redis/cluster/ 創建集群(yyyyttttwwww/redis 鏡像中都已經創建好了ruby 環境 直接鏡如下像創建集群的指令即可)
cd /usr/redis/cluster
./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379
--replicas 1 #每一個主節點創建一個從節點
5. 使用任何一個節點鏈接redis 集群
docker exec -it r1 bash
/usr/redis/src/redis-cli -c
-c 鏈接redis集群
6. 進入r1容器節點 使用工具 /usr/redis/src/redis-cli -c 連接集群

7.驗證 寫入數據 set get 寫入數據 讀取數據

8.推銷是那個節點并將期暫停后在讀寫數據 docker pause r2 (創建時的ip 推算172.19.0.3)

9. 退出redis 集群鏈接后重新鏈接 讀取數據,如下可以看出redis集群鏈接到r5節點( 172.19.0.6 )

10.查看集群運行的狀況 cluster nodes ( j進入容器,鏈接集群,)就可以看出r2 節點是掛掉的

11. 使用 docker unpause r2 進行恢復,恢復后該節點自動降級為salve 節點



浙公網安備 33010602011771號