redis(四)

Redis搭建集群

首先安装一个纯净的redis(安装的方法在我前面的随笔中讲到了)

然后做下面的步骤,

创建一个放集群的文件夹  mkdir /usr/local/redis-cluster

进入 cd redis-cluster/

创建6个节点

mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data

在redis-cluster文件夹下 mkdir bin

进入redis cd /usr/local/redis-3.0.0/src

复制到刚才创建的文件夹下的bin目录

cp mkreleasehdr.sh redis-benchmark redis-check-aof  redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin

复制一个新的实例到9001然后修改配置

cp -r /usr/local/redis    /usr/local/redis-cluster/9001

port 9001

daemonize yes

bind 192.168.44.137  本虚拟机的ip地址

pidfile /var/run/redis_9001.pid

cluster-enabled yes

cluster-config-file nodes9001.conf

cluster-node-timeout 15000

appendonly yes

shift+g移动到末尾 dir /usr/local/redis-cluster/9001/data/

然后复制5次9001到其余5个端口

\cp -rf /usr/local/redis-cluster/9001/*   /usr/local/redis-cluster/9002

\cp -rf /usr/local/redis-cluster/9001/*   /usr/local/redis-cluster/9003

\cp -rf /usr/local/redis-cluster/9001/*   /usr/local/redis-cluster/9004

\cp -rf /usr/local/redis-cluster/9001/*   /usr/local/redis-cluster/9005

\cp -rf /usr/local/redis-cluster/9001/*   /usr/local/redis-cluster/9006

修改配置文件

vi /usr/local/redis-cluster/9002/redis/etc/redis.conf

:%s/9001/9002

vi /usr/local/redis-cluster/9003/redis/etc/redis.conf

:%s/9001/9003

vi /usr/local/redis-cluster/9004/redis/etc/redis.conf

:%s/9001/9004

vi /usr/local/redis-cluster/9005/redis/etc/redis.conf

:%s/9001/9005

vi /usr/local/redis-cluster/9006/redis/etc/redis.conf

:%s/9001/9006

最后都配置完后启动,如下图,配置完成

现在测试一个端口,但是报错了,因为他们暂时还不在一个集群中,互相直接发现不了,而且还没有可存储的位置,就是所谓的slot(槽)。

 

添加插件

yum install ruby

yum install rubygems

gem install redis -v 3.0.0 (我是直接安装成功的没有抱任何错误)

集群环境测试

/usr/local/redis-cluster/bin/redis-trib.rb create --replicas 1 192.168.44.137:9001 192.168.44.137:9002 192.168.44.137:9003 192.168.44.137:9004 192.168.44.137:9005 192.168.44.137:9006

截取了一部分图,搭建成功

 

测试

输出/usr/local/redis-cluster/9001/redis/bin/redis-cli -c -h 192.168.44.137 -p 9001

根据输入的key,redis会通过CRC16算法取余计算出应该存在9002端口,所以在9001端口输入语句后会跳转到9002端口

 

重新进入9001端口,此时通过get name还是会转移到9002端口

 

 

 

posted @ 2018-08-27 17:07  奥克兰毛泽西  阅读(97)  评论(0编辑  收藏  举报