48小时系统班试听入口

Linux实战技术—Redis集群搭建

发布作者:新盟教育 发布日期:2022-08-01 浏览人数:1241人

Linux实战教程合集


一. 配置后台启动


① 下载redis压缩包,然后解压压缩文件;

② 进入到解压缩后的redis文件目录(此时可以看到Makefile文件),编译redis源文件;

③ 把编译好的redis源文件安装到/usr/local/redis目录下,如果/local目录下没有redis目录,会自动新建redis目录;

④ 进入/usr/local/redis/bin目录,直接./redis-server启动redis(此时为前端启动redis);

⑤ 将redis启动方式改为后端启动,具体做法:把解压缩的redis文件下的redis.conf文件复制到/usr/local/redis/bin目录下,然后修改该redis.conf文件->daemonize:no 改为daemonize:yse;

⑥ 在/bin目录下通过./redis-server 启动服务 ./redis-cli启动客户端。


二. redis集群搭建需要的环境


1、Redis集群至少需要3个节点,因为投票容错机制要求超过半数节点认为某个节点挂了,所以2个节点无法构成集群。


2、要保证集群的高可用,需要每个节点都有从节点,也就是备份节点,所以redis集群至少需要6台服务器。


因为没有那么多服务器,也启动不了那么多虚拟机,所以在这么搭建的是伪分布式集群,既一台服务器虚拟机运行6个redis实例,端口表一次修改为7001-7006,当然实际生产环境当中redis集群搭建跟这里一样。


三.集群搭建


具体步骤如下(注意要关闭防火墙,关闭防火墙参考:)blog.csdn.net/wxsyj/art


1、在redis安装父目录下 usr/local目录下新建一个空目录redis-cluster目录,用于存放集群节点。



2、把redis目录下的bin目录下的所有文件复制到/usr/local/redis-cluster/redis01目录下,不用担心这里没有redis01目录,会自动创建的。


操作命令如下(注意当前所在路径):

cp -r redis/bin/ redis-cluster/redis01



3、删除redis01目录下的快照文件dump.rdb,并且修改该目录下的redis.cnf文件。


具体修改两处地方:一是端口号修改为7001,二是开启集群创建模式,打开注释即可。分别如下图所示:


  • 删除dump.rdb文件:



  • 修改端口号为7001,默认是6379:



  • 将cluster-enabled yes 的注释打开:



4、将redis-cluster/redis01文件复制5份到redis-cluster目录下(redis02-redis06),创建6个redis实例,模拟Redis集群的6个节点。


然后将其余5个文件下的redis.conf里面的端口号分别修改为7002-7006。分别如下图所示:


  • 创建redis02-06目录:



  • 分别修改redis.conf文件端口号为7002-7006:



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


6、创建好启动脚本文件之后,需要修改该脚本的权限,使之能够执行。


指令如下:

chmod +x start-all.sh



7、执行start-all.sh脚本,启动6个redis节点。



注意:如果启动不起来,就单个进入redis01-redis06 通过刷新redis.conf方式启动redis ./redis-server redis.conf。


8、至此6个redis节点启动成功,接下来正式开启搭建集群,以上都是准备条件。


要搭建集群的话,需要使用一个工具(脚本文件),这个工具在redis解压文件的源代码里。因为这个工具是一个ruby脚本文件,所以这个工具的运行需要ruby的运行环境,就相当于java语言的运行需要在jvm上。所以需要安装ruby。


9、把ruby相关的包安装到服务器,我这里用的是redis-3.0.0.gem,大家需要注意的是:redis的版本和ruby包的版本最好保持一致。


  • 将Ruby包安装到服务器:需要先下载再安装,如图:



  • 路径最好跟redis-cluster在相同目录下:



  • 安装命令如下:

gem install redis-3.0.0.gem



9、上一步中已经把ruby工具所需要的运行环境和ruby包安装好了,接下来需要把这个ruby脚本工具复制到usr/local/redis-cluster目录下。


那么这个ruby脚本工具在哪里呢?之前提到过,在redis解压文件的源代码里,即redis/src目录下的redis-trib.rb文件。旧版本的redis没有,需要下载:


pan.baidu.com/s/1nHmmlX
提取码:ba5m


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

47.106.219.251:这里的ip是我本人的,需要把你的ip手动写上去



注意:如果这一步发生错误,需要你去每个节点的redis.conf中修改三个地方,注释掉,#bind 127.0.0.1 yes修改为no protected-mode no 把cluster-enabled yes的注释去掉。


11、中途有个地方需要手动输入yes即可。



至此,Redi集群搭建成功!大家注意最后一段文字,显示了每个节点所分配的slots(哈希槽),这里总共6个节点,其中3个是从节点,所以3个主节点分别映射了0-5460、5461-10922、10933-16383solts。


最后连接集群节点,连接任意一个即可:

redis01/redis-cli -p 7001 -c


注意:一定要加上-c,不然节点之间是无法自动跳转的!如下图可以看到,存储的数据(key-value)是均匀分配到不同的节点的:



最后,加上两条redis集群基本命令:


1.查看当前集群信息:

cluster info


2.查看集群里有多少个节点:

cluster nodes





推荐阅读

>>>新手必备-Linux入门之云计算是什么

>>>红帽认证入门-Linux系统介绍及企业版本选型

>>>新手必备-Linux系统安装配置+Xshell远程连接

>>>Linux常用命令行合集之绝对路径和相对路径

>>>软连接与硬连接



运维界升职加薪必备的云计算技术,你学了吗?

学完高级运维云计算课程之后,你可以:

  • 跨越90%企业的招聘硬门槛

  • 增加70%就业机会

  • 拿下BAT全国TOP100大厂敲门砖

  • 体系化得到运维技术硬实力

  • 技术大佬年薪可达30w+