centos7 部署 redis 集群

本贴最后更新于 537 天前,其中的信息可能已经渤澥桑田

一:事前准备
    1.1 安装 Ruby,个人推荐用 ruby-install 进行安装,按照操作基本可以做到傻瓜式的安装,
    参考 url:https://github.com/postmodern/ruby-install
    1.2 节点较多的话,推荐按一个 ansible,可以通过命令一键自动化部署到各个节点
    1.3 shell> gem install Redis
    1.4 系统内核调整,具体文档也可以参照官方文档:https://redis.io/topics/admin
     /etc/sysctl.conf 里面下面几个参数调整
       1.4.1 始终分配内存一直到用完为止
       vm.overcommit_memory=1
       1.4.2 关闭内存平衡策略
       kernel.numa_balancing=0
       1.4.3 不使用内存分页
       vm.swappiness=1
二:安装
    2.1 Redis 下载稳定版
     wget http://download.redis.io/releases/redis-4.0.11.tar.gz
    2.2 解压缩
     tar xzf redis-4.0.11.tar.gz
    2.3 安装
     cd redis-4.0.11 && make
三:配置
    redis.conf 只罗列较为重要的参数配置,详细的请参考官网
    3.1 端口,单节点唯一
    port 10000
    3.2 集群模式
    cluster-enabled yes
    3.3 节点配置文件
    cluster-config-file nodes.conf
    3.4 节点超时时间
    cluster-node-timeout 5000
    3.5 关闭 aof 模式
    appendonly no
    3.6 关闭 rdb 模式
    save ""
    3.7 设置该节点的最大内存
    maxmemory 当前节点内存的 3/4,如果当前节点有多个实例,总内存数除以实例个数之后再乘以 3/4
    3.8 该节点的内存淘汰机制
    maxmemory-policy volatile-ttl
    3.9 集群是否需要全覆盖,默认 yes,只要有一个主节点挂掉,就整个集群不提供服务
    cluster-require-full-coverage no
    ※因为关闭了 aof 跟 rdb,所以该集群没有做持久化处理,性能会比做持久化的要好不少,是不是要做持久化跟怎么做持久化请依据自己业务的实际情况
四:启动集群
    4.1 各个节点启动
     各个节点上进入 redis-4.0.11 目录,然后执行 src/redis-server redis.conf
    4.2 集群启动
     在某个节点上进入 redis-4.0.11 目录,然后执行:src/redis-trib.rb create --replicas 1 node1host:node1port ... nodenhost:nodenport
     cluster 模式至少要有 3 个主节点,如果 replicas 为 1 的情况下,至少要有 6 个节点(3 主 3 从),为 0 的情况下,没有从节点,建议副本数 >=1
五:测试
    5.1 查看节点信息以及分槽情况
    在某个节点进入 redis-4.0.11 目录,然后执行:src/redis-cli -h nodehost -p nodeport cluster nodes
    5.2 用 Redis 自带的性能测试工具查看集群性能
    https://redis.io/topics/benchmarks
六:参考资料
    官方文档:https://redis.io/topics/cluster-tutorial

  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    197 引用 • 237 回帖 • 704 关注
  • 集群
    27 引用 • 65 回帖

赞助商 我要投放

回帖
请输入回帖内容 ...