Redis3.0 集群搭建

2023-10-26

redis3.0 部仅提供了哨兵监控,热切换,还提供了集群解决方案,接下来简单的搭建redis3.0集群

1、新建三个redis-server实例,我们可以将redis.conf分别copy到7001,7002,7003的文件夹中,并修改相应的配置

 vi redis3.0/instance/7001/redis.conf

几处配置

daemonize yes  #配置服务为后台运行
bind 10.16.6.70 #绑定端口号,只对该端口号的客户端开发,例如 redis-cli -c -h 10.16.6.70 -p 7001
logfile "/redis3.0/instance/7001/redis.log" #日志文件路径
cluster-enabled yes #配置集群允许
cluster-config-file /redis3.0/instance/7001/nodes-7001.conf #节点配置文件路径

相应的将7002和7003的配置文件修改和7001类似,将端口号,节点配置文件路径和日志文件路径改到相应的7002,7003路径位置

接下来先启动三个实例服务,进入到redis的安装目录src目录,输入以下命令

[xxx@Dev_xxxx_xx_xx_xx src]$ ./redis-server /redis3.0/instance/7001/redis.conf 
[xxx@Dev_xxxx_xx_xx_xx src]$ ./redis-server /redis3.0/instance/7002/redis.conf 
[xxx@Dev_xxxx_xx_xx_xx src]$ ./redis-server /redis3.0/instance/7003/redis.conf 

启动完成之后,查看redis进程状态

root     12870     1  0 15:22 ?        00:00:06 ./redis-server 10.16.6.70:7001 [cluster]                                 
root     12875     1  0 15:22 ?        00:00:06 ./redis-server 10.16.6.70:7002 [cluster]                                 
root     12880     1  0 15:22 ?        00:00:06 ./redis-server 10.16.6.70:7003 [cluster]         

说明实例启动成功,接下来配置集群,这里我们只配置无复本集群,即三个实例都是master,进入到redis的安装目录src目录,输入以下命令

./redis-trib.rb create  10.16.6.70:7000 10.16.6.70:7001 10.16.6.701:7002 

如果没有按照ruby环境会报错

/usr/bin/env: ruby: No such file or directory

通过yum 安装ruby

yum install ruby

执行继续报错

redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError) from ./redis-trib.rb:24

缺少rubygems组件

yum install rubygems 

执行还是报错

/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)  from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 

缺少与redis的链接接口

gem install redis --version 3.0.0

若不能安装,估计是服务问题,自己手动安装

wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem gem install -l ./redis-3.2.1.gem 

继续执行,打印如下,输入yes,创建成功

这里写图片描述

利用客户端进入

./redis-cli  -c -h 10.16.6.70 -p 7001 

这里写图片描述

到此搭建完成,如果你想添加复本,并能在节点异常的时候,能进行HA切换,使用

./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

