1、注意事项


2、配置文件并启动6个redis实例


3、使用 redis-trib.rb 将节点加入集群


一、注意事项


redis3.0 以上版本官方才支持集群


集群至少需要 3 个节点,本例中是 3 主 3 从


需要安装ruby和ruby下的redis扩展


二、配置文件并启动6个redis实例


1、本例中使用满足集群搭建的最简单配置,需要配置的内容如下



port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
masterauth passwd
requirepass passwd



2、在 /etc/ 下创建文件夹 redis-cluster, 然后在redis-cluster 下创建六个文件夹分别为


7000 7001 7002 7003 7004 7005


redis.conf 文件, 文件的内容可以使用上面的示例配置文件, 但记得将配置中的端口号从7000 改为与文件夹名字相同的号码。nodes.conf不能相同(这一项可以不做设置,节点会自动根据节点ID创建)


3、最后分别启动redis节点


redis-server /etc/redis-cluster/7000/redis.conf           (启动7000节点)


查看6个节点已经成功启动




redis创建新用户 创建redis实例_redis创建新用户




三、使用 redis-trib.rb 将节点加入集群


通过使用 Redis 集群命令行工具 redis-trib , 编写节点配置文件的工作可以非常容易地完成: redis-trib 位于 Redis 源码的 src 文件夹中, 它是一个 Ruby 程序, 这个程序通过向实例发送特殊命令来完成创建新集群, 检查集群, 或者对集群进行重新分片(reshared)等工作。


1、redis-trib.rb 是一个ruby脚本,需要 ruby 环境


yum -y install ruby


2、redis-trib.rb 需要连接redis数据库,所以需要安装 ruby的redis扩展,使用gem进行安装, Gem是一个管理Ruby库和程序的标准包


gem insatll redis


3、redis 如果对所有人开放是一件非常危险且不明智的行为,在本例中我设置了需要认证才可以访问,而redis-trib.rb 命令似乎不支持密码(目前没发现),所以只能改ruby中的redis扩展包了


gem environment(查看gem的环境,为了找到ruby的redis扩展安装路径)



redis创建新用户 创建redis实例_redis_02




我机器上是这个目录


/usr/local/share/gems/gems/redis-3.3.3/lib/redis


打开client.rb 找到如下内容改成自己设置的密码就好



redis创建新用户 创建redis实例_ruby_03




4、现在 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


命令的意义如下:


给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。

选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。

之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。


接着, redis-trib 会打印出一份预想中的配置给你看, 如果你觉得没问题的话, 就可以输入 yes , redis-trib 就会将这份配置应用到集群当中


最后输出如下信息,表示集群创建成功


[OK] All 16384 slots covered.

>>>Checkforopen slots... 

 >>>Check slots coverage...

参考了:


http://redisdoc.com/topic/cluster-tutorial.html#id5