Get:redis cluster 部署,主备切换,在线扩容,动态增删节点


1.centos7 安装redis cluster

#下载redis压缩包
wget http://download.redis.io/releases/redis-4.0.10.tar.gz

#解压
tar -zxvf redis-4.0.10.tar.gz

#移动redis文件夹到usr/local目录
mv redis-4.0.10 /usr/local/

#编译
make

#编译测试
make test

make出现异常:/bin/sh: cc: command not found

安装:yum -y install gcc

继续make 出现error: jemalloc/jemalloc.h: No such file or directory

解决:make MALLOC=libc

make test 问题:You need tcl 8.5 or newer in order to run the Redis test

解决:yum install tcl

2. 集群部署

#创建集群目录

mkdir cluster-redis

#创建节点文件夹 7006为后续节点扩容备用

mkdir 7000 7001 7002 7003 7004 7005 7006

#每个节点创建redis.conf 如下:

touch redis-7000.conf

port 7000
bind 127.0.0.1
daemonize yes
protected-mode yes
#表示临时存放已完成三次握手的请求的队列的最大长度
tcp-backlog 511
timeout 0
tcp-keepalive 300
supervised no
loglevel notice
logfile ../cluster-redis/7000/redis-7000.log
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump-7000.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly-7000.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
cluster-enabled yes
cluster-config-file ../cluster-redis/7000/nodes-7000.conf
cluster-node-timeout 15000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

注:如果redis单独做缓存,不用配置rdb和aof备份

#启动节点 6个全部启动

#查询redis节点

#安装Ruby (redis集群需要用到ruby命令)
yum -y install ruby rubygems

#安装rvm
curl -L get.rvm.io | bash -s stable

如报错执行: gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

#继续按照rvm
curl -L get.rvm.io | bash -s stable
source /usr/local/rvm/scripts/rvm

#查看rvm库中已知的ruby版本
rvm list known
#安装ruby
rvm install 2.5.1
#使用新版本
rvm use 2.5.1
#移除旧版本
rvm remove 2.0.0
#查看当前版本
ruby --version

#安装相关依赖
gem install redis

3. 启动集群

[root@localhost src]#  ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

如图:代表启动成功

4. 相关命令操作

4.1 查看集群信息

4.2 集群节点查看

4.3 集群重启:

和单机版启动一样,启动后会自动转换cluster模式

可以写个脚本:不用每次一个个节点启动,可以一次性起所有节点命令

Redis高可用部署相关推荐

  1. 【Redis】分布式场景下Redis高可用部署方案

    文章内容 1.Redis高可用概述 2.持久化 1)RDB持久化 2)AOF持久化 3.Redis主从复制 4.Redis哨兵模式 3.Redis集群模式 1.Redis高可用概述 参考博文: 深入学 ...

  2. redis高可用:keepalived+redis主从部署

    1 Redis高可用的可选方案 Redis的高可用方案目前主要5种方式. 1)  Redis Master-Slave + Keepalived + VIP. 这是很经典的db架构,也可以用与mysq ...

  3. 部署Redis高可用集群

    目录 部署Redis高可用集群 Redis集群环境 拓扑结构 IP地址 环境准备 工作原理 创建Redis集群 部署管理主机 redis-trib.rb脚本 redis服务器开启集群功能 管理主机创建 ...

  4. Redis practise(二)使用Docker部署Redis高可用,分布式集群

    思路 鉴于之间学习过的Docker一些基础知识,这次准备部署一个简单的分布式,高可用的redis集群,如下的拓扑 tuopu.png 下面介绍下,对于这张拓扑图而言,需要了解的一些基础概念. Redi ...

  5. 2.redis高可用-持久化-主从复制-哨兵-cluster集群概述与部署,内容依旧多看完直接通透!

    文章目录 一,Redis 高可用 1.持久化 2.主从复制 3.哨兵 4.集群(cluster) 二,Redis 持久化方式 1.持久化的功能 2.持久化的方式 三, RDB 持久化 1.触发条件 2 ...

  6. Pod在多可用区worker节点上的高可用部署

    一.      需求分析 当前kubernetes集群中的worker节点可以支持添加多可用区中的ECS,这种部署方式的目的是可以让一个应用的多个pod(至少两个)能够分布在不同的可用区,起码不能分布 ...

  7. Redis高可用之集群配置(六)

    0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...

  8. 这可能是史上最全 Redis 高可用解决方案总结

    转载自  这可能是史上最全 Redis 高可用解决方案总结 本文主要针对 Redis 常见的几种使用方式及其优缺点展开分析. 一.常见使用方式 Redis 的几种常见使用方式包括: Redis 单副本 ...

  9. Pod在多可用区worker节点上的高可用部署 1

    一.      需求分析 当前kubernetes集群中的worker节点可以支持添加多可用区中的ECS,这种部署方式的目的是可以让一个应用的多个pod(至少两个)能够分布在不同的可用区,起码不能分布 ...

最新文章

  1. Mysql insert语句的优化
  2. JIRA中vm后缀文件语法说明
  3. MPLS服务合同到期了,是否该续签?
  4. Thinkphp 使用过程中,模型中使用其它表却总是没起作用的解决办法
  5. java freemarker 分页_10小时入门java开发04 springboot+freemarker+bootstrap快速实现分页功能...
  6. 数据科学家 数据工程师_数据科学家实际上赚了多少钱?
  7. 《信息检索导论》第七章总结
  8. 为memcached增加缓存依赖的程序实现
  9. win32开发(添加菜单)
  10. Oracle数据库通过创建触发器实现自增功能
  11. 【机器学习】朴素贝叶斯对文本分类--对人名国别分类
  12. 全网最详细关于3D打印的zbrush技术
  13. python ffmpeg mp3文件转为wav文件
  14. 黑马点评项目-UV 统计
  15. 非科班学弟如何转行斩获 ATM 大厂的 Offer ?
  16. 华为云服务器协议,云服务器协议
  17. Python第六周作业
  18. linux 繁体中文转为简体,Linux下对文件进行编码转换(简体→繁体,繁体→简体,简体繁体→UTF-8)...
  19. 用Python实现跳一跳自动跳跃
  20. MMX、SSE、AVX等SIMD指令集说明

热门文章

  1. 安装Adobe Acrobat XI Pro
  2. hackrf遥控钥匙信号读取分析
  3. 评四女作家的《×龙戏凤》
  4. bat 命令返回结果_Windows 用户需要知道的 CMD 常用命令总结
  5. Mysql数据库刷题1
  6. Vue_02 快速入门 基础语法1
  7. 大疆览沃浩界(Livox Horizon)激光雷达测评
  8. 2021年顺义区支持企业智能转型升级项目申报条件及要求,补贴1000万
  9. 晶振简介(OCXO恒温、 MCXO数补、VCXO压控、VCTCXO、VCOCXO)
  10. 【转 | 侵删】2D 绘图技术中的坐标系统与坐标变换