–replicas 1 可以添加复本数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redis3.0 集群搭建 的相关文章

  • 如何清理redis中不活跃的玩家?

    我正在制作一个使用 redis 来存储游戏状态的游戏 它可以很好地跟踪位置和玩家 但我没有一个好的方法来清理不活跃的玩家 每当玩家移动时 这是一个半慢速移动游戏 想想每秒 1 5 帧 我就会用新位置更新哈希并删除旧位置键 跟踪活跃玩家的最佳
  • Docker&Celery - 错误:Pidfile (celerybeat.pid) 已存在

    应用程序包括 姜戈 雷迪斯 芹菜 码头工人 Postgres 在将项目合并到 docker 之前 一切都运行顺利且正常 但是一旦将其移入容器 就开始出现问题 起初它开始得很好 但过了一会儿我确实收到了以下错误 celery beat 1 E
  • AWS Redis 从外部连接

    有没有办法从外部 AWS 网络连接 AWS 上托管的 Redis 实例 我有一个基于 Windows 的 EC2 实例在 AWS 上运行 另一个是 Redis 缓存节点 我知道有人问过这个问题 但答案是在基于 Linux 的系统中 但我的是
  • socket.io redis 和内存泄漏

    我的socket io版本是 电子邮件受保护 cdn cgi l email protection and 电子邮件受保护 cdn cgi l email protection 我在 Windows 上 在某些地方 我看到问题已得到解决 我
  • Laravel - 缓存 Eloquent 并频繁更新

    是否可以对经常修改的对象使用缓存 例如 假设我们有一个 BlogPost 对象 并且有一个经常更改的 num of views 列 以及其他列 是否可以更新缓存和数据库中的 num of views 字段 而不破坏缓存对象并重新创建它 我可
  • Node.js 上通过套接字连接 Redis

    由于共享托管 目标主机上的我的 redis 服务器不在端口上运行 而是在非常特定的套接字上运行 可以通过套接字文件连接到该套接字 只有我的用户可以访问 但是 我还没有找到如何通过套接字指定连接node redis and connect r
  • Stackexchange.redis 缺乏“WAIT”支持

    我在客户端应用程序正在使用的负载均衡器后面有 3 个 Web API 服务器 我正在使用这个库来访问具有一个主服务器和几个从服务器的 Redis 集群 目前不支持 WAIT 操作 我需要此功能来存储新创建的用户会话并等待它复制到所有从属服务
  • 如何在多个Lua State(多线程)之间传递数据?

    我在中启动Redis连接池redis lua 通过从 C 调用 我得到了redis lua state 此 Lua 状态全局启动一次 仅在其他线程中启动get从中 当有一个 HTTP 请求 工作线程 时 我需要从redis lua stat
  • 是否有可嵌入的 Java 替代 Redis?

    根据这个线程 https stackoverflow com questions 3047010 best redis library for java 如果我想从Java中使用Redis Jedis是最好的选择 然而 我想知道是否有任何库
  • redis-cli 重定向到 127.0.0.1

    我在PC1上启动Redis集群 然后在PC2上连接它 当需要重定向到另一个集群节点时 它会显示Redirected to slot 7785 located at 127 0 0 1 但应该显示Redirected to slot 7785
  • 如何将 ActionController::Live 与 Resque + Redis 一起使用(用于聊天应用程序)

    我正在尝试为我的 Rails 应用程序构建聊天功能 我在用ActionController Live Puma Resque Redis为了这 所以基本上在这种情况下 redissubscribe方法正在后台运行 使用resque 到目前为
  • Caffeine Expiry 中如何设置多个过期标准?

    我正在使用 Caffeine v2 8 5 我想创建一个具有可变到期时间的缓存 基于 值的创建 更新以及 该值的最后一次访问 读取 无论先发生什么都应该触发该条目的删除 缓存将成为三层值解析的一部分 The key is present i
  • 如何测试我的 Redis 缓存是否正常工作?

    我已经安装了 django redis cache 和 redis py 我遵循了 Django 的缓存文档 据我所知 以下设置就是我所需要的 但我如何判断它是否正常工作 设置 py CACHES default BACKEND redis
  • 使用 Sentinels 升级 Redis 的最佳实践?

    我有 3 个 Redis 节点 由 3 个哨兵监视 我进行了搜索 文档似乎不清楚如何最好地升级此类配置 我目前使用的是 3 0 6 版本 我想升级到最新的 5 0 5 我对这方面的程序有几个疑问 升级两个大版本可以吗 我在我们的暂存环境中执
  • 2 个具有共享 Redis 依赖的 Helm Chart

    目前 我有 2 个 Helm Charts Chart A 和 Chart B Chart A 和 Chart B 对 Redis 实例具有相同的依赖关系 如Chart yaml file dependencies name redis v
  • Redis是如何实现高吞吐量和高性能的?

    我知道这是一个非常普遍的问题 但是 我想了解允许 Redis 或 MemCached Cassandra 等缓存 以惊人的性能极限工作的主要架构决策是什么 如何维持连接 连接是 TCP 还是 HTTP 我知道它完全是用C写的 内存是如何管理
  • 使用 Celery 通过 Gevent 进行实时、同步的外部 API 查询

    我正在开发一个 Web 应用程序 该应用程序将接收用户的请求 并且必须调用许多外部 API 来编写对该请求的答案 这可以直接从主 Web 线程使用 gevent 之类的东西来扇出请求来完成 或者 我在想 我可以将传入的请求放入队列中 并使用
  • 为什么Redis中没有有序的hashmap?

    Redis 数据类型 http redis io topics data types包括排序集 http redis io topics data types intro sorted sets以及其他用于键值存储的必要数据结构 但我想知道
  • 在 Redis 上为 Django 和 Express.js 应用程序共享会话存储

    我想创建一个包含一些登录用户的 Django 应用程序 另一方面 由于我想要一些实时功能 所以我想使用 Express js 应用程序 现在的问题是 我不希望身份不明的用户访问 Express js 应用程序的日期 因此 我必须在 Expr
  • Redis+Docker+Django - 错误 111 连接被拒绝

    我正在尝试使用 Redis 作为使用 Docker Compose 的 Django 项目的 Celery 代理 我无法弄清楚我到底做错了什么 但尽管控制台日志消息告诉我 Redis 正在运行并接受连接 事实上 当我这样做时 docker

