一 环境准备

操作系统:CentOS 7.x

192.168.3.200 dubbo-01 7001 7002

192.168.3.201 dubbo-02 7003 7004

192.168.3.202 dubbo-03 7005 7006

二 每一个节点创建对应的目录

dubbo-01机器上执行:

mkdir -p /opt/app/redis-cluster/node-7001{1,2}/{conf,logs,data}

dubbo-02机器上执行:

mkdir -p/opt/app/redis-cluster/node-7001{3,4}/{conf,logs,data}

dubbo-03机器上执行:

mkdir -p/opt/app/redis-cluster/node-7001{5,6}/{conf,logs,data}

三 把redis的redis.conf文件拷贝到每一个节点的node-700{N}/conf目录下,开始修改配置文件

以node-7001为例子,其余节点都参考这个配置修改,当然后有些事必要的,有些可以不是必须的,比如daemonize,logfile等,多说一下,如果没有配置logfile,那么就会输出到标准输出

bind 192.168.3.200

port 7001

daemonize yes

pidfile /opt/app/redis-cluster/node-7001/redis.pid

logfile /opt/app/redis-cluster/node-7001/logs/redis.log

appendonly yes

cluster-enabled yes

cluster-config-file node.conf
dir /opt/app/redis-cluster/node-7001/data

你也可以修改一个,然后靠配到其他节点,全局修改端口也行

,比如拷贝到node-7002/conf

然后我们开始修改端口号:

vim /opt/app/redis-cluster/node-7002/conf/redis

编辑输入::g/7001/s//7002/g进行全文替换即可

四 启动各个节点,并检测进程是否启动

各节点启动redis server

redis-server ./node-700{N}/conf/redis.conf

检测redis进程是否启动

ps –A|grep redis

[dubbo@dubbo-01 redis-cluster]$ ps -A|grep redis

4348 ?        00:00:00 redis-server

4352 ?        00:00:00 redis-server、

[dubbo@dubbo-01 redis-cluster]$ netstat –nultp

如果每一台机器都是2个进程,而且7001和7002端口也启动了,那说明启动成功,其他机器也是如此。

五 安装ruby环境和安装redis的ruby依赖接口

sudo yum install -y ruby ruby-devel rubygems

gem install redis -v 3.2.2

注意,在redis4.x安装此步骤稍微有点麻烦,因为必须是要ruby2.2才可以

六 使用redis-trib.rb 创建集群

redis-trib.rb:是一个采用ruby实现的redis集群管理工具。内部通过集群相关命令帮我们简化集群创建,检查,槽迁移和均衡等常见操作。但前提是需要安装ruby环境

创建之前确保对应的而每一个节点bind的网络接口,默认是127.0.0.1,如果要访问其他机器上的节点,这个配置肯定不行,所以我们使用IP地址;而且redis bind也不支持域名,创建集群会报错。

>>> Creating cluster

Connecting to node dubbo-01:7001: [ERR] Sorry,can't connect to node dubbo-01:7001

创建集群

redis-trib.rb create --replicas 1192.168.3.200:7001 192.168.3.200:7002 192.168.3.201:7003 192.168.3.201:7004192.168.3.202:7005 192.168.3.202:7006

如果出现了一下错误:

Can I set the above configuration? (type 'yes' toaccept): yes

