Redis 分布式集群搭建2022版本+密码(linux环境)

Linux环境 安装 Redis-6.2.6 配置运行_01
https://gblfy.blog.csdn.net/article/details/105583077

文章目录

          • 一、节点分布总览
          • 二、软件配置初始化
            • 2.1. 下载
            • 2.2. 解压
            • 2.3. 编译安装
            • 2.4. 配置抽离
            • 2.5. 配置编辑
            • 2.6. 101节点操作
            • 2.7. 102 节点操作
            • 2.8. 103节点操作
          • 三、软件配置集群化
            • 3.1. 101节点启动redis
            • 3.2. 102节点启动redis
            • 3.3. 103节点启动redis
          • 四、集群搭建
            • 4.1. 防火墙配置
            • 4.2.集群搭建
            • 4.3. 查看集群信息

Redis 分布式集群能解决的问题集群 概念
解决现有系统单节点并发压力和物理上限问题通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定、高效的状态
一、节点分布总览

演示案例
3主3从 横向扩展

服务器端口节点说明
192.168.0.1017001master
192.168.0.1017002slave
192.168.0.1027003master
192.168.0.1027004slave
192.168.0.1037005master
192.168.0.1037006slave
二、软件配置初始化

2.1~2.5属于公共部分,101/102/103服务器需要依次执行

2.1. 下载
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
2.2. 解压
cd /app
tar -zxvf redis-6.2.6.tar.gz
2.3. 编译安装
cd redis-6.2.6/
make install
2.4. 配置抽离
mkdir /app/redis-cluster/ -p
mkdir /app/redis-cluster/data/redis-7001 -p
mkdir /app/redis-cluster/data/redis-7002 -p
2.5. 配置编辑
vim /app/redis-cluster/redis-7001.conf
2.6. 101节点操作
  • redis-7001.conf
# 绑定访问ip信息
bind 0.0.0.0# # 修改对应的端口
port 7001#修改为后台启动
daemonize yes#关闭保护模式
protected-mode no#启动AOF文件
appendonly yes#指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
dir /usr/local/redis-cluster/redis-7001# 日志文件名
logfile "redis-7001.log"# .pid文件初始化
pidfile /var/run/redis_7001.pid# 启动集群模式
cluster-enabled yes# 节点离线的超时时间
cluster-node-timeout 15000# 注释打开并修改node节点 
cluster-config-file nodes-7001.conf#如果要设置密码需要增加如下配置:
#设置redis访问密码
requirepass pwd@2022gblfy#设置集群节点间访问密码,跟上面一致
masterauth pwd@2022gblfy
  • redis-7002.conf
# 绑定访问ip信息
bind 0.0.0.0# # 修改对应的端口
port 7002#修改为后台启动
daemonize yes#关闭保护模式
protected-mode no#启动AOF文件
appendonly yes#指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
dir /usr/local/redis-cluster/redis-7002# 日志文件名
logfile "redis-7002.log"# .pid文件初始化
pidfile /var/run/redis_7002.pid# 启动集群模式
cluster-enabled yes# 节点离线的超时时间
cluster-node-timeout 15000# 注释打开并修改node节点 
cluster-config-file nodes-7002.conf#如果要设置密码需要增加如下配置:
#设置redis访问密码
requirepass pwd@2022gblfy#设置集群节点间访问密码,跟上面一致
masterauth pwd@2022gblfy

保存退出

2.7. 102 节点操作
  • redis-7003.conf
# 绑定访问ip信息
bind 0.0.0.0# # 修改对应的端口
port 7003#修改为后台启动
daemonize yes#关闭保护模式
protected-mode no#启动AOF文件
appendonly yes#指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
dir /usr/local/redis-cluster/redis-7003# 日志文件名
logfile "redis-7003.log"# .pid文件初始化
pidfile /var/run/redis_7003.pid# 启动集群模式
cluster-enabled yes# 节点离线的超时时间
cluster-node-timeout 15000# 注释打开并修改node节点 
cluster-config-file nodes-7003.conf#如果要设置密码需要增加如下配置:
#设置redis访问密码
requirepass pwd@2022gblfy#设置集群节点间访问密码,跟上面一致
masterauth pwd@2022gblfy
  • redis-7004.conf
