redis集群搭建之二~使用redis-trib.rb方法

本文介绍了如何使用redis-trib.rb脚本来搭建Redis集群,包括安装Ruby和redis扩展包,理解redis.conf配置,以及详细步骤如创建实例、分配slot、添加主从节点、删除节点等。
摘要由CSDN通过智能技术生成

关于集群的架构请参考redis集群架构
一、准备阶段
准备阶段略长,若已经熟悉redis cluster,可以跳过
1.需要安装ruby
在开始搭建redis之前,你需要确保你本地有ruby(2.0以上),且该ruby 中有redis 扩展包。
ruby 官网地址
ruby 官网安装教程
一般我都是直接下载安装(即官网教程里的“Building from Source”)安装完毕之后记得确认是否安装成功
//查看本机是否安装ruby,以及ruby版本

//注意这里的2.3.1 以及安装时间2016-05-01
$ ruby -v
ruby 2.3.1p481 (2016-05-01 revision 45883) [universal.x86_64-darwin13]

2.需要有ruby redis包

//验证是否安装好ruby redis扩展包:[这里查看ruby 扩展包有更好的办法请告诉我,我对ruby完全不熟悉]
//如果没有安装好ruby redis,请看"2.1 安装ruby redis 扩展包",
//如果已经安装好,直接看"二 实施阶段"
# find / -name "redis"
/Library/Ruby/Gems/2.3.1/gems/redis-3.0.6/lib/redis

2.1 安装ruby redis 扩展包

//查看你本地是否有gem,如果没有安装,请看"2.2 安装gem",否则请看下面内容
$ gem -v
2.0.14
#gem install redis -v 3.0.6
//因为gems官网的镜像在国外,所以国内网络经常断连。你需要链接一个国内镜像,我用的是https://ruby.taobao.org

//查看现在镜像的来源地址
$ gem sources -l
*** CURRENT SOURCES ***

https://rubygems.org/

/**
 * 增加https://ruby.taobao.org为镜像,并且移除官网的https://rubygems.org/镜像
*/
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/

//查看现在镜像的来源地址
$ gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org
//安装ruby redis 3.0.6包[这个包需要与你本地的redis包的版本一致哦]
#gem install redis -v 3.0.6
//验证是否安装好redis扩展包:[这里查看ruby 扩展包有更好的办法请告诉我,我对ruby完全不熟悉]
# find / -name "redis"
/Library/Ruby/Gems/2.3.1/gems/redis-3.0.6/lib/redis

2.2 安装gem
rubygems官网下载地址
下载后就按照正常的安装步骤安装即可

//"./configure" 该步骤可以配置安装路径,以及其他参数,请查看帮助
$ ./configure
$ make
$ sudo make install
$ gem -v
2.0.14

3.你需要了解redis的架构
redis架构相关 http://blog.csdn.net/naixiyi/article/details/51335059

4.认识redis.conf文件关于redis集群(redis cluster)的配置
要使redis以集群方式启动,而不是普通单例方式启动,需要更改redis.conf文件以下字段.保存为demo_redis.conf

//这里的port 随意你定,你只要保证该端口7000以及(7000+10000)端口是空闲的即可。前者是用于服务client的端口。后者是用于各个实例相互通信的bus port,默认为服务client端口加10000
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

5.认识redis-trib.rb脚本
该脚本的位置在./../redis-3.0.6/src/redis-trib.rb。你可以查看有的各个命令

$ ./../redis-3.0.6/src/redis-trib.rb 
Usage: redis-trib <command> <options> <arguments ...>

  create          host1:port1 ... hostN:portN
                  --replicas <arg>
  check           host:port
  info            host:port
  fix             host:port
                  --timeout <arg>
  reshard         host:port
                  --from <arg>
                  --to <arg>
                  --slots <arg>
                  --yes
                  --timeout <arg>
                  --pipeline <arg>
  rebalance       host:port
                  --weight <arg>
                  --auto-weights
                  --threshold <arg>
                  --use-empty-masters
                  --timeout <arg>
                  --simulate
                  --pipeline <arg>
  add-node        new_host:new_port existing_host:existing_port
                  --slave
                  --master-id <arg>
  del-node        host:port node_id
  set-timeout     host:port milliseconds
  call            host:port command arg arg .. arg
  import          host:port
                  --from <arg>
                  --copy
                  --replace
  help            (show this help)

流程为
这里写图片描述

二 实施阶段(使用redis-trib.rb方法)

//再次确认
//ruby 已经安装
$ ruby -v
ruby 2.3.1p481 (2016-05-01 revision 45883) [universal.x86_64-darwin13]
//ruby redis 包已经安装
# find / -name "redis"
/Library/Ruby/Gems/2.3.1/gems/redis-3.0.6/lib/redis
//大致路径为
1.创建各个实例的目录
2.启动各个目录内的实例
3.连接各个实例
4.给各个实例分配slot
5.增加实例为master
    5.1启动实例
    5.2增加实例为master
    5.3为新增加的master 再分区(resharding) ,即从其他master移动一些slot
6.增加一个实例为salve
    6.1启动实例
    6.2增加实例为master
7.通过master reshard删除一个master实例
7.1 移除改master 实例的slot
7.2 del-node
8.通过master failover删除一个master实例
8.1 人工备份一个master
8.2 del-node 
9.删除一个salve 实例

1.创建各个实例的目录

//一般以port为目录名
$ ls -al
total 0
drwxr-xr-x  10   admin   340  5  8 16:38 .
drwxrwxr-x+ 81 root           admin  2754  5  1 23:40 ..
drwxr-xr-x   3   admin   102  5  8 16:37 9001
drwxr-xr-x   3   admin   102  5  8 16:38 9002
drwxr-xr-x   3   admin   102  5  8 16:38 9003
drwxr-xr-x   3   admin   102  5  8 16:39 9004
drwxr-xr-x   3   admin
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值