集群搭建
在docker容器中搭建redis集群
详细步骤
1.创建容器
docker run -itd --name redisCluster -p 8001:8001 -p 8002:8002 -p 8003:8003 -p 8004:8004 -p:8005:8005 -p 8006:8006 centos:7.6.1810
进入容器
docker -it redisCluster bash
安装wget,make,gcc
yum install wget -y
yum install make -y
yum install gcc -y
下载redis包
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
将redis-3.0.0.tar.gz拷贝到/usr/local下,然后解压
cp redis-3.0.0.rar.gz /usr/local
tar -zxvf redis-3.0.0.tar.gz
编译
cd /usr/local/redis-3.0.0
make PREFIX=/usr/local/redis install
将配置文件复制到安装目录下
cp /usr/local/redis-3.0.0/redis.conf /usr/local/redis/bin
2.创建配置文件
创建集群中各个节点对应的配置文件,并修改其中的配置
mkdir config
cp redis.conf config/redisCluster.conf
cd config
cp redisCluster.conf redis8001.conf
cp redisCluster.conf redis8002.conf
cp redisCluster.conf redis8003.conf
cp redisCluster.conf redis8004.conf
cp redisCluster.conf redis8005.conf
cp redisCluster.conf redis8006.conf
如redos8001.conf:
# 端口
port 8001
# 启用集群模式
cluster-enabled yes
bind 196.168.6.1
# 集群节点信息配置
cluster-config-file nodes_8001.conf
# 超时时间
cluster-node-timeout 5000
appendonly yes
# 后台运行
daemonize yes
# 非保护模式
protected-mode no
pidfile /var/run/redis_8001.pid
3.启动redis
/usr/local/redis/bin//redis-server /usr/local/redis/bin/config/redis8001.conf
/usr/local/redis/bin//redis-server /usr/local/redis/bin/config/redis8002.conf
/usr/local/redis/bin//redis-server /usr/local/redis/bin/config/redis8003.conf
/usr/local/redis/bin//redis-server /usr/local/redis/bin/config/redis8004.conf
/usr/local/redis/bin//redis-server /usr/local/redis/bin/config/redis8005.conf
/usr/local/redis/bin//redis-server /usr/local/redis/bin/config/redis8006.conf
使用命令可以查看redis的状态
ps -ef
4.绑定集群
安装ruby
yum install ruby -y
yum install rubygems -y
gem install redis --version 3.0.0
cd /usr/local/redis-3.0.0/src
/usr/local/redis-3.0.0/src/redis-trib.rb create --replicas 1 172.17.0.3:8001 172.17.0.3:8002 172.17.0.3:8003 172.17.0.3:8004 172.17.0.3:8005 172.17.0.3:8006
5.验证
/usr/local/redis/bin//redis-cli -c -h 172.17.0.3 -p 8001
停止服务
/usr/local/redis/bin//redis-cli -h 172.17.0.3 -p 8001 shutdown