更新时间:2022-01-08 20:34:36
让我们向您解释关于redis集群构建的新手教程。相信朋友们也应该密切关注这个话题。现在让我们为朋友们谈谈redis集群构建的新手教程。边肖还收集了关于redis集群构建新手教程的相关信息。我希望你看到后会喜欢。
Redis集群构建(学习视频分享:redis视频教程)
在介绍正式内容之前,我们先来介绍一下redis单机版的搭建步骤。
下载redis压缩包,然后解压压缩文件;进入解压后的redis文件目录(此时可以看到Makefile文件),编译redis源文件;将编译后的redis源文件安装到/usr/local/redis目录中。如果/local目录中没有redis目录,将自动创建一个新的redis目录。直接输入/usr/local/redis/bin目录。/redis-服务器启动redis(在这种情况下,前端启动redis);将redis启动模式更改为后端启动:将解压缩后的redis文件下的redis.conf文件复制到/usr/local/redis/bin目录,然后修改redis.conf文件-守护程序:no改为daemonize:yse;在/bin目录中,启动redis至。/redis-server redis.conf(此时后台启动)。综上所述,redis单机版安装启动完成。详细步骤请参考Redis简介。请原谅我的啰嗦好吗。然后,让我们回到这个话题——redis集群建设!一、Redis集群介绍(Redis
Redis是一个开源的键值存储系统,受到了广大互联网公司的青睐。在redis3.0版本之前,只有singleton模式支持3.0及更高版本的集群。我这里使用的是redis3.0.0版本。redis集群采用的P2P模式是完全去中心化的,没有中心节点和代理节点;Redis集群是一个没有统一入口的客户端。连接到集群时,可以连接集群中的任意节点,即集群内部的节点相互通信(PING-PONG机制),每个节点都是一个redis实例。为了实现集群的高可用性,也就是判断节点是否健康(可以正常使用),redis-cluster有这样一个投票容错机制:如果集群中超过一半的节点投票认为某个节点已经死亡,那么这个节点就会失败。这是判断节点是否死亡的方法;那么如何判断集群是否死亡呢?-如果集群中的任何节点挂起,并且该节点没有从节点(备份节点),则集群挂起。这是确定集群是否死亡的方法;那么,当任何节点挂机(没有从节点)时,集群为什么会挂机呢?因为群集内置了16384个插槽,并且所有物理节点都映射到这些16384[0-16383]插槽,或者这些插槽平均分配给每个节点。当一个键值需要存储在redis集群中时,Redis会先对这个键值执行crc16算法,然后得到一个结果。然后,这个结果的剩余部分是16384。这个余数将对应于[0-16383]中的一个槽,然后确定键值存储在哪个节点中。所以一旦某个节点挂起了该节点对应的插槽,就无法使用,会导致集群无法正常工作。总而言之,理论上,每个Redis集群最多可以有16,384个节点。其次,构建集群所需的环境2.1 Redis集群至少需要三个节点。因为投票容错机制需要一半以上的节点认为一个节点死了才算死,所以两个节点不能组成一个集群。2.2为了保证集群的高可用性,每个节点都需要有一个从节点,也就是备份节点,所以Redis集群至少需要6台服务器。因为我没有那么多服务器,也不能启动那么多虚拟机,所以我在这里构建的是一个伪分布式集群,也就是一台服务器虚拟运行6个redis实例,端口号改为(7001-7006)。当然,实际生产环境中Redis集群的构建与这里相同。2.3安装ruby III。集群构建的具体步骤如下(注意防火墙应该关闭)3.1在usr/local目录中创建新的redis-cluster目录来存储集群节点
3.2将redis目录下bin目录下的所有文件复制到/usr/local/Redis-cluster/Redis 01目录下。别担心,这里没有Redis01目录,会自动创建的。命令如下(注意当前路径):
CP-r redis/bin/redis-cluster/redis 01
3.3删除redis01目录下的快照文件dump.rdb,修改该目录下的redis.cnf文件。具体修改两处:一是将端口号改为7001;其次,打开集群创建模式,打开评论。如下图所示:删除dump.rdb文件。
hp.cn/upload/article/000/000/041/8a939591e82fd9695cb22c7fd274113e-2.png" alt="删除dump.rdb文件"/> 修改端口号为7001,默认是6379 将cluster-enabled yes 的注释打开 3.4 将redis-cluster/redis01文件复制5份到redis-cluster目录下(redis02-redis06)创建6个redis实例模拟Redis集群的6个节点。然后将其余5个文件下的redis.conf里面的端口号分别修改为7002-7006。分别如下图所示: 创建redis02-06目录分别修改redis.conf文件端口号为7002-7006 3.5 接着启动所有redis节点由于一个一个启动太麻烦了所以在这里创建一个批量启动redis节点的脚本文件命令为start-all.sh文件内容如下:
cd redis01 ./redis-server redis.conf cd .. cd redis02 ./redis-server redis.conf cd .. cd redis03 ./redis-server redis.conf cd .. cd redis04 ./redis-server redis.conf cd .. cd redis05 ./redis-server redis.conf cd .. cd redis06 ./redis-server redis.conf cd ..3.6 创建好启动脚本文件之后需要修改该脚本的权限使之能够执行指令如下:
chmod +x start-all.sh3.7 执行start-all.sh脚本启动6个redis节点3.8 ok至此6个redis节点启动成功接下来正式开启搭建集群以上都是准备条件。大家不要觉得图片多看起来冗长所以觉得麻烦其实以上步骤也就一句话的事情:创建6个redis实例(6个节点)并启动。 要搭建集群的话需要使用一个工具(脚本文件)这个工具在redis解压文件的源代码里。因为这个工具是一个ruby脚本文件所以这个工具的运行需要ruby的运行环境就相当于java语言的运行需要在jvm上。所以需要安装ruby指令如下:
yum install ruby然后需要把ruby相关的包安装到服务器我这里用的是redis-3.0.0.gem大家需要注意的是:redis的版本和ruby包的版本最好保持一致。
将Ruby包安装到服务器:需要先下载再安装如图 安装命令如下:
gem install redis-3.0.0.gem3.9 上一步中已经把ruby工具所需要的运行环境和ruby包安装好了接下来需要把这个ruby脚本工具复制到usr/local/redis-cluster目录下。那么这个ruby脚本工具在哪里呢之前提到过在redis解压文件的源代码里即redis/src目录下的redis-trib.rb文件。 3.10 将该ruby工具(redis-trib.rb)复制到redis-cluster目录下指令如下:
cp redis-trib.rb /usr/local/redis-cluster然后使用该脚本文件搭建集群指令如下:
./redis-trib.rb create --replicas 1 47.106.219.251:7001 47.106.219.251:7002 47.106.219.251:7003 47.106.219.251:7004 47.106.219.251:7005 47.106.219.251:7006注意:此处大家应该根据自己的服务器ip输入对应的ip地址!
中途有个地方需要手动输入yes即可 至此Redi集群搭建成功!大家注意最后一段文字显示了每个节点所分配的slots(哈希槽)这里总共6个节点其中3个是从节点所以3个主节点分别映射了0-5460、5461-10922、10933-16383solts。
3.11 最后连接集群节点连接任意一个即可:
redis01/redis-cli -p 7001 -c注意:一定要加上-c不然节点之间是无法自动跳转的!如下图可以看到存储的数据(key-value)是均匀分配到不同的节点的:
四、结语 呼~~~长舒一口气…终于搭建好了Redis集群。 整个过程其实挺简单本篇主要正对入门级别的小伙伴插入了很多图片所以显得冗长希望大家多多理解如果不当之处还望及时指正~
最后加上两条redis集群基本命令: 1.查看当前集群信息
cluster info2.查看集群里有多少个节点
cluster nodes相关推荐:redis数据库教程
以上就是redis集群搭建新手教程的详细内容!
来源:php中文网