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. JavaWeb项目通过调用cmd实现备份数据库的功能

    1.别急着上车,先测试一下能否成功调用cmd,可以尝试通过cmd命令打开计算器,代码如下:     2.能成功打开计算器后,证明调用cmd的方法是没错的,现在把cmd命令字符串改成我们备份数据库的 命 ...

  2. Scrum Meeting 10.31

    成员 今日任务 明日任务 今日工作时长 徐越 整理开发文档,学习ip相关知识,学习servlet相关知识 代码迁移,学习数据库相关知识 5h 赵庶宏 学习学长的servlet代码 进行数据库的连接 4 ...

  3. css方法div固定在网页底部

    css .bottom{width:%;height:40px;background:#ededed;;}/*重点后两句*/ body <div class="bottom" ...

  4. HDU 5925 Coconuts 离散化

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5925 Coconuts Time Limit: 9000/4500 MS (Java/Others) ...

  5. 【转】SQL SERVER 中 sp_rename 用法

    因需求变更要改表的列名,平常都是跑到Enterprise manager中选取服务器->数据库->表,然后修改表,这样太麻烦了,查了一下,可以用script搞定,代码如下: EXEC sp ...

  6. 在linux中安装jdk以及tomcat并shell脚本关闭启动的进程

    在命令行模式中输入uname -a ,如下图,当界面展示i386就说明本linux系统为32版本,就在官网下载对应jdk版本,或者直接到我的网盘上下载http://pan.baidu.com/s/1c ...

  7. vim出现自动补全的问题

    当使用vim编辑文件自动补全文件名称的时候,可能会出现_arguments:451: _vim_files: function definition file not found的错误,这个时候一般都 ...

  8. JavaScript 稀奇的js语法

    function c(expression) { console.log(expression); } c(-0); // -0 c(-0 === +0); // true c((-0).toStri ...

  9. 微信小程序组件 模块化错和叹号

    wxml 页面 <import src="/pages/lianxi/lianxi.wxml" />  //引入文件 <view style='position: ...

  10. 聚合函数count里面加条件

    聚合函数中如果想汇总某一类数据,可以在括号中增加条件: sum(case when 字段>0 then 1 else 0 end) as 字段 *注意:count(case when 字段> ...