centos7.2下使用 redis 5.0搭建集群 redis-cluster

1.redis安装与编译

# 下载,解压,编译redis
$ wget http://download.redis.io/releases/redis-5.0.0.tar.gz
$ tar xzf redis-5.0.0.tar.gz
# 进入到解压目录 
$ cd redis-5.0.0
$ make
# 进入到redis-5.0.0/src 目录下运行  
$ make install  

编译后结果如下:

#在redis文件夹下新建etc和bin目录,将redis.conf拷贝到 etc下,常用的5个命令移动到bin目录下

#启动redis ,启动之前编辑redis.conf 文件将 daemonize选项 改为yes (后台启动)

$ bin/redis-server  etc/redis.conf

#验证启动是否成功

$ ps-ef |grep redis

#退出redis服务 
$ Kill 进程号 或   pkill redis-server 

2.集群搭建

redis集群至少需要2N+1个master节点(3个),在这里我们搭建三个master节点,并且为每一个master再挂一个slave节点,总共6个节点.我们在这里采用一台机器上创建6个redis实例,并将它们配置成集群模式,搭建一个伪集群,与真正的分布式配置方法几乎一样,搭建步骤如下:

2.1  在usr/local/下 创建文件夹 redis-cluster  ,在redis-cluster下创建 8001,8002,8003,8004,8005,8006文件夹

  2.2 将redis.conf拷贝至redis-cluster下的8001文件夹下,修改配置文件

  1. Daemonize  yes
  2. Port 8001 (分别对每个机器的端口还进行设置)
  3. Bind 192.168.1.102 (必须绑定当前机器的ip,方便集群定位机器,不绑定可能会出现循环查找节点及其的情况)
  4. Dir  /usr/local/redis-cluster/8001/ (指定数据文件存放位置,必须指定不同的目录位置,否则可能丢失数据)
  5. Cluster-enable yes(启动集群模式)
  6. Cluster-config-file  nodes-8001.conf  (800x与前面的端口号对应上)
  7. Cluster-node-timeout 5000
  8. Appendonly  yes (开启aof模式)

 

2.3 将8001下的redis.conf配置文件分别拷贝到剩余的5个文件下

2.4 将8002 8003 8004 8005 8006 下的配置文件的 b,d,f 项进行相应修改,可在vim使用批量替换命令

:%s/源字符串/目的字符串/g

2.5 分别启动6个实例

使用 ps -ef |grep redis查看状态

2.6 创建redis集群(redis5.0使用redis-cli),5.0以下版本见下文

./redis-cli --cluster create 192.168.1.102:8001 192.168.1.102:8002 192.168.1.102:8003 
192.168.1.102:8004 192.168.1.102:8005 192.168.1.102:8006 --cluster -replicas 1

在最后的replicas 1 指的是 主节点与从节点数的比例值.表示 master/slave=1

输入yes之后可以看到 :

2.7 搭建完毕,开始验证

  1. 连接任意一个客户端 : ./redis-cli -c -h -p (-c表示集群模式)

如: /usr/local/redis/bin/redis-cli -c -h 192.168.1.102 -p 8001

    2.进行验证: cluster info(查看集群信息),cluster nodes(查看节点列表)

3.

  1. 数据操作验证,可以看到集群是轮流向集群中存入数据,取出数据时会自动重定向   
  2. 关闭集群需要逐个关闭:    /usr/local/redis/bin/redis-cli -c -h 192.168.1.102 -p 8001 shutdown

分布式redis集群

2.7 redis5.0以下的版本 搭建方法

  • 由于redis集群需要使用ruby命令,所以需要安装ruby( redis5.0使用redis-cli创建集群,所以不需此步骤
$ yum install ruby
$ yum install rubygems
$ gem install redis –version X.X.X(安装redis和ruby的接口)

在redis/src下 使用redis-trib.rb命令创建集群

创建完成,分别启动6个实例,步骤同上.

猜你喜欢

转载自blog.csdn.net/weixin_38158701/article/details/83993875