1. 首先,进到Redis-server 的位置,确认 Redis server 可以正常启动

2. 在 redis-5.0.3 目录下创建文件夹 redisCluster_Demo_byMe,并在  redisCluster_Demo_byMe 目录下创建名为 8001 - 8006 的 6 个文件夹

3. 复制 redis.conf 文件到 redisCluster_Demo_byMe 目录下名为 8001 - 8006 的 6 个文件夹内

4. 查看IP地址

5. 修改redisCluster_Demo_byMe 目录下名为 8001 - 8006 的 6 个文件夹内的redis.conf 配置文件,注意端口的变化

如果文件夹名为8001 则 port / pidfile / cluster-config-file 中的端口则改为对应的8001,其他文件夹下的配置文件以此修改。

  1. port 8001 //端口8002,8003,8004,8005,8006
  2. bind 本机ip (通过ifconfig 查出的IP地址 //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
  3. daemonize yes //redis后台运行
  4. pidfile /var/run/redis_8001.pid //pidfile文件对应8002,8003,8004,8005,8006
    cluster-enabled yes //开启集群 把注释#去掉
    cluster-config-file nodes_8001.conf //集群的配置 配置文件首次启动自动生成 8001,8003,8004,8005,8006
    cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
    appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志

6. 依次启动 6 个节点

7. 使用命令创建Redis集群

  1. redis-cli --cluster create 192.168.157.131:8001 192.168.157.131:8002 192.168.157.131:8003 192.168.157.131:8004 192.168.157.131:8005 192.168.157.131:8006 --cluster-replicas 1

注意,创建集群的时候,不需要使用 redis-trib.rb,请看如下提示

并且创建集群的时候至少需要 6  个节点,请看如下提示

8. 测试 Redis 集群

9. 为Redis集群添加 master 节点

首先启动节点: redis-server redisCluster_Demo_byMe/8008/redis.conf

将启动的节点作为 master 节点添加:

redis-cli --cluster add-node 192.168.157.131:8008 192.168.157.131:8001 --cluster-master-id 8b1169eba78f649da0a6eec41485ecbeaa8daa52

8b1169eba78f649da0a6eec41485ecbeaa8daa52  该 ID可以在如下的 node-8008.conf 文件中查看。

对主节点的 slot 重新分配:

redis-cli --cluster reshard 192.168.157.131:8001

reshard 后的参数是Redis集群中的任意一个实例。

将 192.168.157.131:8001 节点的 1000 个  slot 移动到 192.168.157.131:8008 节点

可以看到slot 移动成功

10. 演示删除 如下 slave 节点

删除 slave 节点

redis-cli --cluster  del-node 192.168.157.131:8007 7a93e291c9ab7c45b51f8c418a7f51cc72684020

参考链接: https://www.cnblogs.com/xwgcxk/p/10775805.html

Redis Cluster in Ubuntu的更多相关文章

  1. How To Configure a Redis Cluster on Ubuntu 14.04

    原文:https://www.digitalocean.com/community/tutorials/how-to-configure-a-redis-cluster-on-ubuntu-14-04 ...

  2. Redis Cluster with SpringBoot

    前提: 按照 https://www.cnblogs.com/luffystory/p/12081074.html 配置好Redis Cluster in Ubuntu 按照如下结构搭建项目结构: P ...

  3. Ubuntu 15.10 下Redis Cluster使用

    1 Redis Standalone安装 可以参考这篇博文:http://www.cnblogs.com/_popc/p/3684835.html 2 Redis Cluster安装 2.1 环境介绍 ...

  4. Ubuntu 15.10 下Scala 操作Redis Cluster

    1 前言 Redis Standalone,Redis Cluster的安装在前面介绍过,地址:http://www.cnblogs.com/liuchangchun/p/5063477.html,这 ...

  5. Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)

    前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...

  6. Ubuntu 16.04 下Redis Cluster集群搭建

    实际操作如下: 准备工作 版本:4.0.2 下载地址:https://redis.io/download 离线版本:(链接: https://pan.baidu.com/s/1bpwDtOr 密码: ...

  7. Redis Cluster部署、管理和测试

    背景: Redis 3.0之后支持了Cluster,大大增强了Redis水平扩展的能力.Redis Cluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twen ...

  8. Redis Cluster集群搭建与应用

    1.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper,但从redis 3.0之后版本支持redis-cluster集群,redis-cluster采用无中心结 ...

  9. Redis(十)集群:Redis Cluster

    一.数据分布 1.数据分布理论 2.Redis数据分区 Redis Cluser采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽内,计算公式:slot=CRC16(key)&16 ...

随机推荐

  1. gson 带泛型的转换

    json转对象 public static <T> T json2Obj(String json, Class<T> cls) { Gson gson = new Gson() ...

  2. JS基础_其他进制的数字(了解)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Vue的nextTick是什么?

    公司做之前项目的时候,遇到了一些比较困惑的问题,后来研究明白了nextTick的用法. 我们先看两种情况: 第一种: export default { data () { return { msg: ...

  4. 用js方式取得接口里面json数据的key和value值

    大家在实际操作中难免遇到对接口的问题,想必对一些小白来说取得里面想要是数据也是很是头疼,那么接下来我会结合接口实际情况教大家怎么取得里面相应的数据 接口数据例如:(数据为 模拟数据,json格式) { ...

  5. linux下mysql忘记密码解决方案

    一.写随笔的原因:之前自己服务器上的mysql很久不用了,忘记了密码,所以写一下解决方案,以供以后参考 二.具体的内容: 1. 检查mysql服务是否启动,如果启动,关闭mysql服务 运行命令:ps ...

  6. Bss段的作用及初始化

    初始化的全局变量:数据段 局部变量:栈 malloc:堆 未初始化的全局变量:Bss段 arm-linux-readelf -a 应用程序    可查看文件运行架构.大小端.共享库等信息 初始化Bss ...

  7. 隔离技术线程池(ThreadPool)和信号量(semaphore)

    一.首先要明白Semaphore和线程池各自是干什么? 信号量Semaphore是一个并发工具类,用来控制可同时并发的线程数,其内部维护了一组虚拟许可,通过构造器指定许可的数量,每次线程执行操作时先通 ...

  8. 使用 SignalR 实现推送功能

    百度搜索:使用 SignalR 实现推送功能

  9. 一次NaN引发的npe

    # 先上代码 import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class QQ { p ...

  10. 29.Jwt集成(3):token设置过期时间、异常判断

    token设置过期时间 package main import ( "fmt" "github.com/dgrijalva/jwt-go" "io/i ...