随机推荐

  • STM32CUBEMX_SDIO和FATFS_读写SD卡

    STM32CUBEMX SDIO和FATFS 读写SD卡 简述 FATFS是一个完全免费开源 专为小型嵌入式系统设计的FAT File Allocation Table 文件系统模块 FATFS的编写遵循ANSI C 并且完全与磁盘I O层
  • C++入门--类和对象(上)

    目录 一 C 的类 1 类的引入 2 类的定义 3 类的访问限定符及封装 4 封装 5 类的作用域 6 类的实例化 7 类对象的大小 二 this指针 1 this指针引入 2 this指针的特性 三 C语言和C 实现Stack的对比 1
  • 微信小程序 background-image直接设置本地图片路径,编辑器正常显示,真机运行不显示解决方法

    项目场景 微信小程序 设置background image直接设置本地图片路径 问题描述 编辑器正常显示 真机运行不显示 原因分析 background image只能用网络url或者base64图片编码 解决方案 1 将本地图片转为网络u
  • 用Rsync,实现网站的增量部署

    整个网站通常会很大 尤其的其中静态的图片视频之类 但我们通常不会修改他们 平常只会修改几个文件 如果每次更新都将整个网站从本地上传到服务器 无疑很费时间 如果要找到修改的文件 并只上传这些文件 甚至只上传这些文件修改的部分 无疑会方便很多
  • img.shape img.size

    import cv2 import numpy as np img cv2 imread messi5 jpg print img shape px img 100 100 print px blue img 100 100 0 print
  • WARNING: You are using pip version 19.2.3, however version 20.1.1 is available. -解决方法

    当用PIP下载模块时提示 WARNING You are using pip version 19 2 3 however version 20 1 1 is available You should consider upgrading
  • 寒假日报(2.3-2.5)

    1 终于学完了慕课中的 python3入门机器学习 简单总结回顾一下我学习到的东西 具体的学习笔记以后有时间就补上 Jupyter Notebook的使用 numpy基础 matpotlib绘图 KNN k近邻算法 分类 非监督学习 线性回
  • 实现基于TensorFlow的手写数字识别(1)

    一 MNIST数字识别数据集获取及处理 通过学习林大贵老师的 TensorFlow Keras深度学习人工智能实践应用 对图像处理的过程有了较浅薄的理解 在此与大家分享 同时由于上书中提供的代码下载页面失效 笔者按照书本中的内容手敲代码 如
  • 解决cv2.error: OpenCV(3.4.4) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:356: erro

    Opencv python中调用cv2 imshow 时出现该错误 解决 图片路径有误 将第一幅图片中路径改为 Image ying3 jpg即可
  • jvm之String

    基本特性 字符串 使用一对 引起来表示 声明为final的 不可被继承 实现了Serializable接口 表示字符串是支持序列化的 实现了Comparable接口 表示String 可以比较大小 在jdk8及以前内部定义了final ch
  • 【封装】封装DML和DQL方法

    封装DML和DQL方法 一 工具类型的封装及普适性泛型工具 1 1 封装DML方法 1 2 封装DQL方法 二 用户案例 一 工具类型的封装及普适性泛型工具 1 1 封装DML方法 public int commonsUpdate Stri
  • H5活动页面遇到的坑+微信分享代码

    h5活动页面功能 在手机上微信分享 1 上传两张图片 2 播放一个背景音乐 很简单是么 那说明你知道的太少了 其实里面的坑好多 一下是制作的心路历程 坑1 iphone上传照片的时候 因为有oriten的原因 所以传上去旋转了 坑2 安卓a
  • Linux rpm命令查询软件包(-q、-qa、-i、-p、-l、-f、-R)

    使用 rpm 做查询命令的格式如下 root localhost rpm 选项 查询对象 rpm q 查询软件包是否安装 用 rpm 查询软件包是否安装的命令格式为 root localhost rpm q 包名 q 表示查询 是 quer
  • 【wpf,C#】wpf调用winform的chart空间,把数据显示成表格曲线

    背景 用wpf想把数据在显示在图表 以一条曲线展示的时候 发现出了问题 wpf不像winform 直接就有chart控件 所以就花了点精力 学会了怎么调用chart控件 最终是为了把数据能够以图表曲线的形式展示出来 当然 wpf还有其他显示
  • IO数据流

    IO流主要是分为字节流和字符流 他们最大的区别是操作的数据单元不同 字节流操作的数据单元占8位 字符流操作的数据单元占16位
  • 【STM32】 工程

    WRITE IN FRONT 介绍 謓泽 正在路上朝着 攻城狮 方向 前进四 荣誉 2021 2022年度博客之星物联网与嵌入式开发TOP5 TOP4 2021 2022博客之星TOP100 TOP63 阿里云专家博主 掘金优秀创作者 全网
  • 线段树板子

    include
  • TreeMap 排序

    一 TreeMap TreeMap 默认排序规则 按照key的字典顺序来排序 升序 当然 也可以自定义排序规则 要实现Comparator接口 用法简单 先看下下面的demo public class SortDemo public sta
  • Java课题笔记~Element UI

    Element 是饿了么公司前端开发团队提供的一套基于 Vue 的网站组件库 用于快速构建网页 Element 提供了很多组件 组成网页的部件 供我们使用 例如 超链接 按钮 图片 表格等等 如下图左边的是我们编写页面看到的按钮 上图右边的
  • Redis3.0 集群搭建

    redis3 0 部仅提供了哨兵监控 热切换 还提供了集群解决方案 接下来简单的搭建redis3 0集群 1 新建三个redis server实例 我们可以将redis conf分别copy到7001 7002 7003的文件夹中 并修改相