Redis3.2.8集群搭建

采用官方推荐的三主三从分片方案,本例中所有节点部署在一台主机上。

软件安装:

tar zxvf redis-3.2.8.tar.gz

cd  redis-3.2.8

make

make install

mkdir redis-cluster

根据端口号,创建六个节点

mkdir redis-cluser/6379、6380、6381、6382、6383、6384

拷贝配置文件到各个节点:

cp redis.conf  redis-cluser/6379、6380、6381、6382、6383、6384

修改配置文件:

vim redis-cluser/6379、6380、6381、6382、6383、6384/redis.conf

port    #端口号

pidfile #pid文件

logfile "/data/local/redis-cluster/6379/redis.log"  #日志文件

cluster-enabled yes  #开启集群模式

cluster-config-file nodes-6380.conf

若需要远程连接,需要注释掉bind 127.0.0.1 改为 bind 0.0.0.0

启动:redis-server 6379、6380、81、82、83、84/redis.conf

安装redis-trib.rb工具:

安装依赖组件:yum install ruby ruby-devel rubygems rpm-build

gem install redis

# redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

创建集群,每个节点有一个从节点

>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:6379
127.0.0.1:6380
127.0.0.1:6381
Adding replica 127.0.0.1:6382 to 127.0.0.1:6379
Adding replica 127.0.0.1:6383 to 127.0.0.1:6380
Adding replica 127.0.0.1:6384 to 127.0.0.1:6381
M: 46af51f0d193f3e76b322537bc11f9570ca13930 127.0.0.1:6379
slots:0-5460 (5461 slots) master
M: 3caa86acc90199cd882475dc08622fdd522cf9a8 127.0.0.1:6380
slots:5461-10922 (5462 slots) master
M: 01152da2da00e48384714c609241d2f83ca7bdc9 127.0.0.1:6381
slots:10923-16383 (5461 slots) master
S: 825f0c904c8337d6eb8b5685e9b46fe36f7e9e99 127.0.0.1:6382
replicates 46af51f0d193f3e76b322537bc11f9570ca13930
S: 0c01889b111948f334950e84aea677658d91f1bc 127.0.0.1:6383
replicates 3caa86acc90199cd882475dc08622fdd522cf9a8
S: 567f1760b13de130a63396cc4e6983af5f6bca24 127.0.0.1:6384
replicates 01152da2da00e48384714c609241d2f83ca7bdc9
Can I set the above configuration? (type 'yes' to accept):

yes:

>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join..
>>> Performing Cluster Check (using node 127.0.0.1:6379)
M: 46af51f0d193f3e76b322537bc11f9570ca13930 127.0.0.1:6379
slots:0-5460 (5461 slots) master
1 additional replica(s)
S: 0c01889b111948f334950e84aea677658d91f1bc 127.0.0.1:6383
slots: (0 slots) slave
replicates 3caa86acc90199cd882475dc08622fdd522cf9a8
S: 825f0c904c8337d6eb8b5685e9b46fe36f7e9e99 127.0.0.1:6382
slots: (0 slots) slave
replicates 46af51f0d193f3e76b322537bc11f9570ca13930
S: 567f1760b13de130a63396cc4e6983af5f6bca24 127.0.0.1:6384
slots: (0 slots) slave
replicates 01152da2da00e48384714c609241d2f83ca7bdc9
M: 3caa86acc90199cd882475dc08622fdd522cf9a8 127.0.0.1:6380
slots:5461-10922 (5462 slots) master
1 additional replica(s)
M: 01152da2da00e48384714c609241d2f83ca7bdc9 127.0.0.1:6381
slots:10923-16383 (5461 slots) master
1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

注:使用redis-trib.rb create --replicas 1 这种方式创建主从集群的前提是,至少有6个节点,3主3从

sentinel

sentinel.conf:

注释默认相关配置,添加master监控:

sentinel monitor master1 127.0.0.1 6379 2
sentinel down-after-milliseconds master1 60000
sentinel failover-timeout master1 180000
sentinel parallel-syncs master1 1 sentinel monitor master2 127.0.0.1 6380 2
sentinel down-after-milliseconds master2 60000
sentinel failover-timeout master2 180000
sentinel parallel-syncs master2 1 sentinel monitor master3 127.0.0.1 6381 2
sentinel down-after-milliseconds master3 60000
sentinel failover-timeout master3 180000
sentinel parallel-syncs master3 1

#redis-server sentinel.conf --sentinel &

98310:X 21 Apr 09:50:47.694 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
98310:X 21 Apr 09:50:47.695 # Sentinel ID is 5c014c848accbbec31b53187b9434356f27ad074
98310:X 21 Apr 09:50:47.695 # +monitor master master2 127.0.0.1 6380 quorum 2
98310:X 21 Apr 09:50:47.695 # +monitor master master3 127.0.0.1 6381 quorum 2
98310:X 21 Apr 09:50:47.695 # +monitor master master1 127.0.0.1 6379 quorum 2

