redis3.0.0 集群安装详细步骤
2016-05-17 11:07
861 查看
原文地址:http://blog.csdn.net/xu470438000/article/details/42971091
Redis集群部署文档(centos6系统)
(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
127.0.0.1:7003
127.0.0.1:7004
127.0.0.1:7005
1:下载redis。官网下载3.0.0版本,之前2.几的版本不支持集群模式
下载地址:https://github.com/antirez/redis/archive/3.0.0-rc2.tar.gz
2:上传服务器,解压,编译
3:创建集群需要的目录
4:修改配置文件redis.conf
5:分别启动这6个redis实例
6:执行redis的创建集群命令创建集群
6.1执行上面的命令的时候会报错,因为是执行的ruby的脚本,需要ruby的环境
错误内容:/usr/bin/env: ruby: No such file or directory
所以需要安装ruby的环境,这里推荐使用yum install ruby安装
6.2然后再执行第6步的创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装
错误内容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24
6.3再次执行第6步的命令,还会报错,提示不能加载redis,是因为缺少redis和ruby的接口,使用gem 安装
错误内容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./redis-trib.rb:25
6.4 再次执行第6步的命令,正常执行
![](http://img.blog.csdn.net/20150121173116437?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHU0NzA0MzgwMDA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
输入yes,然后配置完成。
![](http://img.blog.csdn.net/20150121173132250?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHU0NzA0MzgwMDA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
至此redis集群即搭建成功!
7:使用redis-cli命令进入集群环境
2:执行以下命令,将这个新节点添加到集群中
![](http://image.lxway.com/upload/4/96/496ee87349337eaab11075d6c54c3b10_thumb.jpg)
3:执行命令redis-cli -c -p 7000 cluster nodes,查看刚才新增的节点
![](http://image.lxway.com/upload/8/04/804d2ed306072ee4ae87366a7557bf8a_thumb.jpg)
4:增加了新的节点之后,这个新的节点可以成为主节点或者是从节点
4.1 把这个节点变成主节点,使用redis-trib程序,将集群中的某些哈希槽移动到新节点里面, 这个新节点就成为真正的主节点了。
执行下面的命令对集群中的哈希槽进行移动
系统会提示我们要移动多少哈希槽,这里移动1000个
![](http://image.lxway.com/upload/5/13/51362755619ccc32a871b0518ecb2eab_thumb.jpg)
然后还需要指定把这些哈希槽转移到哪个节点上,
![](http://image.lxway.com/upload/0/4b/04b27a11d58f257610620ae14b7afd6d_thumb.jpg)
输入我们刚才新增的节点的ID
f32dc088c881a6b930474fc5b52832ba2ff71899
然后需要我们指定转移哪几个几点的哈希槽
![](http://image.lxway.com/upload/3/db/3db66873a7b67fd2ca096e0daeee2bdc_thumb.jpg)
输入all 表示从所有的主节点中随机转移,凑够1000个哈希槽
然后再输入yes,redis集群就开始分配哈希槽了。
至此,一个新的主节点就添加完成了,执行命令查看现在的集群中节点的状态
![](http://image.lxway.com/upload/6/91/691392759a0a00e6483e5490f0f9832e_thumb.jpg)
4.2:把这个节点变成从节点
前面我们已经把这个新节点添加到集群中了,现在我们要让新节点成为127.0.0.1:7001的从节点,只需要执行下面的命令就可以了,命令后面的节点ID就是127.0.0.1:7001的节点ID
使用下面命令来确认一下127.0.0.1:7006是否已经成为127.0.0.1:7001的从节点
看到下面图片中的情况就表示添加成功
![](http://image.lxway.com/upload/d/14/d147c7afde6361642da34d978e00e7d1_thumb.jpg)
首先要把节点中的哈希槽转移到其他节点中,执行下面的命令
系统会提示我们要移动多少哈希槽,这里移动1000个,因为127.0.0.1:7006节点有1000个哈希槽
然后系统提示我们输入要接收这些哈希槽的节点的ID,这里使用127.0.0.1:7001的节点ID
然后要我们选择从那些节点中转出哈希槽,这里一定要输入127.0.0.1:7006这个节点的ID,最后输入 done 表示输入完毕
最后一步,使用下面的命令把这个节点删除
2:如果节点是从节点的,直接使用下面的命令删除即可。
Redis集群部署文档(centos6系统)
(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
127.0.0.1:7003
127.0.0.1:7004
127.0.0.1:7005
1:下载redis。官网下载3.0.0版本,之前2.几的版本不支持集群模式
下载地址:https://github.com/antirez/redis/archive/3.0.0-rc2.tar.gz
2:上传服务器,解压,编译
tar -zxvf redis-3.0.0-rc2.tar.gz mv redis-3.0.0-rc2.tar.gz redis3.0 cd /usr/local/redis3.0 make make install |
mkdir -p /usr.local/cluster cd /usr.local/cluster mkdir 7000 mkdir 7001 mkdir 7002 mkdir 7003 mkdir 7004 mkdir 7005 |
cp /usr/local/redis3.0/redis.conf /usr.local/cluster vi redis.conf ##修改配置文件中的下面选项 port 7000 daemonize yes cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes ##修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到7000/7001/7002/7003/7004/7005目录下面 cp /usr/local/cluster/redis.conf /usr/local/cluster/7000 cp /usr/local/cluster/redis.conf /usr/local/cluster/7001 cp /usr/local/cluster/redis.conf /usr/local/cluster/7002 cp /usr/local/cluster/redis.conf /usr/local/cluster/7003 cp /usr/local/cluster/redis.conf /usr/local/cluster/7004 cp /usr/local/cluster/redis.conf /usr/local/cluster/7005 ##注意:拷贝完成之后要修改7001/7002/7003/7004/7005目录下面redis.conf文件中的port参数,分别改为对应的文件夹的名称 |
cd /usr/local/cluster/7000 redis-server redis.conf cd /usr/local/cluster/7001 redis-server redis.conf cd /usr/local/cluster/7002 redis-server redis.conf cd /usr/local/cluster/7003 redis-server redis.conf cd /usr/local/cluster/7004 redis-server redis.conf cd /usr/local/cluster/7005 redis-server redis.conf ##启动之后使用命令查看redis的启动情况ps -ef|grep redis 如下图显示则说明启动成功 |
cd /usr/local/redis3.0/src ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 |
错误内容:/usr/bin/env: ruby: No such file or directory
所以需要安装ruby的环境,这里推荐使用yum install ruby安装
yum install ruby |
错误内容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24
yum install rubygems |
错误内容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./redis-trib.rb:25
gem install redis |
输入yes,然后配置完成。
至此redis集群即搭建成功!
7:使用redis-cli命令进入集群环境
redis-cli -c -p 7000 |
Redis集群添加节点
1:首先把需要添加的节点启动cd /usr/local/cluster/ mkdir 7006 cp /usr/local/cluster/redis.conf /usr/local/cluster/7006/ cd /usr/local/cluster/7006/ vi redis.conf ##修改redis.conf中的port参数的值为7006 redis-server redis.conf |
cd /usr/local/redis3.0/src/ ./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000 |
![](http://image.lxway.com/upload/4/96/496ee87349337eaab11075d6c54c3b10_thumb.jpg)
3:执行命令redis-cli -c -p 7000 cluster nodes,查看刚才新增的节点
![](http://image.lxway.com/upload/8/04/804d2ed306072ee4ae87366a7557bf8a_thumb.jpg)
4:增加了新的节点之后,这个新的节点可以成为主节点或者是从节点
4.1 把这个节点变成主节点,使用redis-trib程序,将集群中的某些哈希槽移动到新节点里面, 这个新节点就成为真正的主节点了。
执行下面的命令对集群中的哈希槽进行移动
cd /usr/local/redis3.0/src ./redis-trib.rb reshard 127.0.0.1:7000 |
![](http://image.lxway.com/upload/5/13/51362755619ccc32a871b0518ecb2eab_thumb.jpg)
然后还需要指定把这些哈希槽转移到哪个节点上,
![](http://image.lxway.com/upload/0/4b/04b27a11d58f257610620ae14b7afd6d_thumb.jpg)
输入我们刚才新增的节点的ID
f32dc088c881a6b930474fc5b52832ba2ff71899
然后需要我们指定转移哪几个几点的哈希槽
![](http://image.lxway.com/upload/3/db/3db66873a7b67fd2ca096e0daeee2bdc_thumb.jpg)
输入all 表示从所有的主节点中随机转移,凑够1000个哈希槽
然后再输入yes,redis集群就开始分配哈希槽了。
至此,一个新的主节点就添加完成了,执行命令查看现在的集群中节点的状态
redis-cli -c -p 7000 cluster nodes |
![](http://image.lxway.com/upload/6/91/691392759a0a00e6483e5490f0f9832e_thumb.jpg)
4.2:把这个节点变成从节点
前面我们已经把这个新节点添加到集群中了,现在我们要让新节点成为127.0.0.1:7001的从节点,只需要执行下面的命令就可以了,命令后面的节点ID就是127.0.0.1:7001的节点ID
redis-cli -c -p 7006 cluster replicate 0b00721a509444db793d28448d8f02168b94bd38 |
redis-cli -p 7000 cluster nodes | grep slave | grep 0b00721a509444db793d28448d8f02168b94bd38 |
![](http://image.lxway.com/upload/d/14/d147c7afde6361642da34d978e00e7d1_thumb.jpg)
Redis集群删除节点
1:如果删除的节点是主节点,这里我们删除127.0.0.1:7006节点,这个节点有1000个哈希槽首先要把节点中的哈希槽转移到其他节点中,执行下面的命令
cd /usr/local/redis3.0/src ./redis-trib.rb reshard 127.0.0.1:7000 |
然后系统提示我们输入要接收这些哈希槽的节点的ID,这里使用127.0.0.1:7001的节点ID
然后要我们选择从那些节点中转出哈希槽,这里一定要输入127.0.0.1:7006这个节点的ID,最后输入 done 表示输入完毕
最后一步,使用下面的命令把这个节点删除
cd /usr/local/redis3.0/src/ ./redis-trib.rb del-node 127.0.0.1:7006 127.0.0.1:7006 |
cd /usr/local/redis3.0/src/ ./redis-trib.rb del-node 127.0.0.1:7006 127.0.0.1:7006 |
相关文章推荐
- Redis服务端状态与性能监控命令
- 【Redis源码剖析】 - Redis IO操作之rio
- redis删除key
- Redis配置文件说明
- Linux-CentOS下redis安装
- CI框架中redis缓存相关操作文件示例代码
- CI框架中redis缓存相关操作文件示例代码
- java对redis的基本操作
- 搭建Nginx(负载均衡)+Redis(Session共享)+Tomcat集群
- Centos下安装Redis步骤简介
- 用redis的sadd和spop做后台抽奖
- redis安装
- redis常见的五种数据类型
- Linux Redis 远程访问
- PHP-redis英文文档
- PHP-redis中文文档
- php中redis的安装
- Redis配置文件解读
- 基于Redis的分布式锁实现
- redis link 链表结构