分布式缓存Redis集群搭建

只愿长相守 提交于 2021-01-12 06:53:13

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/7031

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

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

(6)后台启动,daemonize yes

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

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

上面红色项目最好全部设置,不然会出意想不到的错误,703x最好与节点文件夹保持一致。

将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

 

创建并启动集群

进入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 表示为集群中的每个主节点创建一个从节点。之后跟着的其他参数则是实例的地址列表, 指定使用这些地址所指示的实例来创建新集群。

客户端连接集群

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

 

  • 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

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

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!