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
其他的一些问题 请自行百度!
来源:oschina
链接:https://my.oschina.net/u/4335170/blog/3335937