redis集群搭建及启动、停止、重启操作【转】
操作系统:完全新安装的centos7.6系统
使用一台虚拟机模拟6个redis节点,3个master,3个slave,虚拟机IP为192.168.220.11
和使用不同的IP创建集群基本过程一致,为了方便,就不创建多个虚拟机了。
开始搭建:
yum install -y wget gcc
systemctl stop firewalld.service
systemctl disable firewalld.service
cd /opt
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar zxvf redis-5.0..tar.gz
mv redis-5.0. redis
cd redis
解压后目录结构如下:

编译安装:
make MALLOC=libc
make install

src目录包含了redis server和redis cli的相关命令脚本,将该路径加入到PATH环境变量当中,方便使用
cd /opt/redis
mkdir cluster # 创建redis实例根目录
cd cluster
mkdir # 创建具体redis实例相关目录,指定其端口号为7001
cd
cp /opt/redis/redis.conf . #复制配置文件,修改之后当作当前redis实例的启动配置
mkdir data # 创建数据存储目录
修改配置文件文件,最小化修改配置
下面为需要修改的配置项以及说明
port # 客户端连接端口
bind 192.168.220.11 #实例绑定的IP地址
dir /opt/redis/cluster//data # redis实例数据配置存储位置
daemonize yes # 是否以后台进程的方式启动redis实例
pidfile pidfile /var/run/redis_7001.pid # 指定该进程pidfile
cluster-enabled yes # 开启集群模式
cluster-config-file # 集群中该实例的配置文件,该文件会在data目录下生成
appendonly yes # 开启aop日志
protected-mode no # 关闭保护模式
requirepass cyclone # master开启密码保护
masterauth cyclone # replica同master交互密码 接下来按照同样的方式创建7002,,,,7006的文件夹,修改配置文件 依次启动redis实例
redis-server /opt/redis/cluster//redis.conf
redis-server /opt/redis/cluster//redis.conf
redis-server /opt/redis/cluster//redis.conf
redis-server /opt/redis/cluster//redis.conf
redis-server /opt/redis/cluster//redis.conf
redis-server /opt/redis/cluster//redis.conf
查看启动结果

redis-cli -a cyclone --cluster create --cluster-replicas 192.168.220.11: 192.168.220.11: 192.168.220.11: 192.168.220.11: 192.168.220.11: 192.168.220.11:
输出如下:


一些slave和master在相同的物理主机上,所以会出现一些警告,这个不影响。
连接到集群的某个节点:
redis-cli -a cyclone -c -h 192.168.220.11 -p

查看集群相关信息:
查看集群节点信息:
集群相关操作:
1.关闭集群的某个节点,比如关闭端口号为7001的实例:
redis-cli -a cyclone -c -h 192.168.220.11 -p 7001 shutdown
查看结果

关闭之后,使用redis-server /opt/redis/cluster/7001/redis.conf命令可以将实例重新启动,启动完成之后,自动加入到集群当中

2.集群的关闭
逐个关闭redis实例进程即可
查找redis实例进程号
ps -ef | grep redis

