1、集群搭建(三主三从)
RedisCluster最少需要三台主服务器,三台从服务器
1、创建目录
mkdir -p /var/redisCluster/redis-7001
mkdir -p /var/redisCluster/redis-7002
mkdir -p /var/redisCluster/redis-7003
mkdir -p /var/redisCluster/redis-7004
mkdir -p /var/redisCluster/redis-7005
mkdir -p /var/redisCluster/redis-7006
2、进入到/var/redis-5.0.5/src/
执行安装
#安装到7001目录
make install PREFIX=/var/redisCluster/redis-7001
cp /var/redis-5.0.5/redis.conf /var/redisCluster/redis-7001/bin
# 修改配置文件
vim /var/redisCluster/redis-7001/bin/redis.conf
#bind 127.0.0.1
protected-mode no
port 7001
# 后台启动
daemonize yes
# 集群
cluster-enabled yes
3、复制另外5个实例
cp -r /var/redisCluster/redis-7001/* /var/redisCluster/redis-7002
cp -r /var/redisCluster/redis-7001/* /var/redisCluster/redis-7003
cp -r /var/redisCluster/redis-7001/* /var/redisCluster/redis-7004
cp -r /var/redisCluster/redis-7001/* /var/redisCluster/redis-7005
cp -r /var/redisCluster/redis-7001/* /var/redisCluster/redis-7006
4、依次启动各个redis ./redis-server redis.conf
5、创建集群
./redis-cli --cluster create 192.168.27.5:7001 192.168.27.5:7002 192.168.27.5:7003 192.168.27.5:7004 192.168.27.5:7005 192.168.27.5:7006 --cluster-replicas 1
集群创建成功后,当前bin目录下会产生一个nodes.conf
文件,通过cat
命令可以查看当前文件的集群信息,也可以通过下面的cluster nodes
命令查看
6、客户端以集群方式连接
#注意:-c 表示是以redis集群方式进行连接
./redis-cli -h 127.0.0.1 -p 7001 -c
7、客户端连接后查看集群信息/查看节点信息
cluster info
cluster nodes
2、集群扩容
扩容是重新分配slot
的过程,redis-7007
和redis-7008
是新增节点,要保证两个节点无数据
1、创建目录
mkdir -p /var/redisCluster/redis-7007
mkdir -p /var/redisCluster/redis-7008
make install PREFIX= /var/redisCluster/redis-7007
2、修改7007的配置文件
#bind 127.0.0.1
protected-mode no
port 7001
# 后台启动
daemonize yes
# 集群
cluster-enabled yes
3、启动7007,并把7007加进集群
./redis-cli --cluster add-node 192.168.27.5:7007 192.168.27.5:7001
4、给刚添加的7007结点分配槽
通过命令cluster nodes
查看slot占用情况
1)连接上集群(连接集群中任意一个可用结点都行)
./redis-cli --cluster reshard 192.168.27.5:7007
2)输入要分配的槽数量
3000
3)输入接收槽的结点id
上面cluster node返回的7007的id
4)输入源结点id
all
5) 再次查看集群节点
5、添加从节点
启动7008,添加节点
./redis-cli --cluster add-node 192.168.72.128:7008 192.168.72.128:7007 --
cluster-slave --cluster-master-id 6ff20bf463c954e977b213f0e36f3efc02bd53d6
# 语法
./redis-cli --cluster add-node 从节点 主节点 --cluster-slave --
cluster-master-id 主节点id(7007的sha256)
3、集群缩容
/redis-cli --cluster del-node 192.168.27.5:7008 6be94480315ab0dd2276a7f70c82c578535d6666