多台主机搭建redis集群

之前在一台主机上搭建好了一个集群环境(192.168.187.226)就是基本的7000、7001、7002、7003、7004、7005,现在 想在192.168.187.227上部署一个redis服务器port:7006添加进之前搭好的集群。其实后来我测试功能及其储存方式,主从关系等是在三台主机上玩的。这里以完全新手的角度介绍集群的基本安装流程和遇到的问题和如何在多台主机上搭建环境。

1.      将redis3.0版本在/usr/local目录下解压安装

2.      删除压缩文件,将解压的文件移动至/usr/local/redis3.0方便管理

3.      在redis3.0目录下使用make &&make install

4.      将/usr/local/bin里的redis-server拷贝至/usr/sbin里(如果不这样做的话可能会显示错误/usr/sbin/redis-server找不到)

5.      在local目录下创建一个集群目录/cluster/7006将redis.conf拷贝进去

6.      将redis.conf配置文件里面的如下内容修改

port 7006

daemonize yes

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

appendonly yes

7.当前目录运行redis-server redis.conf

8.  查询运行状态

如下是一台主机(192.168.187.227)redis服务器运行状态


如下是另一台主机(192.168.187.226)的redis服务器运行状态(之前已经配好了)

多台主机搭建redis集群_第1张图片


9利用/usr/local/redis3.0/src 里的redis-trib.rb来执行创建集群的命令例如

./redis-tril.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001.......127.0.0.1:7006创建7000到7006的集群


执行以上命令会提示如下错误,缺少ruby环境


Yum install ruby安装

再次执行创建集群命令,发现还有错误,缺少rubygems组件


继续安装  yum install rubygems

再次执行创建集群命令,依然有错误不能加载redis,没有redis和ruby的接口


再安装

Gem install redis


10,以上问题都解决后,命令正常执行但是会出现连接不上127.0.0.1:7006的情况(因为是两台主机,绑定本地到本地的ip当然不行啦)

(以上操作都是192.168.187.227redis的部署步骤流程)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

(以下是修改两台主机redis服务器ip到相应主机ip的操作,使其可以多台主机建立集群)

原因是服务器绑定的IP都是本地的ip,这时候要想办法把两边redis的ip都改成主机的ip

(我的是192.168.187.226和192.168.187.227)

 

 

首先把192.168.187.226里配置好的集群ip都修改过来

11. 还是要在配置文件中修改redis.conf里的bind 127.0.0.1修改成192.168.187.226(另一边也是这样修改)

12 此时绑定服务器的ip改过来了

客户端连接也要指定ip了 redis-cli–c –h 192.168.187.226 –p 7000类似这样(指定ip和port的方式连接)

(另一边一样修改过来)

13另一边主机上的redis按照如此方法修改完成后,使用添加节点的方法加进来还是这个命令

./redis-tril.rb add-node 192.168.187.226:7006 192.168.187.227:7000(7000-7006已经是一个集群了,这时候只能采取添加方式)

14查看集群情况

多台主机搭建redis集群_第2张图片

可以看到四个master和三个slave 新加进来的7006是master 但是木有slot

7006需要哈希槽的话需要分配。


总结:其实在一台主机上完成搭建集群之后,在多台主机上搭建集群的思路就基本明白了。无非是把redis服务器的ip绑定为对应主机的IP,不这样怎么可能connect上呢。测试信息总结在下一篇博客里。

你可能感兴趣的:(多台主机搭建redis集群)