# 绑定访问ip信息
bind 0.0.0.0# # 修改对应的端口
port 7004#修改为后台启动
daemonize yes#关闭保护模式
protected-mode no#启动AOF文件
appendonly yes#指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
dir /usr/local/redis-cluster/redis-7004# 日志文件名
logfile "redis-7004.log"# .pid文件初始化
pidfile /var/run/redis_7004.pid# 启动集群模式
cluster-enabled yes# 节点离线的超时时间
cluster-node-timeout 15000# 注释打开并修改node节点 
cluster-config-file nodes-7004.conf#如果要设置密码需要增加如下配置:
#设置redis访问密码
requirepass pwd@2022gblfy#设置集群节点间访问密码,跟上面一致
masterauth pwd@2022gblfy

保存退出

2.8. 103节点操作
  • redis-7005.conf
# 绑定访问ip信息
bind 0.0.0.0# # 修改对应的端口
port 7005#修改为后台启动
daemonize yes#关闭保护模式
protected-mode no#启动AOF文件
appendonly yes#指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
dir /usr/local/redis-cluster/redis-7005# 日志文件名
logfile "redis-7005.log"# .pid文件初始化
pidfile /var/run/redis_7005.pid# 启动集群模式
cluster-enabled yes# 节点离线的超时时间
cluster-node-timeout 15000# 注释打开并修改node节点 
cluster-config-file nodes-7005.conf#如果要设置密码需要增加如下配置:
#设置redis访问密码
requirepass pwd@2022gblfy#设置集群节点间访问密码,跟上面一致
masterauth pwd@2022gblfy
  • redis-7006.conf
# 绑定访问ip信息
bind 0.0.0.0# # 修改对应的端口
port 7006#修改为后台启动
daemonize yes#关闭保护模式
protected-mode no#启动AOF文件
appendonly yes#指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
dir /usr/local/redis-cluster/redis-7006# 日志文件名
logfile "redis-7006.log"# .pid文件初始化
pidfile /var/run/redis_7006.pid# 启动集群模式
cluster-enabled yes# 节点离线的超时时间
cluster-node-timeout 15000# 注释打开并修改node节点 
cluster-config-file nodes-7006.conf#如果要设置密码需要增加如下配置:
#设置redis访问密码
requirepass pwd@2022gblfy#设置集群节点间访问密码,跟上面一致
masterauth pwd@2022gblfy

保存退出

三、软件配置集群化

配置环境变量 vim /etc/profile
export PATH=$PATH:/app/redis-6.2.6/bin

3.1. 101节点启动redis
  • 启动redis
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7001.conf
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7002.conf
ps -ef |grep redis
3.2. 102节点启动redis
  • 启动redis
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7003.conf
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7004.conf
ps -ef |grep redis
3.3. 103节点启动redis
  • 启动redis
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7005.conf
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7006.conf
ps -ef |grep redis
四、集群搭建

上面仅仅是搭建了集群,6个节点之间还没有关系,下面通过 节点握手让集群各节点之间,发生关系。

4.1. 防火墙配置
  • 101节点
firewall-cmd --zone=public --add-port=7001/tcp --permanent
firewall-cmd --zone=public --add-port=7002/tcp --permanent
firewall-cmd --zone=public --add-port=17001/tcp --permanent
firewall-cmd --zone=public --add-port=17002/tcp --permanent
firewall-cmd --reload
  • 102节点
firewall-cmd --zone=public --add-port=7003/tcp --permanent
firewall-cmd --zone=public --add-port=7004/tcp --permanent
firewall-cmd --zone=public --add-port=17003/tcp --permanent
firewall-cmd --zone=public --add-port=17004/tcp --permanent
firewall-cmd --reload
  • 103节点
firewall-cmd --zone=public --add-port=7005/tcp --permanent
firewall-cmd --zone=public --add-port=7006/tcp --permanent
firewall-cmd --zone=public --add-port=17005/tcp --permanent
firewall-cmd --zone=public --add-port=17006/tcp --permanent
firewall-cmd --reload

腾讯云安装的话,请跳转
腾讯云~Redis 伪分布式集群搭建2022版本+密码(linux环境)

