当前位置: 首页 > news >正文

Linux Redis集群配置

《Redis安装教程》
《入门版Redis集群教程》
服务器列表:
192.168.1.13
192.168.1.14
192.168.1.15
192.168.1.16
192.168.1.17
192.168.1.18

开放Redis6379端口和总线端口16379

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public --add-port=16379/tcp --permanent
firewall-cmd --reload

先停止单机redis

没有redis.service在最底下有完整的,其实就是为了停止redis,不用也行的,不用就直接kill掉redis

systemctl stop redis.service

授权redis.conf

chmod -R 777 /usr/local/redis-6.2.6/redis.conf

软链接

ln -s /usr/local/redis-6.2.6/bin/redis-server /usr/bin
ln -s /usr/local/redis-6.2.6/bin/redis-cli /usr/bin
ln -s /usr/local/redis-6.2.6/bin/redis-sentinel /usr/bin

创建并进入cluster文件夹

mkdir /usr/local/redis-6.2.6/cluster

创建配置文件

vim /usr/local/redis-6.2.6/cluster/redis-cluster.conf

内容如下

include /usr/local/redis-6.2.6/redis.conf
pidfile "/var/run/redis_cluster.pid"
port 6379
dbfilename "dump-cluster.rdb"
logfile "/usr/local/redis-6.2.6/cluster/redis-cluster.log"
cluster-enabled yes
cluster-config-file nodes-cluster.conf
cluster-node-timeout 15000

创建sentinel哨兵

vim /usr/local/redis-6.2.6/cluster/sentinel.conf

内容如下

daemonize yes
sentinel monitor mymaster 127.0.0.1 6379 1

启动哨兵

redis-sentinel /usr/local/redis-6.2.6/cluster/sentinel.conf

启动redis-server

redis-server /usr/local/redis-6.2.6/cluster/redis-cluster.conf

上面的命令都是6台redis都要执行的,下面这个只要其中一台执行就行。但是要等全部服务器都执行完上面的再执行下面这行命令

配置主从复制集群

redis-cli --cluster create --cluster-replicas 1 192.168.1.13:6379 192.168.1.14:6379 192.168.1.15:6379 192.168.1.16:6379 192.168.1.17:6379 192.168.1.18:6379

遇到Can I set the above configuration? (type ‘yes’ to accept):直接输入yes
[OK] All nodes agree about slots configuration. 出现这个就说明集群启动成功了

连接集群

redis-cli -c -p 6379
cluster nodes

打印出6个集群列表说明成功,如:

dab2fc2abd6673f852b692b3272f9da2f790d948 19.130.196.13:6379@16379 slave 78d91629f6fe20364887d412f091ba040ca7571c 0 1664177677000 2 connected
f24a0bb5bded3109390eee3e52ee90350d7c8864 192.168.1.14:6379@16379 master - 0 1664177677898 3 connected 10923-16383
32f74c88b80afd2e432875e8a00037cabaa23fda 192.168.1.15:6379@16379 myself,master - 0 1664177678000 1 connected 0-5460
4fd037a6c7e5124482caa74458c1e62d1dbc981f 192.168.1.16:6379@16379 slave f24a0bb5bded3109390eee3e52ee90350d7c8864 0 1664177678903 3 connected
78d91629f6fe20364887d412f091ba040ca7571c 192.168.1.17:6379@16379 master - 0 1664177675000 2 connected 5461-10922
53452ba16353b1e1bbea9c2bca229ae4213417bf 192.168.1.18:6379@16379 slave 32f74c88b80afd2e432875e8a00037cabaa23fda 0 1664177676893 1 connected

redis.service

vi /etc/systemd/system/redis.service

内容如下:

[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis-6.2.6/bin/redis-server /usr/local/redis-6.2.6/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target

启动redis

systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service

详细命令列表

systemctl start redis.service   #启动redis服务
systemctl stop redis.service   #停止redis服务
systemctl restart redis.service   #重新启动服务
systemctl status redis.service   #查看服务当前状态
systemctl enable redis.service   #设置开机自启动
systemctl disable redis.service   #停止开机自启动

相关文章:

  • 【电商数仓】日志采集架构设计原理、系统表结构解析、数仓分层相关概念、范式理论详解
  • 【C++修炼秘籍】C++入门,初入山门(下)
  • 个人一些教学、生活中的非专业技术案例
  • java毕业设计美容院管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  • C++ 中的万能引用、引用折叠、完美转发
  • 软件架构模式
  • Eclipse Theia技术揭秘——脚手架源码分析
  • React AntV/G2Plot环形图Pie添加点击事件,即点击图环触发获取相关数据。
  • 导航【Java设计模式】
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • JavaScript4种数组随机选取实战源码
  • Python 教程之 Numpy(1)—— 什么是 Numpy?
  • $refs 、$nextTic、动态组件、name的使用
  • C语言实现简单通讯录,malloc,calloc,realloc,free动态内存分配的学习。
  • 【新人报到】【学习笔记】Python编程——入门
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • Android组件 - 收藏集 - 掘金
  • Docker: 容器互访的三种方式
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JAVA_NIO系列——Channel和Buffer详解
  • java2019面试题北京
  • js作用域和this的理解
  • opencv python Meanshift 和 Camshift
  • vue 配置sass、scss全局变量
  • 从setTimeout-setInterval看JS线程
  • 对象引论
  • 回流、重绘及其优化
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 说说动画卡顿的解决方案
  • 微信小程序实战练习(仿五洲到家微信版)
  •  一套莫尔斯电报听写、翻译系统
  • 因为阿里,他们成了“杭漂”
  • 用Visual Studio开发以太坊智能合约
  • 栈实现走出迷宫(C++)
  • 转载:[译] 内容加速黑科技趣谈
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • (9)目标检测_SSD的原理
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (三)模仿学习-Action数据的模仿
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • ***原理与防范
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .gitignore
  • .gitignore文件—git忽略文件
  • .NET Core 通过 Ef Core 操作 Mysql
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • @ResponseBody
  • [ 数据结构 - C++]红黑树RBTree
  • [2016.7 day.5] T2
  • [AI]文心一言出圈的同时,NLP处理下的ChatGPT-4.5最新资讯