配置后台启动:

sentinel.conf,添加:

daemonize yes

启动:

#redis-server sentinel.conf --sentinel

========================华丽分割======================

Redis 3.2 1主1从配置:

主:

cluster-enabled no

logfile /data/local/redis-cluster/6379/redis.log

requirepass password

从:

cluster-enabled no

logfile /data/local/redis-cluster/6380/redis.log

requirepass password

slaveof 127.0.0.1 6379

masterauth password   必须要注定同步master时的认证密码,否则同步失败。

启动redis,查看主从状态:

#redis-cli -p 6380
>auth password
>info ...
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
...





Redis 3.2.8集群+Sentinel部署的更多相关文章

  1. redis主从复制,哨兵以及集群搭建部署

    redis主从复制 1.redis支持多实例的功能,一台机器上,可以运行多个单个的redis数据库 环境准备,运行3个redis数据库,达到 1主 2从的配置 主库 6379.conf port 63 ...

  2. Redis Cluster高可用集群在线迁移操作记录【转】

    之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...

  3. Redis Cluster高可用集群在线迁移操作记录

    之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...

  4. (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)

    参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https:/ ...

  5. Redis集群的部署

    Redis集群分为主节点Master和从节点Slave,主节点只有1个,而从节点可以有多个,这样从节点和主节点可以进行数据的传输,Redis集群的性能将比单机环境更高,接下来是配置的过程 首先配置Ma ...

  6. Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置

    0x00 Redis简介 Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值 ...

  7. 阿里云ECS部署Redis主备哨兵集群遇到的问题

    一.部署 详细部署步骤:https://blog.csdn.net/lihongtai/article/details/82826809 Redis5.0版本需要注意的参数配置:https://www ...

  8. redis解决方案之三种集群模式的概念与部署

    上篇文章为大家总结了redis命令并讲述了持久化,今天我们来看一下redis的三种集群模式:主从复制,哨兵集群,Cluster集群 本篇文章先介绍redis-cluster集群模式,然后再依次介绍它的 ...

  9. Redis——(主从复制、哨兵模式、集群)的部署及搭建

    Redis--(主从复制.哨兵模式.集群)的部署及搭建 重点: 主从复制:主从复制是高可用redis的基础,主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复. 哨兵和集群都是 ...

随机推荐

  1. java第二次实验报告20135231

    Java实验报告二:Java面向对象程序设计 20135231 何佳 实验要求: 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉 ...

  2. 关于Target=" "的一些属性

    总结目前所知的Target=""的几个属性,对其它博客进行整理和归纳. Target="_blank":浏览器总在一个新打开.未命名的窗口中载入目标文档. 说通 ...

  3. Java 面试 --- 3

    上一篇,我们给出了大概35个题目,都是基础知识,有童鞋反映题目过时了,其实不然,这些是基础中的基础,但是也是必不可少的,面试题目中还是有一些基础题目的,我们本着先易后难的原则,逐渐给出不同级别的题目, ...

  4. IT小小鸟读书笔记(3.9)

    对于IT小小鸟呢,我也不知道怎么说,或许一开始我就没想到这是一本集合了众多从事IT工作人员的学习,求职经历.读完这本书,说没什么感触,或许连我自己也不太相信. 在书的一开始邹欣就有说到:兴趣是第一原则 ...

  5. 清除浮动小记,兼容Ie6,7

    .clearfix { *zoom:1;} .clearfix:after{clear:both; display:block; height:0; visibility:hidden; line-h ...

  6. Android 目录结构

    Android目录结构中,values目录下对应的是应用程序所需要的数据,网上看到了一个包含values-v11等values-*的写法. 是为了进行分辨率的自适应????????? 因为还没有涉及到 ...

  7. linux中创建和解压文档的 tar 命令教程

    linux & zip & tar https://www.cnblogs.com/xgqfrms/p/9714161.html 1 linux中的tar命令 tar(磁带归档)命令是 ...

  8. 浅析Web数据存储-Cookie、UserData、SessionStorage、WebSqlDatabase

    Cookie 它是标准的客户端浏览器状态保存方式,可能在浏览器诞生不久就有Cookie了,为什么需要Cookie 这个东东?由于HTTP协议没有状态,所以需要一个标志/存储来记录客户浏览器当前的状态, ...

  9. Java的StringBuIlder扩容机制

    JDK 1.6中,扩容的源码是这样: void expandCapacity(int minimumCapacity) { int newCapacity = (value.length + 1) * ...

  10. Memcache服务器端+Redis服务器端+PHP Memcache扩展+PHP Memcached扩展+PHP Redis扩展+MemAdmin Memcache管理工具+一些概念(更新中)

    Memcache和Redis因为操作简单,是我们常用的服务器数据缓存系统,以下文字仅作备忘记录,部份转载至网络. 一.定义 1.Memcache Memcache是一个高性能的分布式的内存对象缓存系统 ...