Redis高可用部署
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高可用部署相关推荐
- 【Redis】分布式场景下Redis高可用部署方案
文章内容 1.Redis高可用概述 2.持久化 1)RDB持久化 2)AOF持久化 3.Redis主从复制 4.Redis哨兵模式 3.Redis集群模式 1.Redis高可用概述 参考博文: 深入学 ...
- redis高可用:keepalived+redis主从部署
1 Redis高可用的可选方案 Redis的高可用方案目前主要5种方式. 1) Redis Master-Slave + Keepalived + VIP. 这是很经典的db架构,也可以用与mysq ...
- 部署Redis高可用集群
目录 部署Redis高可用集群 Redis集群环境 拓扑结构 IP地址 环境准备 工作原理 创建Redis集群 部署管理主机 redis-trib.rb脚本 redis服务器开启集群功能 管理主机创建 ...
- Redis practise(二)使用Docker部署Redis高可用,分布式集群
思路 鉴于之间学习过的Docker一些基础知识,这次准备部署一个简单的分布式,高可用的redis集群,如下的拓扑 tuopu.png 下面介绍下,对于这张拓扑图而言,需要了解的一些基础概念. Redi ...
- 2.redis高可用-持久化-主从复制-哨兵-cluster集群概述与部署,内容依旧多看完直接通透!
文章目录 一,Redis 高可用 1.持久化 2.主从复制 3.哨兵 4.集群(cluster) 二,Redis 持久化方式 1.持久化的功能 2.持久化的方式 三, RDB 持久化 1.触发条件 2 ...
- Pod在多可用区worker节点上的高可用部署
一. 需求分析 当前kubernetes集群中的worker节点可以支持添加多可用区中的ECS,这种部署方式的目的是可以让一个应用的多个pod(至少两个)能够分布在不同的可用区,起码不能分布 ...
- Redis高可用之集群配置(六)
0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...
- 这可能是史上最全 Redis 高可用解决方案总结
转载自 这可能是史上最全 Redis 高可用解决方案总结 本文主要针对 Redis 常见的几种使用方式及其优缺点展开分析. 一.常见使用方式 Redis 的几种常见使用方式包括: Redis 单副本 ...
- Pod在多可用区worker节点上的高可用部署 1
一. 需求分析 当前kubernetes集群中的worker节点可以支持添加多可用区中的ECS,这种部署方式的目的是可以让一个应用的多个pod(至少两个)能够分布在不同的可用区,起码不能分布 ...
最新文章
- Mysql insert语句的优化
- JIRA中vm后缀文件语法说明
- MPLS服务合同到期了,是否该续签?
- Thinkphp 使用过程中,模型中使用其它表却总是没起作用的解决办法
- java freemarker 分页_10小时入门java开发04 springboot+freemarker+bootstrap快速实现分页功能...
- 数据科学家 数据工程师_数据科学家实际上赚了多少钱?
- 《信息检索导论》第七章总结
- 为memcached增加缓存依赖的程序实现
- win32开发(添加菜单)
- Oracle数据库通过创建触发器实现自增功能
- 【机器学习】朴素贝叶斯对文本分类--对人名国别分类
- 全网最详细关于3D打印的zbrush技术
- python ffmpeg mp3文件转为wav文件
- 黑马点评项目-UV 统计
- 非科班学弟如何转行斩获 ATM 大厂的 Offer ?
- 华为云服务器协议,云服务器协议
- Python第六周作业
- linux 繁体中文转为简体,Linux下对文件进行编码转换(简体→繁体,繁体→简体,简体繁体→UTF-8)...
- 用Python实现跳一跳自动跳跃
- MMX、SSE、AVX等SIMD指令集说明