Redis

关注公众号 jb51net

关闭
首页 > 数据库 > Redis > redis-cli创建redis集群

redis-cli创建redis集群的实现

作者:余生逆风飞翔

本文主要介绍了redis-cli创建redis集群的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、redis单节点部署

创建文件用service启动redis方式

创建如下文件

vi /etc/systemd/system/redis.service

写入内容如下:

[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
#使用时更改redies-server的目录地址,更改redis.conf配置文件的地址
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重启配置使用上述文件生效

systemctl daemon-reload

二、redis集群部署

注:以下ruby环境和命令只适用于5.0(不包括)以前版本,5.0以上版本请跳过7.1之前步骤

集群架构

部署环境

版本:6.2.11
节点数量:redis-master-3节点
redis-selve-3节点

1.先安装依赖文件

yum -y install gcc tcl

2.解压redis包并执行如下命令

tar xf /home/redis-6.2.11.tar.gz
cd /home/redis-6.2.11
make

3.需要更改的参数

#端口,各自端口不同
port 637*
#后台启动
daemonize yes
#密码,集群的密码都要相同
masterauth 123456
#开启集群
cluster-enabled yes
#绑定本机Ip地址
bind 0.0.0.0
#更改密码,所有节点均纹统一密码,此为认证密码,单节点登录使用
requirepass 123456
#各节点集群配置文件
cluster-config-file node-63**.conf

4.安装ruby环境及依赖

yum -y install ruby ruby-devel rubygems

5.安装ruby环境

备注:redis-trib.rb这个二进制文件,用来构建redis集群,要用到ruby环境
补充:报错问题:“redis requires Ruby version >= 2.2.2”为ruby版本太低造成

#会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源3
yum install centos-release-scl-rh
#直接yum安装即可
yum install rh-ruby25  -y      
#必要一步
scl  enable  rh-ruby25 bash    
#查看安装版本redis-trib.rb这个二进制文件就可以使用了,用来构建redis集群
ruby -v
#安装redis接口
gem install redis

6.设置环境变量

备注:如果不设置环境变量的话,重启节点后ruby就找不到了

#使用export命令显示所有环境变量,复制后添加到/etc/profile文件中
export
export PATH=/bin:/usr/bin:/sbin:$PATH
#保存退出后使用命令source使用配置生效
source /etc/profile

7.集群创建

1.redis-trib.rb模式启动集群

#需要要先修改redis-trib.rb的密码与集群相同
#过滤出client.rb文件路径
find / -name "client.rb"
#修改client.rb文件中的密码
默认为空修改为集群密码
#执行如下命令启动集群
/home/redis-6.2.11/src/redis-trib.rb create --replicas 1 192.168.95.133:6349 192.168.95.134:6378 192.168.95.135:6379 192.168.95.139:6375 192.168.95.137:6376 192.168.95.138:6377

在这里插入图片描述

2. 5.0以上版本 

#4.0以上的版本用如下命令启动集群-a指定集群密码
./redis-cli --cluster create 192.168.95.133:6349 192.168.95.134:6378 192.168.95.135:6379 192.168.95.139:6375 192.168.95.137:6376 192.168.95.138:6377 --cluster-replicas 1 -a '123456'

8.查看节点

#连接任意节点IP,-c是连接集群模式
./src/redis-cli -h 192.168.95.139 -p 6375 -c
#输入密码
auth ****
#查看节点
cluster nodes

9.停止集群

各节点停止redis后即可停止集群

10.增删节点(此命令针对的是主节点)

#增加节点需要登录集群任何节点
cluster meet IP 端口
#删除节点,ID号在nodes文件中
cluster forget 节点ID

11.增删从节点

#增加从节点时,登录哪个节点即为从节点
cluster replicate 节点id #此ID必须在集群中已记录,即在nodes-**上记录后才能添加,否则会报错
#重置当前节点的配置信息,该名会重置rodes-port.conf 文件为初始状态
cluster rest

问题记录

解决办法:删除redis目录下的nodes*后重启redis所有节点

在这里插入图片描述

解决办法:登录时要加-c参数以集群方式登录

在这里插入图片描述

试验结论:

经过多次试验杀掉其中某一个主节点,集群会自动切换新的master,宕机节点恢复后会主动加入集群

到此这篇关于redis-cli创建redis集群的实现的文章就介绍到这了,更多相关redis-cli创建redis集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文