redis版本:redis-5.0.3.tar.gz
操作系统:完全新安装的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实例联系起来,创建一个集群
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集群搭建及启动、停止、重启操作【转】的更多相关文章

  1. 分享知识-快乐自己:redis集群搭建

    Redis介绍: 1.开源的NoSql数据库 2.C语言编写 3.基于内存运行,并且支持持久化 4.Key value存储 5.是主流的Nosql数据库之一 Redis优点: 1.内存使用方面,表现优 ...

  2. Redis集群搭建的三种方式

    一.Redis主从 1.1 Redis主从原理 和MySQL需要主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生性能瓶颈,特别是在读压力上,为了分担压力,Redis支持主从复制. ...

  3. 二、redis集群搭建

    redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...

  4. Redis集群搭建-韩国庆

    认真一步一步搭建下来,就可以成功.... Redis-cluster集群架构讲解 redis集群专业名词称之为Redis-cluster,redis集群是从3.0版本以后才有的概念,也就是说在3.0之 ...

  5. redis集群搭建及设置账户(转)

    Redis集群搭建以及为集群设置密码 介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. ...

  6. redis 集群搭建: redis-cluster

    前言 redis数据存储在内存中, 就会受到内存的限制, 大家都知道, 一台电脑, 硬盘可以有1T, 但是内存, 没有听说有1T的内存吧. 那如果数据非常多, 超过一台电脑的内存空间, 怎么办呢? 正 ...

  7. centos redis集群搭建

    说明: 10.0.0.111部署6500,6501,6502三个主节点 10.0.0.222部署6500,6501,6502三个备份节点 1.安装redis:略 2.配置内核参数 # 配置 vm.ov ...

  8. Redis集群搭建,伪分布式集群,即一台服务器6个redis节点

    Redis集群搭建,伪分布式集群,即一台服务器6个redis节点 一.Redis Cluster(Redis集群)简介 集群搭建需要的环境 二.搭建集群 2.1Redis的安装 2.2搭建6台redi ...

  9. 25.redis集群搭建笔记

    ###Redis集群### 0.准备 软件: redis-3.0.0.gem redis-3.0.0.tar.gz#源码   1.安装ruby环境 redis基于ruby槽位计算,hash算法技术,k ...

随机推荐

  1. java 之 集合概述

    一.集合概述 不管是哪一种数据结构,其实本质上都是容器来着,就是用来装对象的.因此,我们就要搞清楚两点:(1)如何存储(2)存储特点 1.集合 集合是 Java 中提供的一种容器,可以用来存储多个数据 ...

  2. Android源码分析(二)-----如何编译修改后的framework资源文件

    一 : 编译framework资源文件 如果修改android framework资源文件,需要先编译资源文件,然后再编译framework才可以正常引用, 进入项目目录 cd work/source ...

  3. can解析

  4. Shell中根据svn是否有待更新的版本去决定是执行maven打包

    1- svn 更新判断代码 本着学习的目的,这里使用了两种获取version的方法. localVersion=$(svn info -R | grep "Revision\:" ...

  5. MongoDB配置文件及添加用户

    一.参数启动mongodb $ mongod --bind_ip=0.0.0.0 二.配置文件: mongod.conf # 后台运行 fork=true # 数据存储文件目录 dbpath=/roo ...

  6. zabbix--自定义监控项vsftpd

    Zabbix 自定义监控项之监控 vsftpd zabbix 提供了很多监控选择,功能丰富,我们还可以根据自定义来监控想要监控一些日常的服务等. 说明: 此处我们通过监控 ftp (自定义命令),实现 ...

  7. Netbackup常用命令--bprestore

    bprestore bprestore – 从 NetBackup 服务器还原文件 大纲 bprestore [-A | -B | -rb] [-K] [-l | -H | -y] [-r] [-T] ...

  8. 牛客NOIP暑期七天营-提高组2C:滑块(平衡树) (这里rope骗分)

    A:hash 或者 map 或者trie. #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) usin ...

  9. Spring动态切换多数据源事务开启后,动态数据源切换失效解决方案

    关于某操作中开启事务后,动态切换数据源机制失效的问题,暂时想到一个取巧的方法,在Spring声明式事务配置中,可对不改变数据库数据的方法采用不支持事务的配置,如下: 对单纯查询数据的操作设置为不支持事 ...

  10. web前端如何性能优化提高加载速度

    前端优化有以下几种途径: 一.减少HTTP请求数量和次数: 二.使用CDN: 三.添加Expires头: 四.压缩组件: 五.将样式表放在头部: 六.将脚本放在底部: 七.避免CSS表达式: 八.使用 ...