redis分布式集群搭建

article/2025/9/10 10:53:50

一、软件环境信息

1、redis版本要求:3.0及之后版本

2、服务节点个数要求:  至少3个主节点,其中主节点不少于节点总数的一半;至多16384个节点;每个主节点至少有一个从节点,故redis集群模式至少需要6个服务节点。

3、本文档是在一台服务器上启动了6个redis实例进行演示。实际投产部署时,每个节点应该对应一台服务器,每个节点配置为自己主机的IP即可。

注:默认使用root权限账户进行安装部署

 、安装Redis

1、下载redis,执行指定下载目录(这里下载到/usr/local/src下)

$ wget http://download.redis.io/releases/redis-6.0.6.tar.gz

2、解压

$ tar -xzvf redis-6.0.6.tar.gz	

3、进入解压后的目录

$ cd redis-6.0.6/

4、编译(如编译失败,请升级系统GCC版本)

$ make

5、安装(--PREFIX #指定安装目录)

$ make install PREFIX=/usr/local/redis

6、配置系统环境变量

在/etc/profile文件最后一行添加以下内容:

export PATH=$PATH:/usr/local/redis/bin

$ vim /etc/profile

7、立即生效该文件

$ source /etc/profile

 三、配置部署Redis分布式集群

1、创建集群配置文件的目录

$ mkdir -p /usr/local/redis-cluster #自行创建目录
$ cd /usr/local/redis-cluster
$ mkdir 8001 8002 8003 8004 8005 8006  #自行指定文件名,最好跟端口号对应

2、拷贝配置文件

$ cp /%redis解压目录%/redis.conf /usr/local/redis-cluster/8001

3、修改配置文件

$ vim /usr/local/redis-cluster/8001/redis.conf

配置项说明

  • daemonize yes: 开启Redis的守护进程,redis服务在后台运行
  • port 8001: redis端口号,每个配置文件设置自己的端口号;本文档分别配置为 8001、8002 ... 8006;
  • dir /usr/local/redis-cluster/8001/:设定数据文件存放位置,必须指定不同目 录位置,否则会丢失数据;
  • cluster-enalbed yes: 启动集群模式;默认是被注释掉的,取消注释;
  • cluster-config-file nodes-8001.conf: 集群节点信息文件。

        默认为 nodes-6379.conf,将6379修改为本节点端口号即可。

        注意:尽管有此选项的名称,但这不是用户创建、也不是用户可编辑的配置文件,而是Redis群集节点每次发生更改时自动保留群集配置(基本上为状态)的文件,以便能够在启动时重新读取它。该文件列出了群集中其他节点,它们的状态,持久变量等等。由于某些消息的接收,通常会将此文件重写并刷新到磁盘上。

  • cluster-node-timeout 5000: 单位:毫秒; Redis群集节点可以不可用的最长时 间,而不会将其视为失败。如果主节点超过指定的时间不可达,它将由其从属设备进行 故障切换。并且每个无法在指定时间内到达大多数主节点的节点将停止接受查询。
  • bind 127.0.0.1 192.168.11.15: “127.0.0.1”表示主机可通过127.0.0.1和 localhost访问本机节点; “192.168.11.15”是当前主机IP,能够让其它服务器节点访 问,否则无法创建集群;
  • protected-mode no:redis3.2版本后新增protected-mode配置,默认是yes,即 开启;no:外部网络可直接访问;yes:需配置bind ip或者设置访问密码;
  • appendonly yes: 开启AOF持久化(Redis能在发生服务器电源故障或操作系统仍 然正常运行但Redis进程莫名挂掉的情况下,只丢失1秒的数据);

注:如要设置密码,则需添加如下两个配置项

  • requirepass XXX: 设置Redis访问密码;
  • masterauth XXX: 设置集群节点间访问密码,与requirepass中一致。

修改完 /usr/local/redis-cluster/8001/redis.conf之后,拷贝该文件至其他五个文 件夹中

$ cd /usr/local/redis-cluster/8001
$ cp redis.conf /usr/local/redis-cluster/8002
$ cp redis.conf /usr/local/redis-cluster/8003
$ cp redis.conf /usr/local/redis-cluster/8004
$ cp redis.conf /usr/local/redis-cluster/8005
$ cp redis.conf /usr/local/redis-cluster/8006

新拷贝的五个文件仅修改配置项:port、dir、cluster-config-file 即可

注: 在实际生产部署时,配置项bind为各自节点所在主机服务器的IP

四、配置文件整体目录如下

$ cd /usr/local/redis-cluster/

 五、启动Redis各节点

$ redis-server /usr/local/redis-cluster/8001/redis.conf
$ redis-server /usr/local/redis-cluster/8002/redis.conf
$ redis-server /usr/local/redis-cluster/8003/redis.conf
$ redis-server /usr/local/redis-cluster/8004/redis.conf
$ redis-server /usr/local/redis-cluster/8005/redis.conf
$ redis-server /usr/local/redis-cluster/8006/redis.conf

启动信息日志如下:

 查看各节点进程信息:

$ ps -ef | grep redis

六、创建Redis集群

命令格式:  redis-cli --cluster create --cluster-replicas <主节点与从节点个数比例,当改值为1:创建集群时,一个主节点需要有一个从节点> 节点1IP:端口号 节点2IP:端口号 ...

redis-cli --cluster create --cluster-replicas 1 192.168.11.15:8001 192.168.11.15:8002 192.168.11.15:8003 192.168.11.15:8004 192.168.11.15:8005 192.168.11.15:8006

命令执行中会有提示“Can I set the above configration ?” 输入:yes回车,表示 同意以上配置

 七、查看集群配置信息

连接集群的任意节点,如: 8001节点 ,其中参数 -c 表示连接集群(如果设置了redis密码,则还需添加参数: -a 密码)

$ redis-cli -c -h 192.168.11.15 -p 8001

连接redis客户端后: 使用命令cluster info 查看集群信息(cluster_known_nodes:6表示当前集群有6个节点)

连接后: 使用命令cluster nodes查看节点列表信息(master: 3个,slave: 3个)


http://chatgpt.dhexx.cn/article/5LR1OFyk.shtml

相关文章

大数据Hadoop集群搭建 1(伪分布式集群)

目录 Hadoop集群简介 Hadoop集群具体来说包含两个集群&#xff1a;HDFS集群和YARN集群。 Hadoop集群的部署方式分为三种&#xff0c;分别是单机模式、伪分布式模式和完全分布式模式。 环境搭建 1.修改主机名 2.修改时区 4.配置ssh免密 5.安装Hadoop 目录结构 配置文件说…

HADOOP 伪分布式集群搭建

一 linux 环境的搭建 由于笔者这里使用的是vmware 虚拟机 采用centos7 linux 操作系统进行搭建&#xff0c;所以一下示例均以centos7进行示例 1. 搭建vmware 虚拟机 &#xff08;1&#xff09;创建好虚拟机后采用linux ISO镜像文件启动安装centos7操作系统&#xff08;其它…

Zookeeper分布式集群部署

文章目录 一&#xff1a;zookeeper安装包下载安装1.下载安装包2.上传安装包3.解压安装包4.改名 二&#xff1a;zookeeper集群配置1.修改zoo.cfg配置文件2.创建myid文件3.配置系统环境变量4.分发zookeeper相关文件至从节点slave1&#xff0c;slave2 三&#xff1a;zookeeper服务…

漫话:如何给女朋友解释什么是分布式和集群?

作者 | 漫小画 公号 | 漫话编程 漫小画 擅长漫话 程小员 擅长编程 某天&#xff0c;下班较早&#xff0c;我正在玩吃鸡&#xff0c;已经到决赛圈了&#xff0c;这时候&#xff0c;女朋友满脸求知欲的朝我走过来。 上次他们都说你给我讲的面向对象太简单了。 那你想怎样&#xf…

什么是分布式集群?

首先来说一下集群的概念&#xff0c;集群是指将多台服务器集中起来一起进行同一种服务。相比一台服务器&#xff0c;集群的优势在于将负载均衡到每台服务器上&#xff0c;可以承载更高的访问量。 分布式又是什么呢&#xff0c;分布式指的是将工作进行业务拆分&#xff0c;然后…

什么是分布式,分布式和集群的区别又是什么?这一篇让你彻底明白!

1. 什么是分布式 ? 分布式系统一定是由多个节点组成的系统。 其中&#xff0c;节点指的是计算机服务器&#xff0c;而且这些节点一般不是孤立的&#xff0c;而是互通的。 这些连通的节点上部署了我们的节点&#xff0c;并且相互的操作会有协同。 分布式系统对于用户而言&a…

什么是集群?什么是分布式?集群与分布式的区别,集群和分布式的关系。

什么是集群 假如你开发了一个程序供大家使用&#xff0c;当然会把开发好的程序放到应用服务器中&#xff0c;刚开始用户量不大&#xff0c;用户访问的正常&#xff0c;服务器压力小。 但是随着用户量的增大&#xff0c;一台服务器不足以支撑系统的正常运行。 于是你决定把程…

python 除法符号_python的除法运算符是什么

python的除法运算符是什么&#xff1f;python中除法运算符有两类&#xff0c;一种是浮点除法运算符&#xff0c;另一种是整除除法运算符。 1. / 浮点除法&#xff0c;就算分子分母都是int类型&#xff0c;也返回float类型&#xff0c;比如我们用4/2&#xff0c;返回2.0 2. // …

c语言和Python整除符号,互联网常识:python除法运算符有哪些

python除法运算符&#xff1a;1、“/”运算符&#xff0c;按照常规数学除法计算的方式直接得出结果即可&#xff1b;2、“//”运算符&#xff0c;取整除&#xff0c;返回商的整数部分(向下取整)&#xff1b;3、“%”运算符&#xff0c;返回除法的余数。 本教程操作环境&#xf…

python的除法_python中的除法

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 截断表示截断小数分,取整数部分的意思。 实际应用中,精确除法比截断除法更频繁,所以有的书上,精确除法也叫普通除法(也就是常用除法) 也有人把精确除法叫浮…

python 整除及余数_python除法余数

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 常量常量就是不变的变量,在python中,通常用大写的变量名表示常量,这一点和java想相同:ali_address=ali_address=www.alibaba.com4.除法python中和除法...- …

Python 计算之除法

文章目录 1. 除法 /2. 四舍五入round()3. 浮点数取整int()4. 地板除 //5. 向上取整math.ceil()6. 取小数和整数部分math.modf() 1. 除法 / a,b 95,20 c a/b print(a,a,b,b,c,c)运行结果&#xff1a; a 95 b 20 c 4.752. 四舍五入round() round()的第2个位置参数表示取小数…

微信小程序框架(思维导图)

这是小编整理的一份关于微信小程序框架的思维导图&#xff0c;建议大家电脑点击图片查看哦&#xff01;

微信小程序框架分析思维导图

微信小程序框架分析思维导图

微信小程序表单框架01

简易表单wxml界面代码与界面效果 文本框样式&#xff1a; 点击多列选择器&#xff0c;代码与效果如下&#xff1a; 多列选择器js代码&#xff1a;

新建微信小程序项目

文章目录 app.jsonapp.wxsspages/index/index.wxmlpages/index/index.wxss相关链接 使用微信开发者工具新建微信小程序项目&#xff1a;mydemo&#xff0c;不使用云开发&#xff0c;不使用模板&#xff0c;自动生成如下文件&#xff1a; app.jsapp.wxssapp.jsonpages index in…

搭建微信小程序vue框架步骤

搭建微信小程序vue框架步骤 1.下载node.js 下载地址&#xff1a;https://nodejs.org/en/download/ 查看node、npm版本&#xff0c;确保环境正确 node --version npm --version2.安装vue脚手架工具vue-cli npm install -g vue/cli-init3.初始化结构 vue init mpvue/mpvue-qu…

微信小程序自定义组件

目录 一.自定义组件 1.创建自定义组件 2.声明组件 3.使用组件 二.Tabs样式优化 三.标题激活选中 四.父向子组件传递数据 五.子向父传递数据 六.自定义组件-slot 七.自定义组件的其他属性 一.自定义组件 1.创建自定义组件 类似页面&#xff0c;一个自定义组件由json ,wxm…

微信小程序npm引用ui框架

第一步&#xff1a;创建新的小程序&#xff0c;winR 输入cmd命令&#xff0c;进入小程序所在文件夹 第二步&#xff1a;在小程序根目录下输入 npm init 进行初始化 成功之后&#xff0c;会多一个package.json的文件 第三步&#xff1a; 接着执行两行命令 1、npm install --pr…

从0到一开发微信小程序(3)—小程序框架配置

文章目录 其他相关文章1、小程序框架1.1、全局配置1.1.1、Pages1.1.1.1、entryPagePath1.1.1.2、生成页面方式 1.1.2、window1.1.3、tabBar与属性1.1.4、常用其他配置1.1.4.1、sitemapLocation1.1.4.2、style1.1.4.3、networkTimeout1.1.4.4、debug1.1.4.5、functionalPages1.1…