redis cluster集群部署
上一篇http://www.cnblogs.com/qinyujie/p/9029153.html,主要讲解了 redis cluster 集群架构 的优势、redis cluster 和 redis replication + sentinal 对比、redis cluster 数据分片算法,并简单介绍了原始hash算法 和 一致性hash 算法 + 虚拟节点。从标题看,大家就知道本篇主要讲解 redis cluster 集群 搭建,闲话少说,俺们直接 开撸!
环境准备:
centos6.5 minimal
redis-3.2.8
3 * master 3* slave
注意:redis cluster 集群正常工作至少需要3个主节点,一个高可用,健壮的分布式的集群,每个master都建议至少给一个slave,正式环境建议 6 台机器上去搭建,最少 3 台机器,为了模拟集群搭建,这里使用 3 台 虚拟机器 搭建 6 个实例的redis cluster
redis 安装
每个 node 上安装 redis (这里就不讲了)
redis cluster 相关配置介绍
cluster-enabled <yes/no> //是否启动 redis cluster 集群
cluster-config-file <filename> //指定一个文件,集群 redis实例保存集群状态位置,文件主要保存集群中其他机器的信息,比如节点的上线和下限,故障转移; 这是redis本身去维护的
cluster-node-timeout <milliseconds> //节点存活超时时间,超过milliseconds 时间,集群认为节点宕机,master宕机的话就会触发主备切换,slave宕机就不会提供服务
redis cluster 集群搭建
分别定义 6 个 redis 实例配置文件 : 6381.conf,6382.conf,6383.conf,6384.conf,6385.conf,6386.conf
redis 集群配置
在每个节点上redis 进行以下操作,以 6381为例
mkdir -p /etc/redis-cluster //集群信息保存统一目录
mkdir -p /var/log/redis //日志信息统一保存目录
mkdir -p /var/redis/6381 // redis 的持久化文件
将 redis-3.2.8 下redis.conf 拷贝到 /etc/redis 目录中,并改名为 6381.conf,配置信息修改如下:
cd /usr/local/redis-3.2.8 && cp redis.conf /etc/redis/6381.conf
port 6381
cluster-enabled yes
cluster-config-file /etc/redis-cluster/node-6381.conf
cluster-node-timeout 15000
daemonize yes
pidfile /var/run/redis_6381.pid
dir /var/redis/6381
logfile /var/log/redis/6381.log
bind 192.168.43.16
appendonly yes
修改redis 实例启动脚本
- 在/etc/init.d下,放6个启动脚本,分别为: redis_6381, redis_6382, redis_6383, redis_6384, redis_6385, redis_6386
cd redis-3.2.8 && cp utils/redis_init_script /etc/init.d/redis_6381 && chmod 777 /etc/init.d/redis_*
- 每个启动脚本中,修改对应的端口号
vim redis_6381
其他6382,6383,6384,6385,6386 重复以上操作
节点 - redis 实例 对应关系:
192.168.43.16 6381
192.168.43.16 6382
192.168.43.17 6383
192.168.43.17 6384
192.168.43.18 6385
192.168.43.18 6386
创建集群
分别启动 6个redis 实例
cd /etc/init.d/ && ./redis_6381 start
cd /etc/init.d/ && ./redis_6382 start
cd /etc/init.d/ && ./redis_6383 start
cd /etc/init.d/ && ./redis_6384 start
cd /etc/init.d/ && ./redis_6385 start
cd /etc/init.d/ && ./redis_6386 start
通过redis-trib.rb 创建redis cluster
redis-trib.rb 需要ruby环境,所以需要安装ruby,只需要在一个node 中安装操作即可,这里在192.168.43.16 机器上安装
yum install -y ruby
yum install -y rubygems
gem install redis
cp /usr/local/redis-3.2.8/src/redis-trib.rb /usr/local/bin //创建软连接
创建集群
redis-trib.rb create --replicas 1 192.168.43.16:6381 192.168.43.16:6382 192.168.43.17:6383 192.168.43.17:6384 192.168.43.18:6385 192.168.43.18:6386
--replicas 表示每个master分配多少个slave
上图 yes 确认接收当前分配继续完成集群创建
检查集群信息
redis-trib.rb check 192.168.43.16:6381
redis cluster集群部署的更多相关文章
- centos6下redis cluster集群部署过程
一般来说,redis主从和mysql主从目的差不多,但redis主从配置很简单,主要在从节点配置文件指定主节点ip和端口,比如:slaveof 192.168.10.10 6379,然后启动主从,主从 ...
- Redis cluster 集群部署和配置
目录 一.集群简介 cluster介绍 cluster原理 cluster特点 应用场景 二.集群部署 环境介绍 节点部署 启动集群 三.集群测试 一.集群简介 cluster介绍 redis clu ...
- redis cluster 集群部署
准备工作 1. 安装docker curl -s https://get.docker.com/ | sh 注:一键安装的事最新版docker.已安装docker可跳过此步骤 2. 获取基础镜像 do ...
- K8S部署Redis Cluster集群
kubernetes部署单节点redis: https://www.cnblogs.com/zisefeizhu/p/14282299.html Redis 介绍 • Redis代表REmote DI ...
- K8S部署Redis Cluster集群(三主三从模式) - 部署笔记
一.Redis 介绍 Redis代表REmote DIctionary Server是一种开源的内存中数据存储,通常用作数据库,缓存或消息代理.它可以存储和操作高级数据类型,例如列表,地图,集合和排序 ...
- Redis Cluster集群知识学习总结
Redis集群解决方案有两个: 1) Twemproxy: 这是Twitter推出的解决方案,简单的说就是上层加个代理负责分发,属于client端集群方案,目前很多应用者都在采用的解决方案.Twem ...
- redis cluster 集群畅谈(三) 之 水平扩容、slave自动化迁移
上一篇http://www.cnblogs.com/qinyujie/p/9029522.html, 主要讲解 实验多master写入.读写分离.实验自动故障切换(高可用性),那么本篇我们就来聊了聊r ...
- CentOS7 安装Redis Cluster集群
上一篇中已经讲到了如何安装单击版Redis,这一篇我们来说下如何安装Cluster,关于哨兵模式这里我就不写文章安装了,有兴趣的同学可以自己去研究,哨兵模式可以在主从模式下在创建三台机器的哨兵集群监控 ...
- 【精】搭建redis cluster集群,JedisCluster带密码访问【解决当中各种坑】!
转: [精]搭建redis cluster集群,JedisCluster带密码访问[解决当中各种坑]! 2017年05月09日 00:13:18 冉椿林博客 阅读数:18208 版权声明:本文为博主 ...
随机推荐
- RSQLite 操作sqlite数据库
RSQLite 可以在R中方便的创建sqlite数据库,并进行检索, 这个R包依赖于DBI包 github 上的地址:https://github.com/rstats-db/RSQLite gith ...
- haproxy+keepalived实现web集群高可用性[转]
负载均衡集群的概念 负载均衡是设计分布式系统架构必须要考虑的因素之一,它指的是通过调度分发的方式尽可能将“请求”.“访问”的压力负载平均分摊到集群中的各个节点,避免有些节点负载太高导致访问延迟,而有些 ...
- 手淘H5移动端适配方案flexible源码分析
移动端适配一直是一个值得探讨的问题,在业余时间我找了一些页面,查看了一些厂商对于移动端H5页面的适配方案,看到了几个典型的例子,今天就来记录一下我看到的第一个典型的例子,也是我们公司目前普通H5项目正 ...
- 使用matlab批量处理图像后在指定文件夹存储
使用matlab批量处理图像后在指定文件夹存储 clear;clc;close all; Files=dir('D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\*.jp ...
- SSL 证书配置nginx
ssl.conf文件: server { listen 443; server_name www.domain.com; # 改为绑定证书的域名 ssl on; ssl_certificate 1_w ...
- mysql中什么是物理备份?
需求描述: 今天在看数据库备份,恢复的内容,就是对于一个概念,物理备份的理解,在这里记录下. 概念解释: 物理备份:就是对存储数据库内容的目录和文件的直接拷贝.简单来说,就是对物理文件的拷贝. 文档创 ...
- Entity FrameWork实现增、删、改、分页的数据层代码实现
public bool AddEntity(Customer entity)//添加实体 { MyHotelModelContainer hotelDB = new MyHotelMo ...
- 超全面的JavaWeb笔记day21<过滤器>
1.过滤器的原理 2.实现过滤器 写一个类实现javax.servlet.Filter接口 在web.xml中对Filter进行配置 3.Filter接口 void init(FilterConfig ...
- oc中的各种遍历(迭代)方法
转载自文顶顶老师的博客:http://www.cnblogs.com/wendingding/p/5251937.html 说明: 1)该文简短介绍在ios开发中遍历字典.数组和集合的集中常见方式 2 ...
- 当singleton Bean依赖propotype Bean,可以使用在配置Bean添加look-method来解决
在Spring里面,当一个singleton bean依赖一个prototype bean,因为singleton bean是单例的,因此prototype bean在singleton bean里面 ...