<返回更多

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

2020-08-01    
加入收藏

转载出处:享学课堂online

作者:提灯

本次工作最大的坑就是:各种过时的教程和错误教程留下的新坑 ~~坑中打滚实录~~

本文只搭建最简单的集群

>环境: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安装位置的同级目录,创建一个个对应管理文件夹,文件名是无所谓的。

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

 

这个redis-5.0.7就是我的安装文件,切记这个文件中所有的文件,均不需要更改 !!! 我这次用的端口7001-7006,所以就建了6个对应的文件夹你看我起名字多随意 接着我们就去直接从redis安装目录下的redis.conf文件给复制过来,进行更改

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

 

我这文件夹中只有一个对应的配置文件,我看的一些教程中有说复制整个安装目录的就歇歇吧,接着我们修改这个文件即可。

port 6379 #端口

cluster-enabled yes #启用集群模式

cluster-node-timeout 5000 #超时时间

Appendonly yes # 是否启用aof

daemonize yes #后台运行

protected-mode no #非保护模式

cluster-config-file nodes.conf # redis启动自己创建

pidfile /var/run/redis_6379.pid

bind 0.0.0.0 #可读取地址 0.0.0.0代表都能读取

这里说明下,部分配置在配置文件有加上#号,就去掉,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 #安装目录下redis-server的路径

/usr/local/src/redis/7001/redis.conf #配置文件中的redis.conf路径

首先分别启动7001,7002,7003这3个实例

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

 

接着我们运行:

redis-cli--cluster create192.168.163.101:7001192.168.163.101:7002192.168.163.101:7003

这个就是设置这3个端口,创建集群主节点的操作,如果这时候,你报错说什么连不上这3个端口,就去上文看我写的bind的配置。

如果再次出现[ERR] Node 192.168.163.101:6379 is not configured as a cluster node.说明我上面写的集群配置你还是no

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

 

这里注意一定要写yes!!! 只写个y或者写什么鬼东西的,出了问题,概不负责。

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

 

查询集群状态(任意一个节点均可查询):

redis-cli--cluster check192.168.163.101:7001--cluster-search-multiple-owners

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

 

这样子表示3个主节点均已开启,都是0个从节点是正常的,因为我都没配嘛。

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

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

redis-cli--cluster add-node#从节点# #主节点# --cluster-slave

redis-cli--cluster add-node192.168.163.101:7004192.168.163.101:7001--cluster-slave

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

 

上一步没错,这步也大概率错不了。 增加时:会平均的给7001.7002.7003分配从节点

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

 

所有的节点都出现1个子节点,说明配置成功了,

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

以下是补充

5.0集群部署和4.0的区别

参考: https://www.cnblogs.com/zhoujinyi/p/11606935.html

不知道自己版本的可以先在liunx下用:redis-cli --version 或 redis-cli -v 进行查询

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

 

如果自己的版本是5.0以上本文适合你,如果你用的还是4.0我就无能为力了

有关于集群的改动,其实就一条:

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

 

如果你跟我一样,找教程时候,发现这个教程要装除了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,重新来一遍吧

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>