Redis5.0.x集群搭建

前言:

本文将介绍Redis5.0三主三从集群搭建以及集群配置。
在这里插入图片描述

一.资源配置(3主3从集群)

1.以下为生产环境下,集群搭建所需资源配置:

资源配置
cpu4核*6
内存16G*6
硬盘20G *6
linux版本CentOS 7.5 64bit

2.服务器分配:

linux服务器ip
110.39.77.41
210.39.77.42
310.39.77.43
410.39.77.44
510.39.77.45
610.39.77.46

3.redis和linux版本:

名称版本
redis5.0.8
centos7.5 ( 64bit )

二.下载

分别在六台服务器执行:

安装wget:

yum install wget

下载redis到/usr/local路径下:

cd  /usr/local && wget http://download.redis.io/releases/redis-5.0.8.tar.gz

三.编译

在所有服务器上,执行下述命令:

解压:

tar -zxvf redis-5.0.8.tar.gz 

安装gcc:

yum install gcc

编译Redis

cd redis-5.0.8 
make 

编译时出现错误:

cd src && make all
make[1]: Entering directory `/home/liuchaofan/redis-3.0.7/src'
    CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/home/liuchaofan/redis-3.0.7/src'
make: *** [all] Error 2

若出现上述报错,执行命令:

make CFLAGS="-march=x86-64"

编译时另一个报错:

zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory

在这里插入图片描述
若出现上述报错,则执行命令:

make MALLOC=libc

编译成功,如下图:
在这里插入图片描述

四.安装

在所有服务器上,,执行安装命令:

cd redis-5.0.8 

make install

安装成功后,redis-5.0.8的src目录下,会出现redis-server和redis-cli:
在这里插入图片描述
redis单机启动测试,测试redis单机编译和安装是否正确:

src/redis-server redis.conf

出现启动成功,则说明安装成功。

测试完成后,要杀死上面启动的redis进程,执行命令:

kill -9  $(ps aux | grep redis | grep -v grep | awk '{print $2}')
或:
kill -9  $(ps aux | grep redis | grep -v grep | awk '{print $2}')  && ps -ef|grep redis

四.集群搭建

1.重命名redis-5.0.8文件夹名为redis

将文件夹重命名为redis,方便以后敲命令操作,也更美观一些。

mv redis-5.0.8 ./redis

2.修改每个服务器的redis.conf配置文件

以下是需要修改的地方摘要,根据自己情况,每个服务器都要配置一遍:

# 开启一个数据db0,默认是16个,我们只开启一个即可
databases 1

# 集群需要把这个参数注释掉,不需要再绑定ip,在创建集群时,指定一次ip即可
# bind 127.0.0.1 

# 记得创建data目录
dir /usr/local/redis/data

# 待验证是否有用
pidfile /usr/local/redis/data/redis_6379.pid

#集群节点信息文件名称(将生成在上面dir配置的路径下)
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
cluster-enabled yes

# 关闭保护模式(yes 表示只允许本地连接,别的IP将无法连接)
protected-mode no

# 开启守护线程,开启后可以后台运行
daemonize yes

# 开启AOF模式,no:代表RDB模式
appendonly yes

# 设置密码为123456
requirepass 123456

# 日志文件地址,记得创建logs目录
#logfile "/usr/local/redis/logs/redis.log"

3.创建redis数据存储和日志目录

将这两个目录挂载到指定位置,方便我们统一查看:

mkdir  /usr/local/redis/data

mkdir  /usr/local/redis/logs

注:如果上述路径配置出现错误,启动时会报错,如下:

Can't chdir to './usr/local/redis/data': No such file or directory

解决:
上述报错是,配置文件中,dir ./usr/local/redis/data路径最前面多了个“.”,删除即可。

4.创建集群

redis 5.x以上版本,可以通过redis-cli来创建集群,命令如下:

./src/redis-cli -a 123456 --cluster create  10.39.77.41:6379  10.39.77.42:6379  10.39.77.43:6379  10.39.77.44:6379  10.39.77.45:6379  10.39.77.46:6379  --cluster-replicas 1
若集群创建成功,则出现下图:

然后根据提示输入yes:几秒后,成功如下图。
在这里插入图片描述
若安装失败,则出现如果长时间一直输出…,则为失败。

上述命令参数含义:
  • 123456 redis密码
  • 10.39.77.41:6379 10.39.77.42:6379 10.39.77.43:6379 10.39.77.44:6379 10.39.77.45:6379 10.39.77.46:6379 集群真实ip和端口号
  • -cluster-replicas 1 副本保留1份

五.客户端连接集群

在任意一台服务器,执行下述命令,都可以连接成功:

src/redis-cli -h 10.39.77.41 -p 6379 -a 123456 -c

连接成功后,执行下述几个命令,可以测试Redis集群是否创建成功:

# 查看集群主从节点信息
cluster nodes

# 查看集群状态
cluster info

# 查看存在的所有键值对
keys * 
注:使用RDM客户端连接集群时,出现两个主节点无法连接现象:

通过redis-cli可以任意连接,但RDM客户端却出现两个节点连接不上,删除所有节点的usr/local/redis/data目录下的内容,将集群节点杀死,并将重新建立集群,然后重启了电脑,RDM就能连接了。

总结:

redis集群搭建过程中,保证与本文redis版本和centos版本一直的情况下,按照上述集群搭建步骤顺序,基本不会出现大问题,本文也保留了所有搭建过程中遇到的问题以及解决方案,希望可以帮你快速的搭建生产环境下的redis3主3从集群。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值