首页 > 数据库 >centos7 redis5.0以前版本 集群部署示例 - 第一篇

centos7 redis5.0以前版本 集群部署示例 - 第一篇

时间:2022-12-14 11:35:46浏览次数:56  
标签:14 示例 redis cd centos7 redis5.0 conf ruby gem


简言

1. redis5.0版本以前的集群部署是使用ruby脚本完成的,ruby脚本的安装少略麻烦(主要原因是系统自动安装的版本太低,无法部署集群,必须手动安装)

2. redis5.0版本以后的集群部署集成到了create_cluster中(位置:redis根目录/utils/create-cluster/create-cluster),更简单,几条简单的命令即可部署一个简单版的集群,具体示例见笔者的这篇博客

 

示范(第一种情况,也就是redis5.0版本以前的)


原理:开启6个独立的redis服务器,然后使用ruby脚本把它们连接起来,ruby会自动帮我们分配好6个节点的主从关系

1. 在目录 /usr/local下新建一个文件夹 redis-cluster-4.0.14,该目录用来存放我们所有的redis节点示例

2.

3. 在新建的目录 redis01 中放入以下文件,如下图,注意这些文件原来的位置,这是笔者安装redis4.0.14的目录,大都是redis4.0.14编译出来的

    redis-benchmark        原位置:     /usr/local/redis/redis-4.0.14/src/

    redis-check-aof          原位置:      /usr/local/redis/redis-4.0.14/src/

    redis-check-rdb          原位置:      /usr/local/redis/redis-4.0.14/src/

    redis-cli                      原位置:      /usr/local/redis/redis-4.0.14/src/

    redis.conf                   原位置:      /usr/local/redis/redis-4.0.14/

    redis-server                原位置:      /usr/local/redis/redis-4.0.14/src

    redis-sentinel                  我们自建的软连接,即命令 ln -s redis-server redis-sentinel

     

centos7 redis5.0以前版本 集群部署示例 - 第一篇_ruby

4. 修改文件 redis01/redis.conf,修改redis.conf完毕后,记得保存。具体修改如下:

    4.1 绑定的IP地址,改为本机的局域网IP,bind属性,比如笔者的测试机器IP是 192.168.127.130,如下图

    

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis集群部署_02

    4.2 绑定的端口号,port属性, 默认是6379,改为8001,如下图

    

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis5.0以下版本部署_03

    4.3 打开集群模式,即cluster-enabled 属性设置为yes,如下图

    

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis集群部署_04

5. 把文件夹redis01目录,复制在同目录下,即redis-cluster-4.0.14目录下,分别命名redis02, redis03, redis04, redis05, redis06,这便是我们的6个redis节点,如下图

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis集群部署_05

6. 重复步骤4的修改,把里面的redis.conf文件里面的绑定端口依次改为8002,8003,8004,8005,8006

7. 启动这6个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 ..

8. 启动脚本bash start_all.sh,我们运行命令 ps axu | grep redis 查看下redis进程,如下图所示

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis_06

9. 至此我们开启来了6个redis节点

10. 搭建集群需要ruby脚本,所以我们需要安装ruby,不要使用系统自动安装,因为系统安装的ruby版本太低,无法部署redis集群。我们先运行命令 yum install gem 安装gem,安装成功后,运行命令 ruby -v,查看ruby的版本,会发现版本太旧了,如下图

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis5.0以下版本部署_07

11. 由于ruby2.0.0还是2015年的版本,无法部署redis集群​​ 安装ruby,建议和笔者的ruby版本一致,这样不会出什么问题

12.

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis_08

13. 从上面的地址 下载gem对redis的支持包,下载到本目录

14. 安装这个gem包,运行命令 gem install redis-4.1.3.gem

注意:可能报出这样的错误,如下图:

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis5.0以下版本部署_09

说明需要重新安装redis的zlib库,具体操作如下