4.2.集群搭建
  • -a pwd@2022 我们之前设置的密码
  • –cluster-replicas 1 主从搭配比例,1表示一主一从,2表示一主2从,要使用可以被客户端访问到的ip
    登录101服务器的7001节点以下命令(默认按照顺序自动分配主从,一般顺序是一主一从按照你的命令排列顺序):
    在这里插入图片描述
redis-cli -a pwd@2022 --cluster create --cluster-replicas 1 192.168.0.101:7001 192.168.0.102:7004 192.168.0.102:7003 192.168.0.103:7006 192.168.0.103:7005 192.168.0.101:7002 

执行完后会出现下面的界面,输入yes回车即可,我们可以得到以下信息

每一个主服务的哈希槽是多少
谁是主谁是从,谁是谁的主,谁是谁的从

成功标识
在这里插入图片描述
操作记录:

[root@localhost redis-cluster]# /app/redis-6.2.6/src/redis-cli -a pwd@2022 --cluster create --cluster-replicas 1 192.168.0.101:7001 192.168.0.102:7004 192.168.0.102:7003 192.168.0.103:7006 192.168.0.103:7005 192.168.0.101:7002 
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.0.102:7003 to 192.168.0.101:7001
Adding replica 192.168.0.103:7005 to 192.168.0.102:7004
Adding replica 192.168.0.101:7002 to 192.168.0.103:7006
M: 96ba5eb3bae52fd3a113626a112ed167c46d643e 192.168.0.101:7001slots:[0-5460] (5461 slots) master
M: d158ed7cb9131bdb89f4bfbb696ccb183f1a6769 192.168.0.102:7004slots:[5461-10922] (5462 slots) master
S: 853bd88678ce49d58005124649cd0e97a83422b5 192.168.0.102:7003replicates 96ba5eb3bae52fd3a113626a112ed167c46d643e
M: e68d4d38dab17b28639f0012a0aa2ff3a8646df5 192.168.0.103:7006slots:[10923-16383] (5461 slots) master
S: 7ec08016869a30c88e9bf0d8d28ccb0fe1d8714d 192.168.0.103:7005replicates d158ed7cb9131bdb89f4bfbb696ccb183f1a6769
S: c5faf6f2f7964c48a2c8b0e28187c6b69e2798f9 192.168.0.101:7002replicates e68d4d38dab17b28639f0012a0aa2ff3a8646df5
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 192.168.0.101:7001)
M: 96ba5eb3bae52fd3a113626a112ed167c46d643e 192.168.0.101:7001slots:[0-5460] (5461 slots) master1 additional replica(s)
S: 7ec08016869a30c88e9bf0d8d28ccb0fe1d8714d 192.168.0.103:7005slots: (0 slots) slavereplicates d158ed7cb9131bdb89f4bfbb696ccb183f1a6769
S: c5faf6f2f7964c48a2c8b0e28187c6b69e2798f9 192.168.0.101:7002slots: (0 slots) slavereplicates e68d4d38dab17b28639f0012a0aa2ff3a8646df5
S: 853bd88678ce49d58005124649cd0e97a83422b5 10.1.105.132:7003slots: (0 slots) slavereplicates 96ba5eb3bae52fd3a113626a112ed167c46d643e
M: e68d4d38dab17b28639f0012a0aa2ff3a8646df5 192.168.0.103:7006slots:[10923-16383] (5461 slots) master1 additional replica(s)
M: d158ed7cb9131bdb89f4bfbb696ccb183f1a6769 192.168.0.102:7004slots:[5461-10922] (5462 slots) master1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[root@localhost redis-cluster]# 
4.3. 查看集群信息
/app/redis-6.2.6/src/redis-cli -h 192.168.0.101  -p 7001 -a wsSC@2022
cluster info
cluster nodes

操作记录:

/app/redis-6.2.6/src/redis-cli -h 192.168.0.101  -p 7001 -a zxpwd@2022
192.168.0.101:7001> 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:1
cluster_stats_messages_ping_sent:189
cluster_stats_messages_pong_sent:216
cluster_stats_messages_sent:405
cluster_stats_messages_ping_received:211
cluster_stats_messages_pong_received:189
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:405
192.168.0.101:7001> cluster nodes
7ec08016869a30c88e9bf0d8d28ccb0fe1d8714d 192.168.0.103:7005@17005 slave d158ed7cb9131bdb89f4bfbb696ccb183f1a6769 0 1669723359000 2 connected
c5faf6f2f7964c48a2c8b0e28187c6b69e2798f9 192.168.0.101:7002@17002 slave e68d4d38dab17b28639f0012a0aa2ff3a8646df5 0 1669723357793 4 connected
853bd88678ce49d58005124649cd0e97a83422b5 192.168.0.102:7003@17003 slave 96ba5eb3bae52fd3a113626a112ed167c46d643e 0 1669723359801 1 connected
e68d4d38dab17b28639f0012a0aa2ff3a8646df5 192.168.0.103:7006@17006 master - 0 1669723358000 4 connected 10923-16383
d158ed7cb9131bdb89f4bfbb696ccb183f1a6769 192.168.0.102:7004@17004 master - 0 1669723357000 2 connected 5461-10922
96ba5eb3bae52fd3a113626a112ed167c46d643e 192.168.0.101:7001@17001 myself,master - 0 1669723358000 1 connected 0-5460
192.168.0.101:7001>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CDN百科第三讲|如果用了云服务器,还需要做CDN加速吗?

在全站上云的背景下,云计算已经不仅仅是大型互联网公司的独享概念,正在被更多的传统企业、中小企业甚至个人站长所采用。在众多云计算服务中,最常见两个产品就是云服务器和CDN,今天的CDN百科第三讲,就给大家介绍下你关…

如何选择适合你的企业数据管理类产品

在全站上云的背景下,云计算已经不仅仅是大型互联网公司的独享概念,正在被更多的传统企业、中小企业甚至个人站长所采用。在众多云计算服务中,最常见两个产品就是云服务器和CDN,今天的CDN百科第三讲,就给大家介绍下你关…

5G与金融行业融合应用的场景探索

来源 | 人民数字FINTECH责编 | 晋兆雨头图 | 付费下载于视觉中国5G 技术如何与银行、保险、证券业结合?近年来,金融业高度关注5G技术应用,一些金融机构希望抓住5G应用发展窗口期,积极探索新业态和新模式,把握5G金融应用…

云端研发新基建:Serverless与持续架构服务落地实践

在《我心中的云时代原生开发环境》这篇文章中,我们探讨过云厂商的愿景,云计算的趋势与现状以及研发团队的架构服务诉求等背景。今天,我想结合我们打造的云开发平台(Cloud Workbench)跟大家进一步聊聊,如何打…

vue pdfjs 在线预览

下载pdfjs 官网&#xff1a;http://mozilla.github.io/pdf.js/getting_started/#download 放入项目中 将下载下来的文件解压缩后&#xff0c;重命名为pdf&#xff0c;将里面的pdf文件夹拷贝到项目中的public文件夹中 页面中使用 <template><div class"container…

年终福利 | “社区之星”(社区核心贡献者)成长故事征集

活动简介那些积极探索技术边界并持续对社区做出贡献的开发者是真正的技术英雄&#xff0c;是开发者的学习榜样&#xff0c;也是各个技术社区发展的生命力&#xff01;2020年即将结束&#xff0c;CSDN 为所有技术社区特别准备了一份年终福利&#xff01;CSDN 向所有技术社区&…

阿里云峰会|数据库也能自动驾驶?DAS全天候给你保驾护航!

阿里云峰会直播地址 2020年6月9日&#xff0c;“全速重构”2020阿里云线上峰会即将隆重召开。 在此次峰会上&#xff0c;阿里云数据库重磅发布云原生分布式数据库 PolarDB-X 、云原生数据仓库AnalyticDB、数据库自治服务DAS、云数据库专属集群、图数据库GDB、云数据库Cassandr…

阿里云峰会|阿里云数据中台重磅升级后拟扶持100万家企业数智化

6月9日&#xff0c;在2020阿里云线上峰会上&#xff0c;阿里巴巴集团副总裁、数据技术及产品部负责人朋新宇推出Quick Audience、Quick A两款全新产品&#xff0c;并升级Dataphin和Quick BI两款现有产品。同时&#xff0c;阿里云零售、金融、政务及互联网企业等四大行业数据中台…

软件设计师 - 函数依赖 和 范式