关闭redis进程,使用kill -9 ${进程号},如果需要关闭多个进程,进程号之间空格隔开即可
kill - 也可执行以下命令来关闭redis进程
pkill - redis
3.redis集群的重新启动
保留原来的数据:
逐个关闭redis实例,再逐个的启动即可。
关闭实例,清空实例中数据存放目录的所有内容,然后逐个启动实例,在任意一个实例上执行集群的创建命令即可,本质上就是创建一个新的集群
清空数据存储目录内容:
rm -rf /opt/redis/cluster//data/*
rm -rf /opt/redis/cluster/7002/data/*
rm -rf /opt/redis/cluster/7003/data/*
rm -rf /opt/redis/cluster/7004/data/*
rm -rf /opt/redis/cluster/7005/data/*
rm -rf /opt/redis/cluster/7006/data/*
启动实例:
redis-server /opt/redis/cluster//redis.conf
redis-server /opt/redis/cluster//redis.conf
redis-server /opt/redis/cluster//redis.conf
redis-server /opt/redis/cluster//redis.conf
redis-server /opt/redis/cluster//redis.conf
redis-server /opt/redis/cluster//redis.conf
执行集群创建命令:
redis-cli -a cyclone --cluster create --cluster-replicas 192.168.220.11: 192.168.220.11: 192.168.220.11: 192.168.220.11: 192.168.220.11: 192.168.220.11:
转自
作者:cyclone_29
链接:https://www.jianshu.com/p/e9eab2f4a564
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
redis cluster-cluster 命令手动管理redis集群
、将 ip 和 port 所指定的节点添加到集群中 CLUSTER MEET <ip> <port> 、从集群中移除 node_id 指定的节点 CLUSTER FORGET <node_id> 、将当前节点设置为 node_id 指定的节点的从节点 CLUSTER REPLICATE <node_id> 、将节点的配置文件保存到硬盘里面 CLUSTER SAVECONFIG 、将一个或多个槽(slot)指派(assign)给当前节点 CLUSTER ADDSLOTS <slot> [slot ...] 、移除一个或多个槽对当前节点的指派 CLUSTER DELSLOTS <slot> [slot ...] 、 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点 CLUSTER FLUSHSLOTS 、将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派 CLUSTER SETSLOT <slot> NODE <node_id> 、将本节点的槽 slot 迁移到 node_id 指定的节点中 CLUSTER SETSLOT <slot> MIGRATING <node_id> 、从 node_id 指定的节点中导入槽 slot 到本节点 CLUSTER SETSLOT <slot> IMPORTING <node_id> 、取消对槽 slot 的导入(import)或者迁移(migrate) CLUSTER SETSLOT <slot> STABLE 、计算键 key 应该被放置在哪个槽上 CLUSTER KEYSLOT <key> 、返回槽 slot 目前包含的键值对数量 CLUSTER COUNTKEYSINSLOT <slot> 、返回 count 个 slot 槽中的键 CLUSTER GETKEYSINSLOT <slot> <count>
redis集群搭建及启动、停止、重启操作【转】的更多相关文章
- 分享知识-快乐自己:redis集群搭建
Redis介绍: 1.开源的NoSql数据库 2.C语言编写 3.基于内存运行,并且支持持久化 4.Key value存储 5.是主流的Nosql数据库之一 Redis优点: 1.内存使用方面,表现优 ...
- Redis集群搭建的三种方式
一.Redis主从 1.1 Redis主从原理 和MySQL需要主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生性能瓶颈,特别是在读压力上,为了分担压力,Redis支持主从复制. ...
- 二、redis集群搭建
redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...
- Redis集群搭建-韩国庆
认真一步一步搭建下来,就可以成功.... Redis-cluster集群架构讲解 redis集群专业名词称之为Redis-cluster,redis集群是从3.0版本以后才有的概念,也就是说在3.0之 ...
- redis集群搭建及设置账户(转)
Redis集群搭建以及为集群设置密码 介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. ...
- redis 集群搭建: redis-cluster
前言 redis数据存储在内存中, 就会受到内存的限制, 大家都知道, 一台电脑, 硬盘可以有1T, 但是内存, 没有听说有1T的内存吧. 那如果数据非常多, 超过一台电脑的内存空间, 怎么办呢? 正 ...
- centos redis集群搭建
说明: 10.0.0.111部署6500,6501,6502三个主节点 10.0.0.222部署6500,6501,6502三个备份节点 1.安装redis:略 2.配置内核参数 # 配置 vm.ov ...
- Redis集群搭建,伪分布式集群,即一台服务器6个redis节点
Redis集群搭建,伪分布式集群,即一台服务器6个redis节点 一.Redis Cluster(Redis集群)简介 集群搭建需要的环境 二.搭建集群 2.1Redis的安装 2.2搭建6台redi ...
- 25.redis集群搭建笔记
###Redis集群### 0.准备 软件: redis-3.0.0.gem redis-3.0.0.tar.gz#源码 1.安装ruby环境 redis基于ruby槽位计算,hash算法技术,k ...
随机推荐
- 87.CSS Flex 弹性盒模型布局教程(共用的css在48篇文章gird)
CSS Flex 弹性盒模型布局教程 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. flex布局就是给任何一个容器添加 dis ...
- 23、vue实现获取短信验证码
1.html页面: <el-form-item prop="phoneCode" class="pr"> <el-input placehol ...
- springboot-发布jar包
其他参考链接: https://www.cnblogs.com/blog5277/p/5920560.html 环境变量配置: 新建系统变量MAVEN_HOME: 在path中添加: ;%MAVEN_ ...
- 分布式利器之redis-第二章
上期答案 问题1:Redis单线程为什么快?回答: 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速.数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1 ...
- 【转】在Keil uv5里面添加STC元器件库,不影响其他元件
先到网上下载stc.CBD(http://download.csdn.net/detail/mao0514/9699117) 还有STC新系列单片机的头文件,宏晶的网站就有 1.在Keil/C51/I ...
- vimplus基本操作
1. YouCompleteMe按tab键,自动补全 2. vim-commentary添加注释,以及取消注释gcc 注释当前行(普通模式)gc 可视模式下,注释当前选中的部分gcu 撤销上一次注释的 ...
- Httpd服务入门知识-Httpd服务常见配置案例之DSO( Dynamic Shared Object)加载动态模块配置
Httpd服务入门知识-Httpd服务常见配置案例之DSO( Dynamic Shared Object)加载动态模块配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.加载动 ...
- Struct2远程命令执行漏洞(S2-053)复现学习
1.S2-053(CVE-2017-12611) RCE出自一道题目 http://www.whalwl.cn:8027/hello.action 漏洞产生原因:Struts2在使用Freemarke ...
- 为什么要指定HashMap的容量?HashMap指定容量初始化后,底层Hash数组已经被分配内存了吗?
为什么要指定HashMap的容量? 首先创建HashMap时,指定容量比如1024后,并不是HashMap的size不是1024,而是0,插入多少元素,size就是多少: 然后如果不指定HashMap ...
- 图论 - PAT乙级 1029 旧键盘 (C++ python3)
PAT甲级 1029 旧键盘 (C++ python3) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. ...