Ubuntu server 15.0.4安装Redis cluster

1.安装redis

        目前redis 3.0以上版本都支持集群(cluster)了,安装包可以到官网上去下载:http://redis.io/download。在安装集群之前,必先安装redis(本文以redis-3.0.3为例),安装过程可以参考我的另一篇文章:Ubuntu server 15.0.4安装Redis

2.安装redis nodes

实现目标:新建6个instance,3个master,3个slave;

2.1在redis-3.0.3路径下新建集群文件夹cluster
# mkdir cluster


2.2在cluster路径下创建集群节点目录
# mkdir 7000 7001 7002 7003 7004 7005


这里我们创建了6个集群实力的节点目录备用。

2.3将redis-3.0.3文件夹下的redis.conf配置文件拷贝到cluster路径下

# cp redis.conf ./cluster/redis.conf

2.4使用vi命令编辑cluster下的redis.conf文件

打开文件编辑:

#sudo  vi  redis.conf
这里可以使用最简单的vi命令来实现编辑和保存修改。
(1)、i   光标前插入编辑;

(2)、按Esc停止编辑状态;

(3)、使用:wq保存并退出文件编辑。

在port端口出修改port值并添加cluster的配置项,如下:

port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
2.5将cluster路径下redis.conf文件分别移动到各个节点文件下
# cp redis.conf ./7000/redis.conf


后面几个节点都可以这样通过cp命令将文件复制到不同的节点下。
2.6分别编辑每个节点下redis.conf对应的port

操作与2.4所述类似,这里只需要改port 就可以了。

3.集群安装设置
3.1 使用shell窗口将多个集群节点启动
#redis-server redis.conf

依次启动其他剩余节点,这里需要启动7000-7005的节点。

3.2查看启动的redis实例
# ps -ef|grep redis


3.3将所有启动的节点设置为集群节点

src下面的ruby脚本,建立集群: --replicas 1 的意思是每个master有1个slave。

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


3.4测试集群是否生效

使用redis-cli命令,任意选择一个节点测试:


4.集群节点检查、新增和删除
4.1集群节点检查
# ./redis-trib.rb check 127.0.0.1:7000

这里可以看到各个节点的角色是主(master)节点还是从(slave)节点。

4.2集群节点新增

先在cluster路径下创建7006,然后将7006节点实例启动:

# ./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000 


4.3集群节点删除

这里以7006节点为例,先查询节点的信息:

找到7006M所示的base64字符(M master节点的ID,S slave节点的ID),即上图红色区域值:

再次chek,集群已经把7006节点移除了。


5.安装过程中遇到的问题QA
5.1 不能执行集群安装命令

注:这是因为没有安装ruby环境。

5.2ruby环境安装


apt命令不能安装ruby,如果linux安装很久没用的情况下,需要执行sudo apt-get update。


注:sudo apt-get update作用是更新Linux系统资源访问连接(主要是deb包)。

执行安装ruby出现以下错误:

注意:这里直接用sudo gem intall redis 资源请求地址会报错,可以使用淘宝的gemsruby资源库(https://ruby.taobao.org/),基于 HTTP 协议的镜像服务, 请在配置中使用 HTTPS 协议代替。

5.3验证ruby环境


6.相关参考资料

Redis集群官方英文资料:http://redis.io/topics/cluster-tutorial

Redis集群官方中文资料:http://www.redis.cn/topics/cluster-tutorial.html

ruby + gem 常用命令:http://www.2cto.com/os/201307/227238.html

RubyGems 镜像 - 淘宝网:https://ruby.taobao.org/

通过redis-trib.rb脚本构建并增删改查redis cluster集群:http://www.tuicool.com/articles/bUVRNn2

7.研究方向
7.1 集群在真实应用中的局限性(限制和问题)

待续。。。。。。。

7.2简化使用集群操作


     集群的启动、停止,是否能通过一个命令来实现呢?英文文档上说了有,但是没测试成功,后续继续研究之,如果有深入研究的欢迎一起讨论!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值