首页 > 数据库 >ubuntu16 redis5.0以前版本集群部署示例

ubuntu16 redis5.0以前版本集群部署示例

时间:2022-12-14 11:35:35浏览次数:59  
标签:14 示例 redis cd redis5.0 conf ubuntu16 ruby 4.0


简言

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

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

3. 如果您在参考本篇博客进行操作时遇到了其他未知问题,请参考笔者的这篇博客,centos版本的redis5.0以下集群搭建


系统:ubuntu 16.04 64位

架构

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

具体步骤

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

2. 在新建的目录redis-cluster-4.0.14 中创建一个文件夹 redis01,这个目录用来存放redis示例节点1的文件

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

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

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

    

ubuntu16 redis5.0以前版本集群部署示例_ruby

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

    

ubuntu16 redis5.0以前版本集群部署示例_redis_02

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

    

ubuntu16 redis5.0以前版本集群部署示例_数据库_03

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

ubuntu16 redis5.0以前版本集群部署示例_redis_04

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

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进程,如下图所示

ubuntu16 redis5.0以前版本集群部署示例_redis集群_05

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

10. 搭建集群需要ruby脚本,所以我们需要安装ruby,很简单。我们先运行命令 apt-get install ruby

ubuntu16 redis5.0以前版本集群部署示例_redis_06

gem 安装gem,安装成功后,运行命令 ruby -v,查看ruby的版本

11. 注意如果ruby版本过旧是无法部署redis集群的,比如ruby2.0.0还是2015年的版本,就没办法部署redis集群,如果您遇到了这样的版本,请按照笔者的这篇博客安装ruby,建议和笔者的ruby版本一致,这样不会出什么问题

12. 把redis-4.0.14/src/redis-trib.rb文件拷贝到我们的redis集群目录,即 /usr/local/redis-cluster-4.0.14目录下,现在目录结构如下图

ubuntu16 redis5.0以前版本集群部署示例_redis_07

13. 下载gem对redis的支持包,下载到本目录

ubuntu16 redis5.0以前版本集群部署示例_redis集群_08

14. 安装这个gem包,运行命令 gem install redis-4.1.3.gem,(笔者第一次执行时出现了一个警告,所以又执行了一次,哈哈)

ubuntu16 redis5.0以前版本集群部署示例_ruby_09

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

16. 创建集群,运行命令 ./redis-trib.rb create --replicas 1 192.168.130.113:8001 192.168.130.113:8002 192.168.130.113:8003 192.168.130.113:8004 192.168.130.113:8005 192.168.130.113:8006  中途有个询问,问你是不是满意这种自动分配;如果你不满意,输入no,它会退出,什么都不做

ubuntu16 redis5.0以前版本集群部署示例_redis_10

注意:若使用的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包的详细版本:

17 . 搭建成功,如下图所示(红框处有标出三个主redis和槽的分配,可以看到8001,8002,8003为主,8004,8005,8006是从)

 

ubuntu16 redis5.0以前版本集群部署示例_redis_11

标签:14,示例,redis,cd,redis5.0,conf,ubuntu16,ruby,4.0
From: https://blog.51cto.com/u_15912066/5936267

相关文章

  • Python爬虫采集搞笑段子示例
    对于爬虫的用处不同的人有不同的看法,对于我而言,他是一门技能也是一门艺术,只有掌握其中的原理,才能让你体会到真正的快乐。下文就是我用python爬虫爬取搞笑段子的实例可以一起......
  • 最新最全详细 在centos上使用 Minikube 安装 Kubernetes 教程并运行nginx服务以及go h
    最新最全详细在centos上使用Minikube安装Kubernetes教程,在安装完k8s单机集群后并运行一个nginx服务和一个go的httphelloserver服务本文已更新到Minikubev1.11.0......
  • 配置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......
  • ubuntu16.04 安装gcc8 g++8
    下载:sudoadd-apt-repositoryppa:ubuntu-toolchain-r/testsudoapt-getupdatesudoapt-getinstallgcc-8sudoapt-getinstallg++-8 配置:将gcc8,g++8作为默认选......
  • jquery .dataTables使用ajax数据源小示例
    <scripttype="text/javascript"language="javascript"src="./plugins/jquery/jquery-1.12.4.min.js"></script><scripttype="text/javascript"language="javascript......
  • Mybatisplus-Generator代码生成器-简单示例
    简单示例importcom.baomidou.mybatisplus.annotation.FieldFill;importcom.baomidou.mybatisplus.annotation.IdType;importcom.baomidou.mybatisplus.core.toolkit.......
  • Elasticsearch使用示例
    简单示例importcn.hutool.core.bean.BeanUtil;importcom.baomidou.mybatisplus.extension.service.impl.ServiceImpl;importcom.mxy.common.core.entity.SysEsData;......
  • Flink 1.10 SQL、HiveCatalog 与事件时间整合示例
    Flink1.10与1.9相比又是个创新版本,在我们感兴趣的很多方面都有改进,特别是FlinkSQL。本文用根据埋点日志计算PV、UV的简单示例来体验Flink1.10的两个重要新特性:一......