redis5.0.7版本集群liunx部署简易流程

本次工作最大的坑就是:各种过时的教程和错误教程留下的新坑 坑中打滚实录
本文只搭建最简单的集群
下载及搭建大致步骤:轻松搭建Redis 5.0集群环境

环境:redis版本:5.7
操作系统:linux虚拟机
虚拟机软件:VMware Workstation 10.0.3
本次ip地址配置为:192.168.163.101

第一关:[ERR] Node 192.168.163.101:6379 is not configured as a cluster node.

这个报错是说您想搞的节点未配置为群集节点,我相信很多人百度过这个,百度上的解释真的是五花八门,什么复制redis整个文件夹到xxx目录下/修改xxxxx配置啊/装trib插件。
简单来说你的问题可能是:

启动的还是默认的:redis启动方式 
或
启动的配置文件中没有配置对应的参数

如何解决呢:
1.我们先来明确一个叫 redis-server 的启动文件,这个文件是对redis加载对应的配置文件来启动redis,具体坐标在redis安装文件中的src文件夹中。
2.对应的配置文件:redis.conf,具体怎么配置属性下文讲,位置就在redis文件夹中。
3.写到这里你也大概知道了吧,我们需要用 redis-server 去启动你配置好的 redis.conf 文件。

第二关:配置redis.conf文件 建议用可视化工具

因为每启用一个节点就要配置一个对应的redis.conf文件,所以为了我们可以更好的管理我们的配置文件,所以,我们可以在redis安装位置的同级目录,创建一个个对应管理文件夹,文件名是无所谓的。
同级目录
这个redis-5.0.7就是我的安装文件,切记这个文件中所有的文件,均不需要更改 !!!
我这次用的端口7001-7006,所以就建了6个对应的文件夹你看我起名字多随意
接着我们就去直接从redis安装目录下的redis.conf文件给复制过来,进行更改
7001文件中
看到没,我这文件夹中只有一个对应的配置文件,我看的一些教程中有说复制整个安装目录的就歇歇吧,接着我们修改这个文件即可。

  1. port 6379 #端口
  2. cluster-enabled yes #启用集群模式
  3. cluster-node-timeout 5000 #超时时间
  4. appendonly yes # 是否启用aof
  5. daemonize yes #后台运行
  6. protected-mode no #非保护模式
  7. cluster-config-file nodes.conf # redis启动自己创建
  8. pidfile /var/run/redis_6379.pid
  9. bind 0.0.0.0 #可读取地址 0.0.0.0代表都能读取
  10. 这里说明下,部分配置在配置文件有加上#号,就去掉,bind这个配置有3个,前两个都是有#注释了,只有一个默认是127.0.0.1是没有注释的,改这个就好了。

这里着重说下bind这个选项,如果你的公司没有特殊要求,建议参数改为 0.0.0.0 ,不然会出现很多奇奇怪怪的错误,而且是那种解决一种另外一种又出现的错误

这里我把我的7001的配置直接发上来,如果搞不定的话,或者是我漏写了某个要点,我把我配置好的文件拿出来,特地实验过新的虚拟机装redis后redis-server直接跑没问题。

链接:https://pan.baidu.com/s/1MbRin1VjNsBSnYjw8N67eA
提取码:8pt6

我们将这个redis.conf文件,分别复制到对应的文件目录中,接着我们直接将文件中所有的7001改成对应的700x,配置就完成了,简不简单啊ヽ( ̄▽ ̄)ノ

第三关:3个实例->3个主节点

/usr/local/src/redis/redis-5.0.7/src/redis-server /usr/local/src/redis/7001/redis.conf
#安装目录下redis-server的路径#                       #配置文件中的redis.conf路径#

首先分别启动7001,7002,7003这3个实例
启动3个实例 作为主节点
接着我们运行:

redis-cli --cluster create 192.168.163.101:7001 192.168.163.101:7002 192.168.163.101:7003

这个就是设置这3个端口,创建集群主节点的操作,如果这时候,你报错说什么连不上这3个端口,就去上文看我写的bind的配置。
如果再次出现[ERR] Node 192.168.163.101:6379 is not configured as a cluster node.说明我上面写的集群配置你还是no
要是yes啊
这里注意一定要写yes!!!
只写个y或者写什么鬼东西的,出了问题,概不负责。
成功的样子
查询集群状态(任意一个节点均可查询):

redis-cli --cluster check 192.168.163.101:7001 --cluster-search-multiple-owners

在这里插入图片描述
这样子表示3个主节点均已开启,都是0个从节点是正常的,因为我都没配嘛。

第四关:3个实例->3个从节点

这一步应该都懂怎么创建实例了吧,创建过程就跳过,↓添加从节点代码

redis-cli --cluster add-node #从节点#  #主节点# --cluster-slave 
redis-cli --cluster add-node 192.168.163.101:7004 192.168.163.101:7001 --cluster-slave 

在这里插入图片描述
上一步没错,这步也大概率错不了。
增加时:会平均的给7001.7002.7003分配从节点
在这里插入图片描述
所有的节点都出现1个子节点,说明配置成功了,

恭喜了各位,到这一步,7001.7002.7003.7004.7005.7006 已经是个完整的集群了

################################### 以下是补充 ###################################

5.0集群部署和4.0的区别

参考:Redis 5.0 redis-cli --cluster help说明

不知道自己版本的可以先在liunx下用:redis-cli --version 或 redis-cli -v 进行查询
redis版本查询
如果自己的版本是5.0以上本文适合你,如果你用的还是4.0我就无能为力了

有关于集群的改动,其实就一条:
在这里插入图片描述
如果你跟我一样,找教程时候,发现这个教程要装除了redis之外的另外一个trib脚本,就说明他是4.0版本的软件,当然操作命令行还是一样的,但我就没成功顺着那些教程走起来…(ŎдŎ;)

Java中测试分片的类不能测试集群!

报错:
Exception in thread "main" redis.clients.jedis.exceptions.JedisMovedDataException: MOVED 7798 192.168.163.101:7002
或
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect

启动路径要写清楚!

错误演示:
[root@localhost ~]# /usr/local/src/redis/redis-5.0.7/src/redis-server /usr/local/redis-cluster/redis02/redis.conf
错误:
1385:C 01 Mar 2020 14:24:20.420 # Fatal error, can't open config file '/usr/local/redis-cluster/redis02/redis.conf'

报错:(error) CLUSTERDOWN Hash slot not served :

在liunx下,可以进入节点,但set时候报这个错的话,你说你是不是配置主节点的是时候没有老老实实输入yes,重新来一遍吧

后记:

我独自折腾了好久,看了太多绕弯的教程,然后还出现各种报错,还出现创建redis只能创建一个这种神仙bug,就是瞎改配置文件出的,经常重新克隆redis,原本以为教程会更长些,结果居然没多长就写完了,最后我拿着项目一跑没报错,就也不知道写啥了,就写几个记得的坑。
如果配置文档过期了,还是没了,留言就好,我看到就来补。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值