redis分片集群安装与部署

分片集群的优势

  1. 高可用。且方便扩展。
  2. 数据分片,多节点提供服务,提高性能,数据提供冗余备份。

分片集群部署

只需更改配置文件

部署架构:6个节点,3主3从。数据集分为3片,分别再A,B,C节点上。A1和B1和C1分别为A,B,C的分片。

散列槽:

​ Redis Cluster 不使用一致散列,而是一种不同形式的分片,其中每个键在概念上都是我们所谓的散列槽的一部分

​ Redis 集群中有 16384 个哈希槽,要计算给定键的哈希槽是多少,我们只需取密钥的 CRC16 模数 16384。

​ Redis 集群中的每个节点都负责哈希槽的一个子集。

部署规划

3台服务器,6个实例,每台服务器部署2个实例。

IP地址 角色 端口 配置文件 数据目录
192.168.0.77 分片A 7000 /data/redis-cluster/redis-7000/bin/redis-7000.conf /data/redis-cluster/redis-7000
192.168.0.89 分片B 7000 /data/redis-cluster/redis-7000/bin/redis-7000.conf /data/redis-cluster/redis-7000
192.168.0.218 分片C 7000 /data/redis-cluster/redis-7000/bin/redis-7000.conf /data/redis-cluster/redis-7000
192.168.0.77 副本分片B' 7001 /data/redis-cluster/redis-7001/bin/redis-7001.conf /data/redis-cluster/redis-7001
192.168.0.89 副本分片C' 7001 /data/redis-cluster/redis-7001/bin/redis-7001.conf /data/redis-cluster/redis-7001
192.168.0.218 副本分片A' 7001 /data/redis-cluster/redis-7001/bin/redis-7001.conf /data/redis-cluster/redis-7001

ps:由于我测试环境部署是单节点部署6个实例来做测试。3台服务器部署的架构可以参考以下操作步骤。一样的部署和配置,需要更换ip地址。

安装步骤

  1. 下载redis源码包

    官网地址:http://download.redis.io/releases/

    我选择最新版本redis-6.2.6,下载的源码tmp目录。

  2. 编译安装

    #解压后编译安装
    cd /tmp
    tar -zxvf redis-6.2.6.tar.gz
    cd
    make && make install PREFIX=/opt/redis-6.2.6 #编译安装完成后,源码文件目录就可以删除了
  3. 复制对应的文件,分别复制6份,用不同的目录来区分不同的实例。

  4. 分别修改各自的配置文件。

    #基本参数解析
    cluster-node-timeout 10000 #主节点在该时间内无法访问,它将由其从属节点进行故障转移。
    cluster-require-full-coverage no #设置为no,及时部分主节点不可用,可以的节点分片也能提供查询服务。
    cluster-slave-validity-factor 6 #有效因子,在5000X10时间内,不进行故障转移。设置了非0值,如果从节点都不可故障转移,则整个集群就不可用,直到主节点重新加入。
    --------- #以下是配置文件内容
    dir /data/redis-cluster/redis-6.2.6-7001 #工作目录,每个实例需变更
    bind 192.168.0.218 #变更为自己的ip
    port 7001 #变更为自己的端口
    daemonize yes
    pidfile /data/redis-cluster/redis-6.2.6-7001/redis.pid #根据每个实例路径变更
    logfile /var/log/redis-cluster/redis-7001.log #根据每个实例路径变更
    cluster-enabled yes
    cluster-config-file /data/redis-cluster/redis-6.2.6-7001/nodes-7001.conf #根据每个实例路径变更
    cluster-node-timeout 10000
    cluster-require-full-coverage no
    cluster-slave-validity-factor 6
    appendonly yes
    requirepass penngke
    masterauth penngke
  5. 实例比较多,创建一个一个集群启动脚本,方便启动

    vim start-redis-cluster.sh

    #!/bin/bash
    cd /data/redis-cluster/redis-7000
    ./bin/redis-server ./bin/redis-7000.conf cd /data/redis-cluster/redis-7001
    ./bin/redis-server ./bin/redis-7001.conf cd /data/redis-cluster/redis-7002
    ./bin/redis-server ./bin/redis-7002.conf cd /data/redis-cluster/redis-7003
    ./bin/redis-server ./bin/redis-7003.conf cd /data/redis-cluster/redis-7004
    ./bin/redis-server ./bin/redis-7004.conf cd /data/redis-cluster/redis-7005
    ./bin/redis-server ./bin/redis-7005.conf
  6. 用redis-cli客户端创建集群

    ./redis-cli --cluster create 10.255.65.99:7000 10.255.65.99:7001 10.255.65.99:7002 10.255.65.99:7003 10.255.65.99:7004 10.255.65.99:7005 --cluster-replicas 1 --pass '密码'
    #输出结果可以看到已经创建为3主3从
  7. 可以使用./redis-cli 客户端,登陆6个节点任意节点。查看状态。

    ./redis-cli -c -p 7000
    cluster info
    cluster nodes
    set test 666
    get test

