redis集群搭建和部署

第一步:环境部署

  准备6台服务器(为Centos7版本),IP地址信息如下

  

创建redis cluster集群的前提:
1.每个redis node节点采用相同的硬件配置、相同的密码、相同的redis版本。
2.每个节点必须开启的参数cluster-enabled yes #必须开启集群状态,开启后redis 进程会有cluster显示cluster-config-file nodes-6380.conf #此文件有redis cluster集群自动创建和维护,不需要任何手动操作 3.所有redis服务器必须没有任何数据 4.先启动为单机redis且没有任何key value

 redis具体的安装过程可以参考我的文章:Centos7系统安装redis4.0.X 这篇文章

 第二步:创建集群,本文主要以redis4为例介绍创建集群的;

    Redis 4版本:
       需要使用到集群管理工具redis-trib.rb,这个工具是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单、便捷、实用的操作工具,redis-trib.rb是redis作者用ruby开发完成的,centos 系统yum安装的ruby存在版本较低问题,信息如下:

1 [root@molson ~]# yum install ruby  rubygems  -y
2 [root@molson ~]# find / -name redis-trib.rb /usr/local/src/redis-4.0.14/src/redis-trib.rb
3 [root@molson ~]# cp /usr/local/src/redis-4.0.14/src/redis-trib.rb /usr/bin/
4 [root@molson src]# gem install redisFetching: redis-4.1.2.gem (100%)ERROR:  Error installing redis:redis requires Ruby version >= 2.3.0.

  解决版本过低的问题,可以参考我之前的文章:Centos7系统上解决Ruby版本过低的情况-----源码安装ruby 这篇文章

  6台服务器的都设置好后,其中配置文件中需要有两个地方要修改的,如下图

  

  创建redis cluster集群命令:redis-trib.rb create  --replicas 1 192.168.37.100:6379   192.168.37.101:6379  192.168.37.102:6379   192.168.37.108:6379   192.168.37.109:6379  192.168.37.110:6379  ,如下图

  

  创建后,发现有报错,是因为在配置文件中没有设备密码的,配置文件为client.rb,ruby安装不同方式,这个文件可能在不同的路径,我的路径为:/usr/local/ruby/lib/ruby/gems/2.5.0/gems/redis-4.2.1/lib/redis,具体文件的路径见下图

  

    打开这个文件,vim /usr/local/ruby/lib/ruby/gems/2.5.0/gems/redis-4.2.1/lib/redis/client.rb,具体修改位置如下图,我设置的密码为molson

  

  密码设置后,重新创建集群,还是会报错,见下图

  

  根据报错的信息,是设置的密码没有用引号引起来,再一次修改密码用引号括起来,见下图

  

密码设置好后,再一次启动创建集群,如下图

  

  此时会出现一个交互式的界面,填写yes,默认接受,一会就会安装成功,见下图

  

  看到上图的信息,说明集群创建成功,同时可以知道那些机器是master,那些其实是slave

第三步:验证信息,先登录redis的客户端,在客户端输入命令cluster info,会看到如下图信息,说明集群创建成功

    

  查看群内有多少节点,使用命令:cluster nodes,见下图

  

  在上图也很容易看出那些IP是master,那些事slave,同时也可以查看slots(槽)的位置

原文地址:https://www.cnblogs.com/molson/p/13531163.html