【1】试验环境

结构图如下:

  

(这里试验没有那么多机器,就用3台机器搭建试验)

redis1是redis集群的一个节点A,上面运行了两个redis实例,7001 7004

redis2是redis集群的一个节点B,上面运行了两个redis实例,7002 7005

redis3是redis集群的一个节点C,上面运行了两个redis实例,7003 7006

-- 试验集群包含 A/B/C A1/B1/C1 6个节点

  A、B、C 为主节点对应Redis实例:7001 7002 7003

  A1、A2、A3 为主节点的从库,对应Redis实例:7004 7005 7006

-- 交叉构建主从节点,对应关系为

  【A > B】  【B>C】  【C>A1】

    A:192.168.135.173

    B:192.168.135.174

    C:192.168.135.175

-- IP与端口分布:

cluster1:

  主:192.168.135.173 7001 /data/redis/redis-cluster/nodes-7001/redis.conf

  备:192.168.135.174 7005 /data/redis/redis-cluster/nodes-7005/redis.conf

cluster2:

  主:192.168.135.174 7002 /data/redis/redis-cluster/nodes-7002/redis.conf

  备:192.168.135.175 7006 /data/redis/redis-cluster/nodes-7006/redis.conf

cluster3:

  主:192.168.135.175 7003 /data/redis/redis-cluster/nodes-7003/redis.conf

  备:192.168.135.175 7004 /data/redis/redis-cluster/nodes-7004/redis.conf

【2】清除现有集群

如果有的话,才做这一步,没有的话,直接下一步【3】即可

(2.1)清理现有数据

  #登录集群

    redis-cli -c -h 192.168.135.173 -p 7001

  #删除数据

    flushdb

(2.2)删掉现有集群

  #停掉集群节点的redis服务,举例代码如下:

    《1》./startall.sh stop  《2》redis-cli -h 192.168.135.173 -p 7001

  #删掉集群节点的所有 aof/rdb/pid/nodes.conf,举例代码如下:

    rm -rf /data/redis/7001conf/{appendonly.aof,redis.rdb,redis.pid,nodes-7001.conf}

【3】手动配置集群

(3.1)启动各节点的redis服务

  案例代码如下:

  《1》./startall.sh start  《2》redis-server /data/redis/7001conf/7001redis.conf

(3.2)登录集群,开始握手

redis-cli -p 7001 -h 192.168.135.173 -c

cluster meet 192.168.135.173 7001

cluster meet 192.168.135.173 7004

cluster meet 192.168.135.174 7002

cluster meet 192.168.135.174 7005

cluster meet 192.168.135.175 7003

cluster meet 192.168.135.175 7006

(3.3)查看节点

  cluster nodes

  #这个时候如果想操作,比如使用set test1 a,会报错 (error) CLUSTERDOWN Hash slot not served,说是还没有分配哈希槽来提供服务。

(3.4)分配 16384个哈希槽

主:

redis-cli -h 192.168.135.173 -p 7001 cluster addslots {0..5461}

redis-cli -h 192.168.135.174 -p 7002 cluster addslots {5462..10922}

redis-cli -h 192.168.135.175 -p 7003 cluster addslots {10923..16383}

(3.5)主从映射

#登录上从库开始复制,利用cluster nodes 查看对应主库的 node_id

(主从对应关系在【0】已经规划好,大致如:7001~7005,7002~7006,7003~7004)

  

#cluster replicate 7001node_id
redis-cli -h 192.168.135.174 -p
cluster replicate b7fcec9116ec14593e821104fa00ae8019d91054
exit #cluster replicate 7002node_id
redis-cli -h 192.168.135.175 -p
cluster replicate 5de5cda4fb5ad46f1d7a67b75b04946a0c203ff5
exit #cluster replicate 7003node_id
redis-cli -h 192.168.135.173 -p
cluster replicate 77ad3c48f3e8903d369c6190600aadfdbaa1ef20
exit

最终IP、主从、槽位 效果:

  

