三、redis集群搭建
系列导航
环境:centos7
需要的安装包: redis-4.0.10.tar.gz
说明:如下演示环境都在一台服务器上,生产环境需要放在多台服务器上使用
安装步骤
1、安装包解压
拷贝redis-4.0.10.tar.gz 到/opt目录下
cd /opt
tar -xzvf redis-4.0.10.tar.gz
2、编译
[root]# cd /opt/redis-4.0.10
[root]# make
3、修改配置文件
cd /opt/redis-4.0.10
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
mkdir 7006
创建配置文件(其他redis_7002.conf,redis_7003.conf, redis_7004.conf, redis_7005.conf,redis_7006.conf配置文件照样例创建)
vi redis_7001.conf
#添加如下内容:
port 7001
bind 127.0.0.1
#关闭保护模式
protected-mode no
port 7001
tcp-backlog 511
timeout 0
tcp-keepalive 300
#开启守护进程模式
daemonize yes
supervised no
#修改pidfile指向路径
pidfile /opt/redis-4.0.10/7001/redis.pid
loglevel verbose
logfile "/opt/redis-4.0.10/7001/redis_log.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
slave-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly yes
appendfilename "appendonly.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 nodes-7001.conf
cluster-node-timeout 5000
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
4、启动redis
[root@minio4 redis-4.0.10]# /opt/redis-4.0.10/src/redis-server /opt/redis-4.0.10/redis_7001.conf
[root@minio4 redis-4.0.10]# /opt/redis-4.0.10/src/redis-server /opt/redis-4.0.10/redis_7002.conf
[root@minio4 redis-4.0.10]# /opt/redis-4.0.10/src/redis-server /opt/redis-4.0.10/redis_7003.conf
[root@minio4 redis-4.0.10]# /opt/redis-4.0.10/src/redis-server /opt/redis-4.0.10/redis_7004.conf
[root@minio4 redis-4.0.10]# /opt/redis-4.0.10/src/redis-server /opt/redis-4.0.10/redis_7005.conf
[root@minio4 redis-4.0.10]# /opt/redis-4.0.10/src/redis-server /opt/redis-4.0.10/redis_7006.conf
5、ruby安装(这个很讨厌)
[root@minio4 ~]# rpm -qa | grep ruby
[root@minio4 ~]# yum install ruby
ruby安装后是2.0版本需要升级到3.0版(需要和redis的版本匹配,本利redis4.0版)
如何升级参考如下道友写的博客亲测有用
https://www.cnblogs.com/name-lizonglin/p/12069114.html
6、创建集群
[root@minio4 src]# cd /opt/redis-4.0.10/src
[root@minio4 src]# ./redis-trib.rb create --replicas 1 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 127.0.0.1:7006
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:7001
127.0.0.1:7002
127.0.0.1:7003
Adding replica 127.0.0.1:7005 to 127.0.0.1:7001
Adding replica 127.0.0.1:7006 to 127.0.0.1:7002
Adding replica 127.0.0.1:7004 to 127.0.0.1:7003
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: ef2efc3117d9da0a399cba785ecc0b3e000fdfe6 127.0.0.1:7001
slots:0-5460 (5461 slots) master
M: 276d90d980c5db413f65abe761c68c12429906a3 127.0.0.1:7002
slots:5461-10922 (5462 slots) master
M: 7bdbb165ac29d6bd803be1d69a122800a2803bd9 127.0.0.1:7003
slots:10923-16383 (5461 slots) master
S: 0cac24e2a8891b24a33974e239873c4ee7a7167f 127.0.0.1:7004
replicates 7bdbb165ac29d6bd803be1d69a122800a2803bd9
S: 4612663207fc597112cc5f9211c9b75b393fa717 127.0.0.1:7005
replicates ef2efc3117d9da0a399cba785ecc0b3e000fdfe6
S: d1098bdc5d592f2269603765c4b75f30d899c9b4 127.0.0.1:7006
replicates 276d90d980c5db413f65abe761c68c12429906a3
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join....
>>> Performing Cluster Check (using node 127.0.0.1:7001)
M: ef2efc3117d9da0a399cba785ecc0b3e000fdfe6 127.0.0.1:7001
slots:0-5460 (5461 slots) master
1 additional replica(s)
M: 7bdbb165ac29d6bd803be1d69a122800a2803bd9 127.0.0.1:7003
slots:10923-16383 (5461 slots) master
1 additional replica(s)
M: 276d90d980c5db413f65abe761c68c12429906a3 127.0.0.1:7002
slots:5461-10922 (5462 slots) master
1 additional replica(s)
S: d1098bdc5d592f2269603765c4b75f30d899c9b4 127.0.0.1:7006
slots: (0 slots) slave
replicates 276d90d980c5db413f65abe761c68c12429906a3
S: 0cac24e2a8891b24a33974e239873c4ee7a7167f 127.0.0.1:7004
slots: (0 slots) slave
replicates 7bdbb165ac29d6bd803be1d69a122800a2803bd9
S: 4612663207fc597112cc5f9211c9b75b393fa717 127.0.0.1:7005
slots: (0 slots) slave
replicates ef2efc3117d9da0a399cba785ecc0b3e000fdfe6
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
7、测试集群
[root@minio4 7001]# cd /opt/redis-4.0.10/src
[root@minio4 src]# ./redis-cli -c -h localhost -p 7001
localhost:7001> set foo bar
-> Redirected to slot [12182] located at 127.0.0.1:7003
OK
127.0.0.1:7003> set hello world
-> Redirected to slot [866] located at 127.0.0.1:7001
OK
127.0.0.1:7001>
cluster info :打印集群的信息
cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关信息
如下:
127.0.0.1:7003> cluster nodes
7bdbb165ac29d6bd803be1d69a122800a2803bd9 127.0.0.1:7003@17003 myself,master - 0 1620472701000 3 connected 10923-16383
4612663207fc597112cc5f9211c9b75b393fa717 127.0.0.1:7005@17005 slave ef2efc3117d9da0a399cba785ecc0b3e000fdfe6 0 1620472701000 5 connected
ef2efc3117d9da0a399cba785ecc0b3e000fdfe6 127.0.0.1:7001@17001 master - 0 1620472701000 1 connected 0-5460
0cac24e2a8891b24a33974e239873c4ee7a7167f 127.0.0.1:7004@17004 slave 7bdbb165ac29d6bd803be1d69a122800a2803bd9 0 1620472702285 4 connected
d1098bdc5d592f2269603765c4b75f30d899c9b4 127.0.0.1:7006@17006 slave 276d90d980c5db413f65abe761c68c12429906a3 0 1620472702584 6 connected
276d90d980c5db413f65abe761c68c12429906a3 127.0.0.1:7002@17002 master - 0 1620472701284 2 connected 5461-10922
127.0.0.1:7003> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:3
cluster_stats_messages_ping_sent:634
cluster_stats_messages_pong_sent:662
cluster_stats_messages_meet_sent:4
cluster_stats_messages_sent:1300
cluster_stats_messages_ping_received:660
cluster_stats_messages_pong_received:638
cluster_stats_messages_meet_received:2
cluster_stats_messages_received:1300
到此集群搭建成功
如果后期集群不好用之后彻底恢复
cd /opt/redis-4.0.10
rm -f appendonly.aof dump.rdb nodes-7001.conf nodes-7002.conf nodes-7003.conf nodes-7004.conf nodes-7005.conf nodes-7006.conf
然后重建集群
[root@minio4 src]# cd /opt/redis-4.0.10/src
[root@minio4 src]# ./redis-trib.rb create --replicas 1 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 127.0.0.1:7006

