linux环境下的redis6.2.6集群配置 高版本 超详细 2022年必看

这边是aka阿聪的装机日记!今天记录一个redis6.02版本的集群搭建。

前期准备

系统环境 CentOs 8
redis安装包 redis-6.2.6.tar.gz
(有最新的肯定要用最新的!)

Redis基础安装

  1. 使用SFTP工具传输压缩包[redis-6.2.6.tar.gz]至linux服务器的 /home/data 目录下

这边习惯用/home/data文件夹作为一些临时安装包的存放区域,SFTP工具推荐开源免费的FileZilla
这边也可以使用以下方式直接在linux服务器上下载压缩包。

 wget https://download.redis.io/releases/redis-6.2.6.tar.gz
  1. 安装redis
mkdir /usr/local/redis

创建一个文件用来存放redis程序,/usr/loacl 也是官方文档所推荐的方法

cd /home/data
tar -zxvf redis-6.2.6.tar.gz -C /usr/local/redis

解压文件

cd /usr/local/redis/redis-6.2.6
make

进入redis 的解压文件之后,直接输入make安装redis,6.2.6新版本就是简单方便
如果你的linux系统没有安装gcc的话输入make会报错。。不会吧不会吧,到现在还有人linux不自带gcc吗?这里请百度linux
的gcc安装

  1. 验证redis的安装

    确认当前目录在 /usr/local/redis/redis-6.2.6 中,输入一些启动指令:

./src/redis-server redis.conf 

出现以下打印,便表示安装成功!

在这里插入图片描述

这个不会有人不知道吧!不会吧!不会吧!
接下来关闭Redis,我们进入下一步!集群的安装~

键盘按 ctrl + C 关闭Redis

redis集群配置

为了区分我们的redis集群和redis非集群环境,我们需要额外创建一个文件,也便于我们后续的管理。

mkdir /usr/local/redis_cluster

没错,又出现了/usr/local,以后大家会发现,无论什么东西大家都喜欢塞在这里!
之后我们需要为我们集群的六个redis节点创建相应的文件夹。(别问为什么是六个,三主三从,没有六个节点你起不来)
并且使用每个节点对应的端口号来作为文件名

cd /usr/local/redis_cluster
mkdir -p 7001/data 7002/data 7003/data 7004/data 7005/data 7006/data

接下来创建bin文件,便于关闭操作我们的redis集群节点 主要用来放我们redis的可执行文件

mkdir bin
cd /usr/local/redis/redis-6.2.6/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-trib.rb /usr/local/redis_cluster/bin

可执行文件拷贝完毕之后我们就需要拷贝每个节点的配置文件了,先拷贝一个,修改完,再把改完的拷贝,到别的里

cp /usr/local/redis/redis-6.2.6/redis.conf /usr/local/redis_cluster/7001

重点修改以下配置:

注意:注释掉ip这个配置

# 每个节点的端口号
port 7001
# 是否是后台运行
daemonize yes
# 注释掉IP这一行
# bind XXX.XXX.XXX.XXX 
# 数据文件存放位置,刚刚创建的data文件用上了
dir /usr/local/redis_cluster/7001/data/
# 防止启动多个进程副本的pid文件,主要文件名要与端口号对应
pidfile /var/run/redis_7001.pid
# 集群模式配置 cluster-config-file要与port对应
cluster-enabled yes
cluster-config-file nodes7001.conf
cluster-node-timeout 15000
# 开启AOF模式
appendonly yes
# 为了可以远程链接,关闭保护模式
protected-mode no

修改完成之后将7001的配置文件,拷贝到文件7002-7006的文件下面,并且替换里面内容端口。

cp -rf /usr/local/redis_cluster/7001/redis.conf /usr/local/redis_cluster/7002
cp -rf /usr/local/redis_cluster/7001/redis.conf /usr/local/redis_cluster/7003
cp -rf /usr/local/redis_cluster/7001/redis.conf /usr/local/redis_cluster/7004
cp -rf /usr/local/redis_cluster/7001/redis.conf /usr/local/redis_cluster/7005
cp -rf /usr/local/redis_cluster/7001/redis.conf /usr/local/redis_cluster/7006

这里可以使用vim编辑器的全文替换功能:

vim /usr/local/redis_cluster/7002/redis.conf
:%s/7001/7002/g

