redis目录
创建集群和使用集群,稍微修改配置版
为了创建一个集群,需要Redis实例运行为集群模式。需要的是以下的配置文件redis.conf
daemonize yes //守护进程
port 7001 //端口
cluster-enabled yes //开启集群
cluster-config-file nodes.conf //自动管理文件名
cluster-node-timeout 5000 //超时
appendonly yes
logfile /root/redis/redis-cluster/7001/log //日志文件
就如上面配置看到的,开启集群模式仅仅用的是cluster-enabled配置。每一个实例,都包含了一个自动管理的文件nodes.conf,这个文件不需要人为管理,都是有实例自行管理,它会在实例开启时生成,以及在需要的时候自动更新。
需要注意的是,最小化的集群要开启,至少也需要3个主节点,因此,本文会创建3个主节点和3个对应的从节点,因此,需要配置6个节点的配置文件以及把他们放在6个不同的目录里面。
mkdir redis-cluster
cd redis-cluster
mkdir 7000 7001 7002 7003 7004 7005
然后复制redis.conf到7000到7005的每个目录里面,每一个redis.conf只需要按照模板改一下端口和日志文件即可。
下面就是用redis-server命令启动所有的实例
cd 7000
redis-server redis.conf
//此处省略到每一个目录分别开启实例的代码,需要注意的是,必须到指定的目录开启,否则会共用一个nodes.conf文件
查看每个实例的日志文件
实例效果图
到了这一步,只是将6个节点都启动了,但是还没有组建成集群。我们需要的是通过做一些有意义的配置到每一个节点来创建集群。下面将会使用redis-trib,一个Ruby脚本,官网下载的Redis安装代码的src目录包含该Ruby脚本
脚本位置
不过本人用的是centos 7,因此首先安装ruby,然后通过gem命令配置
sudo yum install ruby
gem install redis
最后,是利用redis-trib.rb脚本开启集群
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 \
127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
开启后终端会显示All 16384 slots covered代表集群已经开启成功
[OK] All 16384 slots covered
最终效果图