Redis(1.13)Redis cluster 分布式集群手动配置的更多相关文章

  1. CentOS6安装各种大数据软件 第六章:HBase分布式集群的配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  2. Redis Cluster 分布式集群(下)

    Redis Cluster 搭建(工具) 环境准备 节点 IP 端口 节点① 172.16.1.121 6379,6380 节点② 172.16.1.122 6379,6380 节点③ 172.16. ...

  3. Redis(1.11)Redis4.0.11 cluster 分布式集群搭建

    概念与了解:Redis(1.7)Redis高可用架构(理论篇) [0]试验环境 结构图如下: (这里试验没有那么多机器,就用3台机器搭建试验) redis1是redis集群的一个节点A,上面运行了两个 ...

  4. Redis Cluster 分布式集群(上)

    Redis Cluster 介绍 Redis 集群是一个可以在多个Redis节点之间进行数据共享的设施(installation): Redis 集群不支持那些需要同时处理多个键的 Redis 命令, ...

  5. redis配置cluster分布式集群

    #下载最新的redis5. wget http://download.redis.io/releases/redis-5.0.3.tar.gz .tar.gz cd redis- make make ...

  6. mysql cluster (mysql 集群)安装配置方案(转)

    一.准备 1.准备服务器 计划建立有5个节点的MySQL CLuster体系,需要用到5台服务器,但是我们做实验时没有这么多机器,可以只用2台,我就是一台本机,一台虚拟机搭建了有5个节点的MySQL ...

  7. Hadoop 2.2 YARN分布式集群搭建配置流程

    搭建环境准备:JDK1.6,SSH免密码通信 系统:CentOS 6.3 集群配置:NameNode和ResourceManager在一台服务器上,三个数据节点 搭建用户:YARN Hadoop2.2 ...

  8. 新闻实时分析系统-HBase分布式集群部署与设计

    HBase是一个高可靠.高性能.面向列.可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群. HBase 是Google Bigtable 的开源实现,与 ...

  9. 新闻网大数据实时分析可视化系统项目——6、HBase分布式集群部署与设计

    HBase是一个高可靠.高性能.面向列.可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群. HBase 是Google Bigtable 的开源实现,与 ...

随机推荐

  1. 【luoguP4124 】[CQOI2016]手机号码

    题目描述 人们选择手机号码时都希望号码好记.吉利.比如号码中含有几位相邻的相同数字.不含谐音不吉利的数字等.手机运营商在发行新号码时也会考虑这些因素,从号段中选取含有某些特征的号码单独出售.为了便于前 ...

  2. How to do Deep Learning on Graphs with Graph Convolutional Networks

    翻译: How to do Deep Learning on Graphs with Graph Convolutional Networks 什么是图卷积网络 图卷积网络是一个在图上进行操作的神经网 ...

  3. 【分类模型评判指标 一】混淆矩阵(Confusion Matrix)

    转自:https://blog.csdn.net/Orange_Spotty_Cat/article/details/80520839 略有改动,仅供个人学习使用 简介 混淆矩阵是ROC曲线绘制的基础 ...

  4. TensorFlow错误ValueError: No gradients provided for any variable

    使用TensorFlow训练神经网络的时候,出现以下报错信息: Traceback (most recent call last):   File "gan.py", line 1 ...

  5. (转载)IOCP 浅析

    转自:http://www.ibm.com/developerworks/cn/java/j-lo-iocp/#author   郭 仁祥, 软件工程师, IBM 简介: 传统的 Server/Cli ...

  6. storm java.io.NotSerializableException

    今天编写一个storm的topology,bolt的逻辑跟之前的类似. 为了减少重复代码,我建了个抽象基类,存放bolt的公共逻辑,设计了几个abstract方法,不同的逻辑部分由子类实现. 基类日志 ...

  7. Mac下持续集成-自动发送邮件

    找到下面这项填写邮件地址 注意下面绿色标记的邮箱要和上面的一致,否则会报错 如果两个绿色标记的邮箱不一致会报这样的错: ---------------------------------------- ...

  8. ssy-publish

    github地址: https://github.com/shangyueyue/ssy-publish 一.安装 npm install ssy-publish -D 二.在process.cwd( ...

  9. Tomcat安装应用部署及配置文件解读

    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat和Nginx,APa ...

  10. vue 动态组件,传递参数

    <template> <div class="top"> <div class='nav'> <ul class='navHader'&g ...