mkdir -p /home/redis-cluster-test
cd /home/redis-cluster-test
vim redis-cluster.conf
# 把下列信息写入redis-cluster.conf文件中
port ${PORT}
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
protected-mode no
daemonize no
#集群对外访问地址,不加需要在配置好集群后修改各个节点的nodes.conf中的IP
cluster-announce-ip 服务器Ip
# 如果没有ruby,请执行 yum -y install ruby 必须安装,否则会报错
gem install redis
# 通过locate或find命令查找 `redis-trib.rb`文件位置,
locate redis-trib.rb
/var/files/redis-3.2.0/src/redis-trib.rb
# 创建软连接到bin目录
ln -s /var/files/redis-3.2.0/src/redis-trib.rb /usr/local/bin/redis-trib.rb
#创建容器配置文件及数据文件存放文件夹
for port in `seq 7390 7395`; do
sudo mkdir -p ./${port}/conf && PORT=${port} envsubst < ./redis-cluster.conf > ./${port}/conf/redis.conf && mkdir -p ./${port}/data;
done
#创建容器
for port in `seq 7390 7395`; do
sudo docker run --net=host --name=redis-master-${port} -v `pwd`/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf -v `pwd`/${port}/data:/data -d redis:latest redis-server /usr/local/etc/redis/redis.conf;
done
#集群ip集合
myiplist=''
for port in `seq 7390 7395 `; do
myiplist=${myiplist}' '"IP:"${port};
done
#创建集群
redis-trib.rb create --replicas 1 `echo ${myiplist}`
#删除名字为redis-cluster*的redis集群
sudo docker rm ` sudo docker ps -a|grep redis-master-7|awk '{print $1}'`
sudo docker stop ` sudo docker ps -a|grep redis-master-7|awk '{print $1}'`
sudo docker restart ` sudo docker ps -a|grep redis-master-7$|awk '{print $1}'`