CentOS7下的Redis5版本(三)Redis Cluster集群

2018年十月 Redis 发布了稳定版本的 5.0 版本,推出了各种新特性,其中一点是放弃 Ruby的集群方式,改为 使用 C语言编写的 redis-cli的方式,是集群的构建方式复杂度大大降低。

redis集群提供了以下两个好处

1、将数据自动切分(split)到多个节点

2、当集群中的某一个节点故障时,redis还可以继续处理客户端的请求。

一、集群规划

Redis集群最少需要三台主服务器,三台从服务器

本人环境时是虚机centos7,ip地址110在这里复制6个Redis实例,根据端口来区分

分别为7001、7002、7003、7004、7005、7006。

如果有条件的化可以虚拟化6台虚机,或者物理机来安装。

具体安装步骤如下:

一、安装Ruby环境

yum -y install ruby ruby-devel ruby gems rpm-build

gem install redis

注意:redis5以后不在使用ruby语言实现的工具来启动redis集群,所以redis5及之后版本可忽略此操作

二、搭建并使用Redis集群(RedisCluster)

  • 创建cluster目录

本人将该目录放在了Redis目录下面

cd /usr/local/redis

mkdir cluster

cd cluster
  • 将redis-cli复制到cluster目录下
cp /usr/local/app/redis-5.0.5/src/redis-cli ./cluster
  • 创建7001实例,将Redis目录中的bin目录内容复制到7001目录下
cp bin ./cluster/7001/ -r
  • 修改7001目录下的redis.conf文件
vi  redis.conf

需要改的内容有:

port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
  • 复制7001目录 创建7002~7006实例,注意端口修改
cp 7001/ 7002 -r
cp 7001/ 7003 -r
cp 7001/ 7004 -r
cp 7001/ 7005 -r
cp 7001/ 7006 -r
  • 启动所有redis实例
  • 进入到不同节点的目录下启动redis实例
./redis-server redis.conf

查看redis是否正常启动

ps -ef | grep redis
  • 创建Redis集群

redis5.0开始不再使用ruby搭建集群

使用命令 redis-cli

./redis-cli --cluster create 192.168.1.110:7001 192.168.1.110:7002 192.168.1.110:7003 192.168.1.110:7004 192.168.1.110:7005 192.168.1.110:7006 --cluster-replicas 1

这个命令在这里用于创建一个新的集群, 选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。

之后跟着的其他参数则是这个集群实例的地址列表,3个master3个slave redis-trib 会打印出一份预想中的配置给你看,如果你觉得没问题的话,就可以输入 yes ,redis-trib 就会将这份配置应用到集群当中,让各个节点开始互相通讯。

三、客户端连接集群

./redis-cli –h 192.168.1.110 –p 7001 –c

 注意:-c 表示是以redis集群方式进行连接

四、查看集群的命令

  • 查看集群状态

cluster info

  • 查看集群中的节点

cluster nodes

五、问题汇总

Node 192.168.206.130:7001 is not empty.Either the node already knows....异常

删除集群节点目录下的dump.rdb、node.conf,

连接每个节点,清空节点下的数据

执行命令:flushbd

猜你喜欢

转载自blog.csdn.net/java_cxrs/article/details/98472104
今日推荐