文章目录1.函数依赖&#xff1a;1.0.前提范例&#xff1a;1.1.函数依赖定义&#xff1a;1.2. 部分依赖1.3. 完全依赖2.范式2.1. 码、候选码、主码2.2.主属性和非主属性2.3.第一范式&#xff08;1NF&#xff09;2.4.第二范式&#xff08;2NF&#xff09;2.5.第三范式&#xff08…

SpringBoot 自定义线程池

文章目录一、自定义线程池1. yml配置2. 线程池配置属性类3. 开启异步线程支持4. 创建自定义线程池配置类5. service逻辑层6. controller控制层7. 效果图二、配置默认线程池2.1. yml2.2.线程池配置属性类2.3. 开启异步线程支持2.4. 装配线程池2.5. service逻辑层2.6. controller…

可用性SLA还不懂?看完这个故事就懂了

大家好&#xff0c;我是小编云BliBli&#xff0c; 这些天 领导问了我一个暴击我灵魂的问题&#xff1a; 什么是SLA&#xff1f;那么多9到底是什么意思&#xff1f; &#xff08;瓦特&#xff1f;&#xff1f;我怎么知道&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#…

如何通过 Serverless 轻松识别验证码?

来源 | Serverless责编 | 晋兆雨头图 | 付费下载于视觉中国前言Serverless 概念自被提出就倍受关注&#xff0c;尤其是近些年来 Serverless 焕发出了前所未有的活力&#xff0c;各领域的工程师都在试图将 Serverless 架构与自身工作相结合&#xff0c;以获取到 Serverless 架构…

怀里橘猫柴犬,掌上代码江湖——对话阿里云MVP郭旭东

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 简介&#xff1a; 跟郭旭东聊过之后&#xff0c;我对程序员的敬佩又多一分。这个92年的开发者&#xff0c;难能可贵地兼备朝气…

防止重复提交 最佳实践

文章目录一、方案评估1. 前端2. 后端方案二、代码实战2.1. 依赖2.2. yml配置2.2. 相关配置类2.3. 实体类2.4. 相关工具类2.5. 操作消息提醒2.6. 过滤器2.2. 拦截器2.7.重复提交测试2.8. 效果图一、方案评估 1. 前端 提交后屏蔽提交按钮 2. 后端方案 实现原理 1.自定义重复提…

java实现 - 树的层序遍历

树&#xff1a; 树实体结构&#xff1a; Data public class Tree {//树的data值private String dataStr;//树的第一个孩子节点private Tree firstChild;//树的下一个孩子节点private Tree nextBrother; }代码实现&#xff1a; public class TreeTraversal {//队列&#xff…

金山云发布全新Serverless产品 云原生基础设施再升级

随着企业数字化转型的深入&#xff0c;云计算正全面步入2.0时代&#xff0c;即为云而生的阶段。以云原生为代表的理念&#xff0c;已经成为进一步释放云计算价值的核心推动力。 1月6日&#xff0c;金山云举行了云原生媒体沟通会&#xff0c;金山云副总裁、合伙人钱一峰在会上正…

如何提升微服务的幸福感

前言 随着微服务的流行&#xff0c;越来越多公司使用了微服务框架&#xff0c;微服务以其的高内聚、低耦合等特性&#xff0c;提供了更好的容错性&#xff0c;也更适应业务的快速迭代&#xff0c;为开发人员带来了很多的便利性。但是随着业务的发展&#xff0c;微服务拆分越来…

nacos未授权访问漏洞【原理扫描】

解决方案 vim /nacos/conf/application.properties添加 #开启认证配置 nacos.core.auth.enabledtrue

求AOE图的 拓扑排序 及关键路径长度(java实现)

文章目录1.AOE图&#xff1a;2.AOE图邻接链表存储结构&#xff1a;3.代码实现3.1.实体及参数初始化3.2.代码实现3.3.输出1.AOE图&#xff1a; 2.AOE图邻接链表存储结构&#xff1a; 3.代码实现 3.1.实体及参数初始化 //邻接表的链表节点 Data public class LinkedNode {//邻接…

陈旸:清华博士的模型信仰

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 简介&#xff1a; 陈旸是典型的天才学霸。10岁开始编程&#xff0c;亚洲奖、国奖拿到手软&#xff1b;创业做新媒体&#xff…