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(槽)的位置