三、redis集群搭建的更多相关文章
- Redis集群搭建的三种方式
一.Redis主从 1.1 Redis主从原理 和MySQL需要主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生性能瓶颈,特别是在读压力上,为了分担压力,Redis支持主从复制. ...
- Redis集群搭建 三主三从
Redis集群介绍 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存.Redis在3.0版本之前只支持单实例模式 虽然支持主从模式,哨兵模式 ...
- Redis 集群搭建详细指南
先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司! 为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛 ...
- 二、redis集群搭建
redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...
- redis集群搭建及注意事项
上一篇:redis的安装及注意事项 这里,在一个Linux虚拟机上搭建6个节点的redis伪集群,思路很简单,一台虚拟机上开启6个redis实例,每个redis实例有自己的端口.这样的话,相当于模拟出 ...
- Linux Redis集群搭建与集群客户端实现(Python)
硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...
- [转载] Redis集群搭建最佳实践
转载自http://blog.csdn.net/sweetvvck/article/details/38315149?utm_source=tuicool 要搭建Redis集群,首先得考虑下面的几个问 ...
- Linux Redis集群搭建与集群客户端实现
硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...
- redis集群搭建及设置账户(转)
Redis集群搭建以及为集群设置密码 介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. ...
- redis 集群搭建: redis-cluster
前言 redis数据存储在内存中, 就会受到内存的限制, 大家都知道, 一台电脑, 硬盘可以有1T, 但是内存, 没有听说有1T的内存吧. 那如果数据非常多, 超过一台电脑的内存空间, 怎么办呢? 正 ...
随机推荐
- 深度解读DBSCAN聚类算法:技术与实战全解析
探索DBSCAN算法的内涵与应用,本文详述其理论基础.关键参数.实战案例及最佳实践,揭示如何有效利用DBSCAN处理复杂数据集,突破传统聚类限制. 关注TechLead,分享AI全维度知识.作者拥有1 ...
- NTP时间服务器优先级介绍
先思考一个问题:当一个客户端配置向多个NTP时间服务器校时,此时客户端优先向哪个时间服务器同步时间呢? 一个完整的NTP校时请求分四步: 1.客户端向服务器发起校时请求 2.服务器收到客户端发送的校时 ...
- 数字孪生和VR结合能够为自身带来怎样的改变?
随着科技的不断发展,数字孪生和虚拟现实(VR)这两个前沿技术正在逐渐融合,为各行各业带来了前所未有的改变. 数字孪生技术本身已经可以高度还原现实世界,而VR技术则能通过头戴式设备,让用户沉浸在这个虚拟 ...
- ElasticSearch之配置
ElasticSearch主要的配置文件,如下: elasticsearch.yml,ElasticSearch的相关参数. jvm.options,JVM的相关参数. log4j2.properti ...
- 从零玩转文件上传之七牛云-qiniufileupload
title: 从零玩转文件上传之七牛云 date: 2022-03-27 02:21:00.478 updated: 2022-04-10 14:13:35.426 url: https://www. ...
- 复现YOLO5所遇到的问题
一. 解决方案: 由于没有影响模型继续运行,理解为简单的warning.根据查询问题,推断是由于 pytorch和torchvision的版本原因导致的. 二. 解决方案: 由于没有影响模型继续运行, ...
- Picker 选择器
WXML 文件中 <view class="container"> <view> <text>选择器的值: {{pickerValue}}< ...
- vscode 启动go
{ "version": "0.2.0", "configurations": [ { "name": "La ...
- 使用 C# 在Word中插入图表
Word中的图表功能将数据可视化地呈现在文档中.这为展示数据和进行数据分析提供了一种方便且易于使用的工具,使作者能够以直观的方式传达信息.要通过C#代码来实现在Word中绘制图表,可以借助 Spire ...
- MySQL进阶篇:详解存储引擎介绍和基本使用
1. MySQL进阶篇:第一章__一.一_存储引擎介绍和基本使用 1.1 MySQL体系结构 1). 连接层 最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类 ...