redis集群搭建测试-2

来源:互联网 发布:淘宝的钻石和皇冠 编辑:程序博客网 时间:2024/06/06 18:53

集群环境至少需要3个节点。推荐使用6个节点配置,即3个主节点,3个从节点。我们在一台机器上开启多个Redis的实例。

第一步:创建一个文件夹redis-cluster,然后在下面建立6个文件夹如下:

(1)、mkdir -p /usr/local/redis-cluster



(2)、mkdir 7001, mkdir 7002,mkdir 7003,mkdir 7004,mkdir 7005,mkdir 7006



第二步:把之前的redis.conf配置文件分别copy到700*文件夹下,进行修改各个配置文件的内容,也就是对700*文件夹下的配置文件进行修改。

(1). daemonize    yes

(2). port    700*  (分别对每个机器的端口号进行设置)

(3). bind hostname/ip (必须绑定当前机器的主机名或者IP地址)

(4). dir   /usr/local/redis-cluster/700*/  (指定数据文件的存放位置,必须要指定不同的存放目录)

(5). cluster-enabled   yes  (启动集群模式)

(6). cluster-config-file   nodes-700*.conf  (这里的700*最好和port对应上) 

(7). cluster-node-timeout   5000

(8). appendonly   yes

第三步:把修改后的配置文件,分别copy到各个文件下,注意每个文件夹要修改端口号,并且nodes文件也要不相同。

第四步:由于redis集群需要使用ruby命令,所以我们需要安装ruby。

(1). yum install ruby


(2). yum install rubygems


(3). gem install redis (安装redis和ruby的接口)



第五步:分别启动6个redis的实例,然后检查启动是否成功。

(1). [root@npf1 local]# /usr/local/redis-3.2.0/src/redis-server /usr/local/redis-cluster/700*/redis.conf


(2). netstat -tunpl | grep redis



第六步:首先到redis的安装目录下,然后执行redis-trib.rb命令。

(1). [root@npf1 local]# cd redis-3.2.0/src/

(2). [root@npf1 src]# ./redis-trib.rb create --replicas 1  npf1:7001 npf1:7002 npf1:7003 npf1:7004 npf1:7005 npf1:7006


可是当我们输入yes的时候,却出现下面的异常:

ERR Invalid node address specified: npf1:7001 (Redis::CommandError)


后来查阅资料才知道:由于redis-trib.rb 对域名或主机名支持不好,故在创建集群的时候要使用ip:port的方式。

以下是一些常见的问题解决方式:

(1). 创建集群时报某个err slot 0 is already busy (redis::commanderror)

这是由于之间创建集群没有成功,需要将nodes.conf和dir里面的文件全部删除(注意不要删除了redis.conf)

(2). 创建集群时一直处于"Waiting for the cluster to join...................................."的状态

这个问题原因不知,但解决方法是在redis.conf文件中把bind 127.0.0.1本地环回口改为物理接口

(3). 安装ruby redis时长时间没响应

这是由于天朝网络,解决办法是改ruby源(请自行baidu)或手动安装

ok, 为了解决问题,我们必须把700*/ 目录下的redis.conf配置文件中的bind npf1 改变成为bin 192.168.1.76 的IP地址。

现在我们执行下面的命令:

[root@npf1 src]# ./redis-trib.rb create --replicas 1  192.168.1.76:7001 192.168.1.76:7002 192.168.1.76:7003 192.168.1.76:7004 192.168.1.76:7005 192.168.1.76:7006


到此为此,集群已经创建成功了。

第七步:进行验证。

(1)、连接任意一个客户端即可。

./redice-cli -c -h -p (-c表示集群模式,-h表示指定IP地址,-p表示指定端口号)。

例如:[root@npf1 src]# ./redis-cli -c -h 192.168.1.76 -p 7001


(2)、进行验证:cluster info (查看集群信息), cluster nodes (查看节点列表)




详:http://blog.csdn.net/pfnie/article/details/52199639


原创粉丝点击