分布式缓存Redis4及redis5集群搭建

redis安装

1.下载tar包至/opt/redis

2.解压tar包

tar -xvf redis-4.0.14.tar.gz 
3. cd redis-4.0.14

make一下。

单节点的redis准备就绪。

相关配置准备:

在/usr/local下建立redis-cluster目录,并建7031-7036文件夹

 

 

拷贝修改配置文件

 cd /opt/redis/redis-4.0.14

cp redis.conf /usr/local/redis-cluster/7031

cd /usr/local/redis-cluster/7031修改redis.conf

修改项如下:

(1)绑定端口,port 7031

(2)绑定IP,bind 10.200.195.61

(3)指定数据存放路径,dir /usr/local/redis-cluster/data/7031 

(4)启动集群模式,cluster-enabled yes

(5)指定集群节点配置文件,cluster-config-file nodes-7031.conf

(6)后台启动,daemonize yes

(7)指定集群节点超时时间,cluster-node-timeout 5000

(8)指定持久化方式,appendonly yes

(9)密码设置

               requirepass password 

               masterauth password

(10)日志文件:  logfile  "/usr/local/redis-cluster/7031/7031.log"

上面红色项目最好全部设置,不然会出意想不到的错误,在redis-cluster下建7031-7036目录存放配置文件和日志文件,另外在上述data目录下新建7031-7036目录用于存放数据文件。

将7031的redis.conf改完后再拷贝到剩下的5个目录中,然后只要全局替换redis.conf中的7031为相应的节点即可。

 

安装ruby

由于Redis 集群客户端实现很少,redis集群的启动需要用到ruby实现的redis-trib.rb,所以我们需要先安装ruby。

[root@localhost redis-cluster]# yum install ruby

[root@localhost redis-cluster]# yum install rubygems

[root@localhost redis-cluster]# gem install redis

这三个步骤必不可少,后面组建cluster时用。

启动redis实例

[root@localhost redis-cluster]# 

/usr/local/redis/redis-4.0.14/src/redis-server /usr/local/redis-cluster/7031/redis.conf

 

分别启动6个redis实例。也可以用脚本循环启动,这样更方便省时

 

[root@localhost redis-cluster]#

for((i=1;i<=6;i++)); do /opt/redis/redis-4.0.14/src/redis-server /usr/local/redis-cluster/703$i/redis.conf; done

查看redis实例是否启动成功

[root@localhost redis-cluster]# netstat -tunpl | grep redis-server

#或者

[root@localhost redis-cluster]# ps -ef | grep redis-server

 

 

  • redis5创建集群

前面配置都一样,redis5不依赖ruby创建集群,真是一大福音!!!!

[root@centos7g bin]# ./redis-cli --cluster create 10.200.195.65:7031 10.200.195.65:7032 10.200.195.65:7033 10.200.195.65:7034 10.200.195.65:7035 10.200.195.65:7036 --cluster-replicas 1 -a password

 

 

redis4创建并启动集群

进入redis安装目录的bin目录下

[root@localhost ~]# cd /opt/redis/redis-4.0.14/src/

/redis-trib.rb create --replicas 1 10.200.195.61:7031 10.200.195.61:7032 10.200.195.61:7033 10.200.195.61:7034 10.200.195.61:7035 10.200.195.61:7036

 

命令的意义如下:

给定 redis-trib.rb 程序的命令是 create,表示创建一个新的集群。选项 --replicas 1 表示为集群中的每个主节点创建一个从节点。之后跟着的其他参数则是实例的地址列表, 指定使用这些地址所指示的实例来创建新集群。

1. 这一步报错可能要把data目录703*下所有数据清空,

2. 需要在类似版本的client.rb文件里,修改password nil 为设置的password,大概在如下的目录

vi /usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.2.1/lib/redis/client.rb

 

 

客户端连接集群

集群启动成功后,我们就可以用任意一个客户端连接集群了,如下

 

  • redis db的数量默认为16,可以通过配置文件修改,但 集群模式下失效,只有db0一个。

集群关闭

关闭集群需要逐个关闭

for((i =1;i<=6;i++)); d( /opt/redis/redis-4.0.14/src -c -h 10.200.195.61 -p 703$i shutdown; done

问题1:

   执行命令:./redis-trib.rb 
/usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- redis (LoadError)
from /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from ./redis-trib.rb:25:in `<main>'
解决方法:

检查 yum install redis

其他的一些问题 请自行百度!

 

 

 

posted @ 2019-12-03 15:24  西凤楼  阅读(728)  评论(0编辑  收藏  举报
如果,您认为阅读这篇博客让您有些收获, 如果,您希望更容易地发现我的新博客,不妨关注一下。因为,我的写作热情也离不开您的肯定支持。 感谢您的阅读,如果您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客。 因为有小孩,兼职卖书,路过的朋友有需要低价购买图书、点读笔、纸尿裤等资源的,可扫最上方二维码,质量有保证,价格很美丽,欢迎咨询!