/home/dubbo/.gem/ruby/gems/redis-3.2.2/lib/redis/client.rb:114:in`call': ERR Slot 0 is already busy (Redis::CommandError)

肯定是之前创建的时候失败了,现在重新创建有问题;解决办法:

删除dir目录里appendonly.aof和集群信息文件node.conf(取决于你的配置),然后关闭重新启动redis server,再来创建就好

成功后的样子:

七 检查集群完整性

redis-trib.rb check 192.168.3.201:7003

Redis集群之官方集群相关推荐

  1. 超详细的 Redis Cluster 官方集群搭建指南,适用于 redis 5.x, 6.x

    今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 旧版本使用 redis-trib.rb ruby 脚本安装集群,5.0版本redis-cli 已经自带 ...

  2. 超详细的 Redis Cluster 官方集群搭建指南

    转载自  超详细的 Redis Cluster 官方集群搭建指南 今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 安装ruby环境 因为官方提供的创建集 ...

  3. 在centos上搭建redis集群并附测试(真集群非伪集群)

    环境:centos6.5 x86 32位 redis3.2.8 ruby-2.2.3 一. redis集群原理 redis是单线程,但是一般的作为缓存使用的话,redis足够了,因为它的读写速度太快了 ...

  4. Redis基于客户端分片的集群案例(待实践)

    说明: 下面的示例基本都是基于Linux去实现,目的是为了环境的统一,以便于把性能调整到最优.且基于Java.建议生产环境不要使用Windows/Mac OS这些. 在Java领域,基于客户端进行分片 ...

  5. Redis系列教程(二):详解Redis的存储类型、集群架构、以及应用场景

    高并发架构系列 高并发架构系列:数据库主从同步的3种一致性方案实现,及优劣比较 高并发架构系列:Spring Cloud的核心成员.以及架构实现详细介绍 高并发架构系列:服务注册与发现的实现原理.及实 ...

  6. Redis进阶-高可用:集群

     前言 前面几篇文章中,已经介绍了Redis的几种高可用技术:持久化.主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡. Redis集群解决了上述 ...

  7. Redis面试题及分布式集群

    Redis面试题及分布式集群 Reference: http://blog.csdn.net/yajlv/article/details/73467865 1. 使用Redis有哪些好处? (1) 速 ...

  8. Redis~集群(分布理论、一致性哈希分区、虚拟槽分区、节点握手、集群通信、集群伸缩、请求路由、故障转移、集群维护)

    文章目录 分布理论 集群的分布式存储 简单哈希 一致性哈希分区 虚拟槽分区 Redis集群功能限制 节点握手 分配槽 集群通信 Gossip消息 集群伸缩 集群扩容 集群收缩 请求路由 MOVED重定 ...

  9. Redis 主从复制、哨兵和集群区别

    转自:Redis 主从复制.哨兵和集群区别,更优体验:http://www.kongzid.com/ 目录 1.主从复制(Replication) 1.1 主从数据库 1.2 主从复制的特点 1.3 ...

最新文章

  1. 负载均衡技术中的真集群和伪集群
  2. swift tableview 侧滑删除
  3. C++子类父类构造函数的关系
  4. vcard 2.1介绍
  5. [渝粤教育] 三江学院 软件测试 参考 资料
  6. Linux下设置和查看环境变量
  7. 激活函数之 Sigmoid、tanh、ReLU、ReLU变形和Maxout
  8. 04.卷积神经网络 W3.目标检测
  9. spring boot 配置动态刷新
  10. [转]其实每个男孩都想做一个感情专一的好男人
  11. 一文追溯 ETL 的发展历程
  12. Armadillo的安装
  13. TPL中的task并不是thread
  14. MATLAB 工具箱傻瓜式求解 NS(Navier Stoke)方程
  15. 聊一聊B端和C端产品的区别
  16. interrupt、interrupted 、isInterrupted、InterruptedException
  17. 一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。
  18. 从事了二年的Windows系统USB驱动开发
  19. How to design your talend custom component?
  20. Android菜鸡的苦逼求职路

热门文章

  1. 博达路由器如何配置互联网ip_如何成为技术大牛第七步——路由器下接交换机单臂路由配置方法...
  2. comsol积分函数_如何在 COMSOL 软件中合并解
  3. ofstream 向文件写数据
  4. vs 下如何调试js
  5. Envi和Arcgis软件冲突的解决方法
  6. linux执行使分区生效的命令,Linux硬盘分区生效命令partprobe
  7. centos安装python3.8与pip
  8. pandas隔行计算均值方差(相邻行或隔行的均值/方差)
  9. oracle成本模块培训,Oracle App 培训笔记(5) -- 成本管理模块表结构整理 续
  10. php中修改元素值为5,php怎么改变元素数组的值