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. ffmpeg——压缩mav格式音频

    今天偶然帮朋友压缩一个mav格式的音频.开始用压缩码率的方式,mav格式的音频体积一点都没变,查资料需要压缩音频文件的采样率和声道才能压缩mav格式的音频. 压缩要求是:将一个mav格式的音频文件,由 ...

  2. (第二周)scrum站立会议

    敏捷流程scrum中的很重要的一个制度之一每日站立会议 了解的内容: 问题:为啥不用email汇报代替每日会议? E-mail不能取代每日会议,E-mail只会增加沟通成本,而且不能提供细节信息或者给 ...

  3. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算

    一.结对对象 姓名:侯泽洋 学号:20172308 担任角色:驾驶员(侯泽洋) 伙伴第一周博客地址 二.本周内容 1.程序需求 (1).自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能 ...

  4. 20145214《网络攻防》逆向及Bof基础实践

    20145214<网络攻防>逆向及Bof基础实践 实践说明 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何 ...

  5. 新的Calculator的规范作业

    附加作业题目 第三次作业 mygithub:sonnypp 这是开学来第一次写随笔,这一次的作业是对上一次作业的修改,对于上一次作业,在学长老师的帮助下,我重新修改了下代码,将.h文件分成了一个Sca ...

  6. c++ imooc自学计划

    一.视频学习相关的课程列表: C++远征之起航篇http://www.imooc.com/learn/342: C++远征之离港篇http://www.imooc.com/learn/381: C++ ...

  7. Git的基本使用方法和安装&心得体会(使用git命令行)

    这是补发的,使用命令行操作的. (1)选择本地repository的路径 找到后点鼠标右键,选择git bash here. (2) clone到本地 在命令行输入 git clone ADDRESS ...

  8. Arduino IDE 安装esp8266 2.4.rc2的编译环境

    2.4. 版本, 有一个我需要的功能, 串口缓存, 可以修改. Serial.setRxBufferSize(1024); //修改为1024个字节. 安装步骤: 1. 需要FQ. 推荐用" ...

  9. poj 1523 SPF(双连通分量割点模板)

    题目链接:http://poj.org/problem?id=1523 题意:给出无向图的若干条边,求割点以及各个删掉其中一个割点后将图分为几块. 题目分析:割点用tarjan算法求出来,对于每个割点 ...

  10. wai

    外键的过滤是怎么做的, 一个class有两个外键A和B,其中A又是B的外键,在这种情况下,比如A选择了学校之后,可否在B中过滤出A学校的所有的专业?也就是说在选择的时候能不能按照已经填好的一个选项来选 ...