vim /usr/local/redis_cluster/7003/redis.conf
:%s/7001/7003/g

vim /usr/local/redis_cluster/7004/redis.conf
:%s/7001/7004/g

vim /usr/local/redis_cluster/7005/redis.conf
:%s/7001/7005/g

vim /usr/local/redis_cluster/7006/redis.conf
:%s/7001/7006/g

总共替换的地方应该有四处,担心的同学可以替换为检查一下~
这里有个要注意的点是:

redis的集群配置的前期是不能设置密码的!

不然会有很多奇怪的小问题,最好是等集群全部配置完了之后再去设置密码

接下来启动我们redis节点

cd /usr/local/redis_cluster
bin/redis-server 7001/redis.conf
bin/redis-server 7002/redis.conf
bin/redis-server 7003/redis.conf
bin/redis-server 7004/redis.conf
bin/redis-server 7005/redis.conf
bin/redis-server 7006/redis.conf

接下来我们检查你的redis启动情况:
输入进程查看语句:

#过滤一下只显示redis的
ps -ef | grep redis

注意:如果你的redis在云主机,那你得时刻保护你的redis端口号和ip
如果你的redis在云主机,那你得时刻保护你的redis端口号和ip现在你的节点已经安装完成并且成功启动了,如果是老版本的redis,你还有非常漫长的一步要走~
可是非常幸运的是今天我们安装的是6.2.6版本,它可以帮助我们拜托恶心的ruby安装~(老版本的redis集群由ruby管理)

而现在我要做的只有调用我们可爱的redis-cli来配置集群~

./bin/redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006

一行代码解君忧

在这里插入图片描述现在我们的集群就算是配置完成了~

接下来我们该给集群配置密码了~

redis集群密码配置

如果兄弟们在别的地方看到,他们要求你们去改配置文件,然后重启redis,那就恭喜你,上当受骗了~
redis给我们提供了一个非常便捷的配置修改方式

cd /usr/local/redis_cluster
./bin/redis-cli -c -h 127.0.0.1 -p 7001
# 执行以下命令 当然你的密码也可能不是123456
config set masterauth 123456
config set requirepass 123456
# 上面的密码改完就会立刻生效,所以需要你马上输入一次密码
auth  123456
config rewrite

然后给7002-7006的另外几台机子也改一下~

批量启动/批量关闭脚本

最近又多感觉手动去关闭,再启动太麻烦了,就写了个批量处理的sh脚本,分别两个文件。

start_redis.sh

#!/bin/sh

redis_nodes=(
	"/usr/local/redis_cluster/7001"
	"/usr/local/redis_cluster/7002"
	"/usr/local/redis_cluster/7003"
	"/usr/local/redis_cluster/7004"
	"/usr/local/redis_cluster/7005"
	"/usr/local/redis_cluster/7006"
)

#遍历redis节点
for node in "${redis_nodes[@]}"; do
    #port=$(echo "$node" | cut -d "/" -f 5)
    # 输出一下打印
    #echo "$node"
    echo "正在启动 Redis节点: $port"

    cd "${node}"
    /usr/local/redis_cluster/bin/redis-server redis.conf 
done

wait

echo "redis集群启动成功"

shutdown_redis.sh

#!/bin/sh

redis_nodes=(
	"/usr/local/redis_cluster/7001"
	"/usr/local/redis_cluster/7002"
	"/usr/local/redis_cluster/7003"
	"/usr/local/redis_cluster/7004"
	"/usr/local/redis_cluster/7005"
	"/usr/local/redis_cluster/7006"
)

#遍历redis节点
for node in "${redis_nodes[@]}"; do
    port=$(echo "$node" | cut -d "/" -f 5)
    # 输出一下打印
    #echo "$node"
    echo "正在关闭 Redis节点: $port"

    # 使用 redis-cli 连接到 Redis 节点并发送重启命令 							 123456这里是你的redis密码
    /usr/local/redis_cluster/redis-cli -h 127.0.0.1 -p "$port" -a 123456 shutdown save &
done

wait

echo "redis集群 关闭成功"

常见疑难杂症

这边还有个常见问题,我们在安装完成之后,我们RDM连接的时候会出现重定向地址错误的问题,
一般是需要配置以下配置

# 你的ip地址
cluster-announce-ip XXX.XXX.XXX.XXX
# 你的端口
cluster-announce-port 700X
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值