快速搭建redis集群

快速搭建redis集群

文章目录

  • 快速搭建redis集群
    • 一、说明
    • 二、安装redis
    • 三、快速启动单机redis
    • 四、搭建三节点redis集群(三主):全部节点都可以用,集群才可用
    • 五、搭建三节点redis集群(三主):一半以上节点可用,就可用
    • 六、搭建六节点redis集群(三主三从)

一、说明

从单机redis到redis集群,通过一行命令直接完成。

  1. 启动单机redis;
  2. 三节点redis集群(三主);
  3. 六节点redis集群(三主三从);

redis到配置参数即可以写到配置文件中,也可以放在启动命令后面。下面是快速搭建和启动,因此所有的参数都放在命令后面。

二、安装redis

从官网下载zip包(Install Redis from source):https://redis.io/downloads/

[download 6.2.14](https://download.redis.io/releases/redis-6.2.14.tar.gz).

解压,之后编译安装:

$ tar -zxvf softs/redis-6.2.14.tar.gz -C servers/
$ make && make install

三、快速启动单机redis

先创建两个文件夹:

$ cd redis-6.2.14/
$ mkdir -p {logs,data}

运行启动命令:

注意:logfile需要写绝对路径。

./src/redis-server --port 6379 --dir /Users/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-6379.aof --dbfilename dump-6379.rdb --logfile /Users/Downloads/dev/servers/redis-6.2.14/logs/6379.log --daemonize yes

执行成功,就启动成功了。

四、搭建三节点redis集群(三主):全部节点都可以用,集群才可用

先创建三个文件夹:

$ cd redis-6.2.14/
$ mkdir -p {logs,data,cluster-conf}

然后执行运行脚本:create-redis-cluster-3.sh

不需要创建其它的文件

$ cd redis-6.2.14/
$ bash create-redis-cluster-3.sh

脚本内容如下:

## create a local redis cluster for 3 nodesecho "start $N redis-server for 6000-6002..."
echo "6000"echo "6000"
./src/redis-server --port 6000 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-6000.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-6000.aof --dbfilename dump-6000.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-6000.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/6000.log --daemonize yes
echo "6001"
./src/redis-server --port 6001 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-6001.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-6001.aof --dbfilename dump-6001.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-6001.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/6001.log --daemonize yes
echo "6002"
./src/redis-server --port 6002 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-6002.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-6002.aof --dbfilename dump-6002.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-6002.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/6002.log --daemonize yessleep 2
## create a local redis cluster
## 构建集群
echo "create cluster... "
./src/redis-cli --cluster create 127.0.0.1:6000 127.0.0.1:6001 127.0.0.1:6002 --cluster-replicas 0sleep 1
## 检验集群状态
./src/redis-cli -p 6000 cluster nodes

五、搭建三节点redis集群(三主):一半以上节点可用,就可用

先创建三个文件夹:

$ cd redis-6.2.14/
$ mkdir -p {logs,data,cluster-conf}

然后执行运行脚本:create-redis-cluster-no-full-3.sh

不需要创建其它的文件

$ cd redis-6.2.14/
$ bash create-redis-cluster-no-full-3.sh

脚本内容如下:

## create a local redis cluster for 3 nodesecho "start $N redis-server for 6000-6002..."
echo "6000"echo "6000"
./src/redis-server --port 6000 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-6000.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-6000.aof --dbfilename dump-6000.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-6000.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/6000.log --cluster-require-full-coverage no --daemonize yes
echo "6001"
./src/redis-server --port 6001 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-6001.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-6001.aof --dbfilename dump-6001.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-6001.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/6001.log --cluster-require-full-coverage no --daemonize yes
echo "6002"
./src/redis-server --port 6002 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-6002.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-6002.aof --dbfilename dump-6002.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-6002.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/6002.log --cluster-require-full-coverage no --daemonize yessleep 2
## create a local redis cluster
## 构建集群
echo "create cluster... "
./src/redis-cli --cluster create 127.0.0.1:6000 127.0.0.1:6001 127.0.0.1:6002 --cluster-replicas 0sleep 1
## 检验集群状态
./src/redis-cli -p 6000 cluster nodes

六、搭建六节点redis集群(三主三从)

先创建三个文件夹:

$ cd redis-6.2.14/
$ mkdir -p {logs,data,cluster-conf}

然后执行运行脚本:create-redis-cluster-6-3m3s.sh

不需要创建其它的文件

$ cd redis-6.2.14/
$ bash create-redis-cluster-6-3m3s.sh

脚本内容如下:

## create a local redis cluster for 6 nodesN=6### nohup redis-server --port 7004 --cluster-enabled yes --cluster-config-file nodes-7004.conf --cluster-node-timeout 3000 --appendonly yes --appendfilename appendonly-7004.aof --dbfilename dump-7004.rdb --logfile 7004.log --daemonize yes &## create 6 redis server for 7000-7005
echo "start $N redis-server for 7000-7005..."
echo "7001"
./src/redis-server --port 7001 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-7001.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-7001.aof --dbfilename dump-7001.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-7001.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/7001.log --cluster-require-full-coverage no --daemonize yes
echo "7002"
./src/redis-server --port 7002 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-7002.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-7002.aof --dbfilename dump-7002.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-7002.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/7002.log --cluster-require-full-coverage no --daemonize yes
echo "7003"
./src/redis-server --port 7003 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-7003.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-7003.aof --dbfilename dump-7003.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-7003.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/7003.log --cluster-require-full-coverage no --daemonize yes
echo "7004"
./src/redis-server --port 7004 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-7004.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-7004.aof --dbfilename dump-7004.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-7004.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/7004.log --cluster-require-full-coverage no --daemonize yes
echo "7005"
./src/redis-server --port 7005 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-7005.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-7005.aof --dbfilename dump-7005.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-7005.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/7005.log --cluster-require-full-coverage no --daemonize yes
echo "7006"
./src/redis-server --port 7006 --cluster-enabled yes --cluster-config-file /Users/lifei/Downloads/dev/servers/redis-6.2.14/cluster-conf/nodes-7006.conf --cluster-node-timeout 3000 --dir /Users/lifei/Downloads/dev/servers/redis-6.2.14/data --appendonly yes --appendfilename appendonly-7000.aof --dbfilename dump-7006.rdb --pidfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/data/redis-7006.pid --logfile /Users/lifei/Downloads/dev/servers/redis-6.2.14/logs/7006.log --cluster-require-full-coverage no --daemonize yessleep 2
## create a local redis cluster
## 构建集群
./src/redis-cli --cluster create 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  --cluster-replicas 1sleep 1
## 检验集群状态
./src/redis-cli -p 7001 cluster nodes

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

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

相关文章

【Linux】使用ntpdate同步时间

ntpdate 是一个在 Linux 系统中用于同步系统时间的命令行工具,它通过与 NTP 服务器通信来调整本地系统时钟。然而,需要注意的是,ntpdate 已经被许多现代 Linux 发行版弃用。 安装 yum install -y ntpdate 查看时间 date同步时间 ntpdate ntp…

问界M9累计大定破10万,创中国豪车新纪录

ChatGPT狂飙160天,世界已经不是之前的样子。 更多资源欢迎关注 6月26日消息,华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东今日宣布,问界M9上市6个月,累计大定突破10万辆。 这一成绩,也创造了中国市场…

postman汉化中文(Windows)

Postman 是一款专业的 API 开发工具,为开发者提供了创建、测试、调试和分享 HTTP 请求的便利性和灵活性。其主要功能包括请求构建与发送、自动化测试、团队协作与分享、实时监视与调试以及环境与变量管理。无论是个人开发者还是团队,Postman 都能有效地提…

深入了解 msvcr120.dll问题解决指南,msvcr120.dll在电脑中的重要性

在Windows操作系统中,.dll 文件扮演了非常重要的角色,它们包含许多程序运行所需的代码和数据。其中 msvcr120.dll 是一个常见的动态链接库文件,是 Microsoft Visual C Redistributable Packages 的一部分。这篇文章将探讨 msvcr120.dll 的功能…

使用Python进行并发和并行编程:提高效率的秘诀

使用Python进行并发和并行编程:提高效率的秘诀 ​ 大家好,今天我们来聊聊如何使用Python进行并发和并行编程,以提升数据处理的效率;在之前的文章中,我们探讨了Python的函数式编程和数据流处理。今天,我们将…

查询SQL 人大金仓 与MySQL的区别

查询SQL 人大金仓 与MySQL的区别&#xff0c;以若依为例 最常见 时间范围 1.人大金仓 Kingbase <select id"selectUserListByOrgIds" parameterType"SysUser" resultMap"SysUserResult">select u.user_id, u.dept_id, u.nick_name,u.tj_…

力扣2748.美丽下标对的数目

力扣2748.美丽下标对的数目 朴素思路 二重循环模拟 class Solution {public:int gcd(int a,int b){return b ? gcd(b,a%b):a;}int countBeautifulPairs(vector<int>& nums) {int res0;for(int i0;i<nums.size() - 1;i)for(int ji1;j<nums.size();j){strin…

C++用Crow实现一个简单的Web程序,实现动态页面,向页面中输入数据并展示

Crow是一个轻量级、快速的C微框架&#xff0c;用于构建Web应用程序和RESTful API。 将处理前端页面的POST请求以添加数据的逻辑添加到 /submit 路由中&#xff0c;并添加了一个新的路由 / 用于返回包含输入框、按钮和表格的完整页面。当用户向表格添加数据时&#xff0c;JavaS…

SpringAOP执行流程——从源码画流程图

文章目录 了解ProxyFactory入门操作添加多个Advice的执行顺序关于异常Advice关于proceed()方法指定方法才进行增强逻辑 创建代理对象的其他方式ProxyFactoryBeanBeanNameAutoProxyCreatorDefaultAdvisorAutoProxyCreator 对SpringAOP的理解TargetSourceProxyFactory选择JDK/CJL…

【教学类-64-05】20240625彩棒鱼骨图(二)AB排列 6.5*1CM 6选2根 30种

背景需求&#xff1a; 【教学类-64-04】20240619彩棒鱼骨图&#xff08;一&#xff09;6.5*1CM 6根棒子720种-CSDN博客文章浏览阅读897次&#xff0c;点赞23次&#xff0c;收藏13次。【教学类-64-04】20240619彩棒鱼骨图&#xff08;一&#xff09;6.5*1CM 6根棒子720种https:…

JetBrains Rider 2024安装教程

一、下载Rider 1、进入官网&#xff0c;点击“下载” 2、下载完毕 二、安装Rider 1、双击下载的exe文件 2、点击“下一步” 3、可以点击“浏览”选择安装路径&#xff0c;之后点击“下一步” 4、选中图中四项&#xff0c;点击“下一步” 5、选中图中四项&#xff0c;点击“下…

Go语言学习:每日一练1

Go语言学习&#xff1a;每日一练1 目录 Go语言学习&#xff1a;每日一练1变量声明函数定义流程控制 ifrange遍历switch 变量声明 package main//定义变量 var a 1 const Message “hello,world”func main() {b : 2 //短变量声明var c 3c TestMethod(a, b, c)} //定义函数…

进程、CPU、MMU与PCB之间的关系

目录 进程与cpu&#xff08;中央处理器&#xff09; 源代码、程序、cpu与进程的关系 cpu超线程 CPU的简易架构与处理数据过程 进程与MMU&#xff08;内存管理单元&#xff09; mmu作用 cpu和mmu的关系 进程与PCB&#xff08;进程控制块&#xff09; PCB介绍与内部成员…

组合数学、圆排列、离散数学多重集合笔记

自用 如果能帮到您&#xff0c;那也值得高兴 知识点 离散数学经典题目 多重集合组合 补充容斥原理公式 隔板法题目 全排列题目&#xff1a;

解决pip 无法使用

pip is configured with locations that require TLS/SSL,the ssl module in Python is not available python缺少SSL模块&#xff0c;pip默认安装源为https://pypi.org/simple/&#xff0c;连接是需要SSL库&#xff0c;写配置文件修改为阿里安装源。 pip config --global se…

Loki部署及使用

简介 loki 是云原生的日志服务,本文讲解loki的部署,日志接入和查询日志的简单使用。 理论 Loki 分两部分,Loki 是日志引擎部分,Promtail 是收集日志端。 Loki 是主服务器,负责存储日志和处理查询 。 promtail 是代理,负责收集日志并将其发送给 loki 。 promtail 是日志…

武汉星起航:全球化舞台,中国跨境电商品牌力与竞争力双提升

随着全球化步伐的加快和数字技术的迅猛发展&#xff0c;跨境出口电商模式已经成为中国企业海外拓展的重要战略选择。这一模式不仅为中国的中小型企业提供了进军全球市场的机会&#xff0c;更为它们在全球舞台上展示独特的竞争优势提供了强有力的支撑。武汉星起航将从市场拓宽、…

学习时间的运用:

接下来的学习时间&#xff1a;14:19-17:50,以30min为一个基础时间&#xff0c;然后刷题&#xff0c;纠正自己的学习习惯和做题习惯还有自己的思维陷阱和自己的思维误区&#xff0c;使自己得到一个不断地成长和进步还有学习&#xff0c;这样对于自己而言&#xff0c;自己所可以得…

Kylin模型设计的最佳实践:提升大数据平台性能的策略

摘要 Apache Kylin是一个开源的分布式分析引擎&#xff0c;提供对大数据集的高性能查询能力。Kylin通过预计算技术&#xff0c;将数据以多维立方体&#xff08;Cube&#xff09;的形式存储&#xff0c;从而加快查询速度。模型设计在Kylin中至关重要&#xff0c;它直接影响到查…

江协科技51单片机学习- p19 串口通信

前言&#xff1a; 本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记&#xff0c;在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。 引用&#xff1a; 51单片机入门教程-2…