文档章节

Redis集群搭建

易冥天
 易冥天
发布于 2017/08/18 11:19
字数 604
阅读 17
收藏 0
  • 在3.0之前,提供了Sentinel工具来监控各Master的状态,如果Master异常,则会做主从切换,将slave切换为master,将master作为slave。
  • Redis3.0已经支持集群的容错功能。
  • 集群搭建:至少要三个master。
    • 创建一个文件夹redis-cluster,然后在其下面分别创建6个文件夹。
      • mkdir -p /usr/local/redis-cluster
      • mkdir 7001 7002 7003 7004 7005 7006
    • 把redis.conf配置文件分别copy到700中,进行修改各个文件内容,也就是对700下的每一个copy的redis.conf文件进行修改。
      • daemonize yes
      • port 700* (分别对每个机器的端口号进行设置)
      • bind 192.168.1.171(必须要绑定当前机器的ip)
      • dir /usr/local/redis-cluster/700*/ (指定数据文件存储位置,必须要指定不同的目录位置,不然会丢失数据)
      • cluster-enabled yes(启动集群模式)
      • cluster-config-file nodes700*.conf(这里700*最好跟port对应上)
      • cluster-node-timeout 5000
      • appendonly yes
    • 把修改后的配置文件,分别copy到各个文件夹下,注意每个文件要修改端口号,并且nodes文件也要补相同。
    • 由于redis集群需要使用ruby命令,所以我们要安装ruby。
      • yum install ruby
      • yum install rubygems
      • gem install redis(安装redis和ruby的接口)
    • 分别启动6个redis实例,然后检查是否启动成功
      • /usr/local/redis/bin/redis-server /usr/local/redis-cluster/700*/redis.conf
      • ps -el | grep redis 查看是否启动成功
    • 首先到redis的安装目录下,然后执行redis-trib.rb命令
      • cd /usr/local/redis/src
      • ./redis-trib.rb create --replicas 1 192.168.1.171:7001 192.168.1.171:7002 192.168.1.171:7003 192.168.1.171:7004 192.168.1.171:7005 192.168.1.171:7006
        • —replicas 1 表示主节点和从节点的比例,表示1个主节点下有一个从节点
    • 进行验证
      • 连接任意一个客户端即可:./redis-cli -c -h -p (-c表示集群模式,指定ip地址和端口)如./redis-cli -c -h 192.168.1.171 -p 700*
      • 进行验证:cluster info(查看集群信息)、cluster nodes(查看节点列表)
      • 进行数据操作验证
      • 关闭集群则需要逐个进行关闭,使用命令:/usr/local/redis/bin/redis-cli -c -h 192.168.1.171 -p 700* shutdown
    • 补充
      • 当出现集群无法启动时,删除临时的数据文件,再次重新启动每一个redis服务,然后重新构造集群环境。
  • Redis3.0操作集群
    • redis集群操作主要命令
      • create:构建集群
      • fix:单点修复
      • check:集群验证
      • add-node:添加节点
      • del-node:删除节点
      • reshard:重新分片

© 著作权归作者所有

共有 人打赏支持
易冥天
粉丝 30
博文 140
码字总数 70939
作品 0
海淀
程序员
私信 提问
加载中

评论(1)

leehark
leehark
请问 有没有在生产环境下使用过redis3.0 cluster? 并发量有多少?遇到什么坑?

暂无文章

Spring Cloud Consul综合整理

部分资料来自 该项目通过自动配置和Spring环境以及其他Spring编程模型习惯用法提供了Spring Boot应用程序的Consul集成。 通过一些简单的注释,您可以快速启用和配置应用程序内的通用模式,并...

Gm_ning
11分钟前
1
0
Springboot 2.0 - 集成redis

最近在入门SpringBoot,然后在感慨 SpringBoot较于Spring真的方便多时,顺便记录下自己在集成redis时的一些想法。 从springboot官网查看redis的依赖包 <dependency>           ...

别打我会飞
12分钟前
0
0
支付宝APP支付申请配置过程详解

第一步:你需要申请一个支付宝商家账户账号,登陆之后进入产品中心,进行APP支付产品接入,填写相关资料,等待审核。 第二步:进行APP支付申请信息完善 第三步:进入蚂蚁金服开放平台进行开发...

Code辉
16分钟前
1
0
避免过度同步(67)

过度使用同步会导致性能低下、死锁或其他不确定问题 在一个同步方法或代码块中,不要放弃对客户端的控制 即:在一个同步区域内部,不要调用被覆盖方法,或者是传入对象提供的方法 这些外来方...

Java搬砖工程师
17分钟前
0
0
Java获取文件类型/扩展名

import java.io.IOException;import java.io.InputStream;import java.net.URL;import java.util.HashMap;import java.util.Map;public class FileTypeUtils { private fi......

Hzhodor
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部