1、cd ruby-2.6.5/ext/zlib目录,执行 ruby ./extconf.rb、make 、make install命令。

2、若make时报错(chmod +x Makefile):make: *** No rule to make target `/include/ruby.h', needed by `zlib.o'.  Stop.

3、更改Makefile文件, zlib.o: $(top_srcdir)/include/ruby.h  改成   zlib.o: ../../include/ruby.h;再重新make就可以成功了

15. 至此,所有的准备工作已经完成

16.

注意1:若使用的redis是5.0版本以上,则会报错,类似下面

WARNING: redis-trib.rb is not longer available!You should use redis-cli instead

意思是redis-trib.rb很快就不能再使用了,可以使用redis-clis来代替,所以笔者这里给出了redis, ruby, gem包的详细版本:

注意2:也有可能报出这样的错误,如下图

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis集群部署_10

这个时候说明ruby脚本还缺乏redis的组件,也就是刚才的 gem install redis-4.1.3.gem未执行成功,我们重新执行下即可,安装成功时会出现下面的提示,这样就是正常的

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis_11

17 . 搭建成功,如下图所示(红框处有标出命令和槽的分配)

centos7 redis5.0以前版本 集群部署示例 - 第一篇_redis_12

 

 

 

标签:14,示例,redis,cd,centos7,redis5.0,conf,ruby,gem
From: https://blog.51cto.com/u_15912066/5936265

相关文章

  • ubuntu16 redis5.0以前版本集群部署示例
    简言1.redis5.0版本以前集群的部署是使用ruby脚本完成的,ruby脚本的安装少略麻烦(主要原因是系统自动安装的版本太低,无法部署集群,必须手动安装)2.redis5.0版本以后把集群的部......
  • Python爬虫采集搞笑段子示例
    对于爬虫的用处不同的人有不同的看法,对于我而言,他是一门技能也是一门艺术,只有掌握其中的原理,才能让你体会到真正的快乐。下文就是我用python爬虫爬取搞笑段子的实例可以一起......
  • DELL服务器基于centos7安装OMSA
    DELL服务器基于centos7安装OMSA参考链接:https://www.cnblogs.com/sky-cheng/p/14951071.htmlhttps://www.dell.com/community/Systems-Management-General/Has-Centos7......
  • VMware安装Centos7超详细过程(图文)
    本篇文章主要介绍了VMware安装Centos7超详细过程(图文),具有一定的参考价值,感兴趣的小伙伴们可以参考一下1.软硬件准备软件:推荐使用VMwear,我用的是VMwear12镜像:CentOS7,如果......
  • Centos7 卸载自带的OpenJDK
    一、查询系统是否已经安装jdkrpm-qa|grepjava二、卸载已安装的jdkrpm-e--nodepsjava-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64rpm-e--nodepsjava-1.8.0-open......
  • 最新最全详细 在centos上使用 Minikube 安装 Kubernetes 教程并运行nginx服务以及go h
    最新最全详细在centos上使用Minikube安装Kubernetes教程,在安装完k8s单机集群后并运行一个nginx服务和一个go的httphelloserver服务本文已更新到Minikubev1.11.0......
  • centos7连接网络
    https://blog.csdn.net/jujudeyueyue/article/details/121358663?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167091800516800213055718%2522%252C%2522scm......
  • 配置BGP与IGP交互示例
    配置BGP和IGP的交互,可以丰富协议路由表。组网需求通信业务的发展,要求能够在广泛的区域实现互访,并且数据传输可靠,中断时间短,这就要求路由的传播区域广,收敛速度快。BGP可以......
  • 防抖节流简单示例
    1//节流在规定时间内只会执行一次,若重复点击,只有一次执行2//防抖在规定时间后执行一次,重复点击,重新开始计时3//----------------------------......
  • Springboot多数据源使用示例
    1、配置文件spring.datasource.url=jdbc:mysql://198.168.1.1:3306/user?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&rewriteBatchedStatements=true&t......