这边是aka阿聪的装机日记!今天记录一个redis6.02版本的集群搭建。
系统环境 CentOs 8
redis安装包 redis-6.2.6.tar.gz
(有最新的肯定要用最新的!)
这边习惯用/home/data文件夹作为一些临时安装包的存放区域,SFTP工具推荐开源免费的FileZilla
这边也可以使用以下方式直接在linux服务器上下载压缩包。
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
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安装
验证redis的安装
确认当前目录在 /usr/local/redis/redis-6.2.6 中,输入一些启动指令:
./src/redis-server redis.conf
出现以下打印,便表示安装成功!
这个不会有人不知道吧!不会吧!不会吧!
接下来关闭Redis,我们进入下一步!集群的安装~
键盘按 ctrl + C 关闭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的集群配置的前期是不能设置密码的!
不然会有很多奇怪的小问题,最好是等集群全部配置完了之后再去设置密码
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,你还有非常漫长的一步要走~
可是非常幸运的是今天我们安装的是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给我们提供了一个非常便捷的配置修改方式
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的另外几台机子也改一下~
这边还有个常见问题,我们在安装完成之后,我们RDM连接的时候会出现重定向地址错误的问题,
一般是需要配置以下配置
# 你的ip地址
cluster-announce-ip XXX.XXX.XXX.XXX
# 你的端口
cluster-announce-port 700X