官网教程https://redis.io/topics/cluster-tutorial
创建和使用Redis集群
现在我们有许多实例正在运行,我们需要通过向节点写入一些有意义的配置来创建集群。
如果您使用的是Redis 5,这很容易完成,这是因为嵌入到中的Redis Cluster命令行实用程序为我们提供了帮助,该实用程序redis-cli可用于创建新集群,检查或重新分片现有集群等。
对于Redis版本3或4,有一个称为的旧工具redis-trib.rb,它非常相似。您可以src在Redis源代码分发的目录中找到它。您需要安装redisgem才能运行redis-trib。
0、安装redis5以上版本方便
yum install gcc-c++
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -zxvf redis-5.0.5.tar.gz -C /usr
cd /usr/redis-5.0.5
make
make PREFIX=/usr/redisredis-5.0.5 install
1、集群搭建准备
1)创建redis_cluster 7000 7001 7002 7003 7004 7005
mkdir -p /usr/redis_cluster
cd /usr/redis_cluster
mkdir 7000 7001 7002 7003 7004 7005
2)将/usr/redis-5.05/redis.conf 拷贝 /usr/redis_cluter/7000
cp -r /usr/redis-5.0.5/redis.conf /usr/redis_cluster/7000
修改redis.conf配置文件
vi /usr/redis_cluster/7000/redis.conf
修改项如下: tab键 + / 搜索 如 tab / protected-mode
(0)关闭保护模式,用于公用访问:protected-mode no
(1)绑定端口,port 7000
(2)绑定IP,bind 192.168.100.101
(3)指定数据存放路径,dir /usr/local/7000
(4)启动集群模式,cluster-enabled yes
(5)指定集群节点配置文件,cluster-config-file nodes-7000.conf
(6)后台启动,daemonize yes
(7)指定集群节点超时时间,cluster-node-timeout 5000
(8)指定持久化方式,appendonly yes
(9)日志文件 pidfile /var/run/redis_7000.pid
logfile "7000.log"
3)将7000的redis.conf 复制到7001,7002,7003,7004,7005
cp 7000/redis.conf 7001
cp 7000/redis.conf 7002
cp 7000/redis.conf 7003
cp 7000/redis.conf 7004
cp 7000/redis.conf 7005
修改redis.conf
vi 7001/redis.conf
:%s/7000/7001/g 替换
4)依次启动六个节点
将/usr/redis-5.0.5/bin 拷贝到/usr/redis_cluster
cp -r /usr/redis-5.0.5/bin ./
启动
cd /usr/redis_cluster
./bin/redis-server ./7000/redis.conf
./bin/redis-server ./7001/redis.conf
./bin/redis-server ./7002/redis.conf
./bin/redis-server ./7003/redis.conf
./bin/redis-server ./7004/redis.conf
./bin/redis-server ./7005/redis.conf
查看端口号
ps -ef|grep -i redis
2、创建集群
./bin/redis-cli --cluster create 192.168.100.101:7000 192.168.100.101:7001 192.168.100.101:7002 192.168.100.101:7003 192.168.100.101:7004 192.168.100.101:7005 --cluster-replicas 1
此处使用的命令是create,因为我们要创建一个新集群。该选项--cluster-replicas 1
意味着我们希望为每个创建的主机都提供一个从机。其他参数是我要用于创建新集群的实例的地址列表。
显然,满足我们要求的唯一设置是创建具有3个主设备和3个从设备的集群。
Redis-cli将为您提出配置。输入yes接受建议的配置。集群将被配置并加入,这意味着实例将被引导成彼此对话。最后,如果一切顺利,您将看到类似这样的消息:
3、Redis Cluster 集群验证
1)启动客户端
cd /usr/redis_cluster
./bin/redis-cli -c -h 192.168.100.101 -p 7001
记得加 -c
set key values 不然会出现(error) MOVED 700 192.168.100.101:7000
2)查看节点主从
info replication
看全部节点信息
cluster nodes
测试数据
set aa 123
set bb 123
set cc 123
4、关闭集群
1)建立脚本
cd /usr/redis_cluster/
vi shutdown.sh
/usr/redis_cluster/bin/redis-cli -c -h 192.168.100.101 -p 7000 shutdown
/usr/redis_cluster/bin/redis-cli -c -h 192.168.100.101 -p 7001 shutdown
/usr/redis_cluster/bin/redis-cli -c -h 192.168.100.101 -p 7002 shutdown
/usr/redis_cluster/bin/redis-cli -c -h 192.168.100.101 -p 7003 shutdown
/usr/redis_cluster/bin/redis-cli -c -h 192.168.100.101 -p 7004 shutdown
/usr/redis_cluster/bin/redis-cli -c -h 192.168.100.101 -p 7005 shutdown
将shutdown.sh变成可执行文件
chmod u+x shutdown.sh
在当前目录下启动
./shutdown.sh
查看是否关闭
ps aux|grep redis