redis分片集群安装部署的更多相关文章

  1. Mongodb副本集+分片集群环境部署记录

    前面详细介绍了mongodb的副本集和分片的原理,这里就不赘述了.下面记录Mongodb副本集+分片集群环境部署过程: MongoDB Sharding Cluster,需要三种角色: Shard S ...

  2. Redis Sentinel 集群安装 step by step

    一. 准备材料 服务器 IP address 操作系统 位数 Redis 版本   CNT06CAH05 192.168.3.47 CentOS 6.5 x64 Redis-3.2.6 sentine ...

  3. Mongodb副本集+分片集群环境部署

    前面详细介绍了mongodb的副本集和分片的原理,这里就不赘述了.下面记录Mongodb副本集+分片集群环境部署过程: MongoDB Sharding Cluster,需要三种角色: Shard S ...

  4. HBase集群安装部署

    0x01 软件环境 OS: CentOS6.5 x64 java: jdk1.8.0_111 hadoop: hadoop-2.5.2 hbase: hbase-0.98.24 0x02 集群概况 I ...

  5. flink部署操作-flink standalone集群安装部署

    flink集群安装部署 standalone集群模式 必须依赖 必须的软件 JAVA_HOME配置 flink安装 配置flink 启动flink 添加Jobmanager/taskmanager 实 ...

  6. HBase 1.2.6 完全分布式集群安装部署详细过程

    Apache HBase 是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,是NoSQL数据库,基于Google Bigtable思想的开源实现,可在廉价的PC Server上搭建大规模结构化存 ...

  7. 1.Hadoop集群安装部署

    Hadoop集群安装部署 1.介绍 (1)架构模型 (2)使用工具 VMWARE cenos7 Xshell Xftp jdk-8u91-linux-x64.rpm hadoop-2.7.3.tar. ...

  8. Redis真集群安装

    Redis真集群安装 命令文档:http://redisdoc.com/index.html 下载:https://code.google.com/archive/p/redis/downloads ...

  9. redis cluster 集群 安装 配置 详解

    redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...

随机推荐

  1. Java - 记录01_开发环境搭建

    时间:2017-07-04 记录:byzqy 一.什么是JDK JDK(Java Development Kit):Java开发工具集,即Java语言的软件开发工具包. SDK(Software De ...

  2. constexpr-C++11

    constexpr和常量表达式 常量表达式(const expression)是指值不会改变并且在编译过程就能得到计算结果的表达式.显然,字面值属于常量表达式,用常量表达式初始化的const对象也是常 ...

  3. 最详尽的 JS 原型与原型链终极详解(1)(2)(3)===转载

    转载===方便以后复习 原文网址:https://www.jianshu.com/p/dee9f8b14771 一. 普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的.分为 ...

  4. 硕盟SM-T54(TYPE C转HDMI+VGA+USB3.0+PD3.0)

    硕盟SM-T54是一款TYPE C转HDMI+VGA+USB3.0+PD3.0四口扩展坞,您可以将含有USB 3.1协议的电脑主机,通过此产品连接到具有HDMI或VGA的显示器.电视机或其他显示设备. ...

  5. 6步快速配置Tomcat环境变量(Win10)

    一.配置 tomcat环境变量之前先安装jdk和配置jdk的环境变量 1.首先右击我的电脑(此电脑),点击属性,或者也可以从控制面板上打开,如下图,找到系统点击高级系统设置: 2.然后进入系统属性界面 ...

  6. AWK的内置变量

    ARGC: number (2) 在命令行提供的参数的个数,不包括命令awkARGIND: number (0) 当前文件中正在处理的 ARGV 数组的索引值. 文件的位置,从1开始计数.一个文件处在 ...

  7. CodeForce-812C Sagheer and Nubian Market(二分)

    Sagheer and Nubian Market CodeForces - 812C 题意:n个货物,每个货物基础价格是ai. 当你一共购买k个货物时,每个货物的价格为a[i]+k*i. 每个货物只 ...

  8. 测试开发【提测平台】分享10-Element UI抽屉和表单校验&增改接口合并实现应用管理

    微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 开篇说个小讨论,一个群里聊天聊到关于更新篇章的长度,是小篇幅多次,还是每次按照一个小完整的功能,我个人的是按照后种来的,主要的思考就是希望 ...

  9. 关于buildroot移植的思考

    buildroot是一个成熟的SDK框架,基于它有了openwrt. 曾经有一个项目,需要将原有的OpenWrt SDK改造,并且将软件框架重新定义.尝试精简原来的OpenWrt,并且删除所有的软件包 ...

  10. Dapr实战(三)状态管理

    状态管理解决了什么 分布式应用程序中的状态可能很有挑战性. 例如: 应用程序可能需要不同类型的数据存储. 访问和更新数据可能需要不同的一致性级别. 多个用户可以同时更新数据,这需要解决冲突. 服务必须 ...