一、准备环境
搭建集群可以准备多台服务器,也可以准备一台服务器搭建伪集群,原理都是一样的。
这篇文章是写的是两台centos服务器搭建的集群,redis版本是6.0.3
192.168.206.131 192.168.206.132
redis-7001 redis-7001
redis-7002 redis-7002
redis-7003 redis-7003
二、搭建redis
具体安装redis可以通过我的这篇文章查看,安装路径为:/usr/redis
1)准备集群环境
注意:两台服务器操作都是一模一样的
1、创建集群目录
2、将下载好的redis复制到集群目录,并修改redis名称
3、创建日志文件夹日志文件夹
#创建集群目录
mdkir cluster
#复制redis
cp -r redis-6.0.3 /usr/redis/cluster/
cd cluster/
#修改名称
mv redis-6.0.3/ redis-7001
#再次复制两个redis
cp -r redis-7001/ redis-7002
cp -r redis-7001/ redis-7003
#创建日志文件夹和配置文件夹
mkdir redis-log
mkdir redis-data
2)修改redis.conf文件
修改redis文件夹下面的redis.conf文件,比如redis-7001下面的redis.conf文件
注意点:如果你跟我一样,复制了三个redis,那么里面的内容一定要和你定义端口的内容一样,最好是将默认端口给修改掉
#端口修改,三个redis分别修改成7001,7002,7003
port 7001
#修改密码
requirepass 123456
#默认ip为127.0.0.1 修改成其他节点机器可访问的ip 否则创建集群时无法访问对应的ip,无法创建集群
bind 192.168.206.131 192.168.206.132 127.0.0.1
#redis后台运行
daemonize yes
#开启集群
cluster-enabled yes
#集群文件配置,首次启动会自动生成,三个redis配置必须不一样
cluster-config-file nodes_7001.conf
#请求超时 默认15秒,可自行设置
cluster-node-timeout 15000
#开启aof
appendonly yes
#日志文件路径,三个redis的log文件名称必须不一样7001.log 7002.log
logfile "/usr/redis/cluster/redis-log/redis_7001.log"
#集群配置文件存放路径
dir "/usr/redis/cluster/redis-data"
3)开放redis端口
将redis端口开放
#开放端口
firewall-cmd --zone=public --add-port=7001/tcp --permanent
firewall-cmd --zone=public --add-port=7002/tcp --permanent
firewall-cmd --zone=public --add-port=7003/tcp --permanent
#配置立即生效
firewall-cmd --reload
4)编写启动脚本文件
嫌弃每次都要启动多个redis太麻烦,写一个启动脚本,这样更方便。
#创建启动脚本
vim redis-start.sh
#内容
cd /usr/redis/cluster/redis-7001/src
./redis-server ../redis.conf
cd /usr/redis/cluster/redis-7002/src
./redis-server ../redis.conf
cd /usr/redis/cluster/redis-7003/src
./redis-server ../redis.conf
#授权
chmod +x redis-start.sh
#启动
sh redis-start.sh
#验证
ps -aux | grep redis
5)编写关闭脚本文件
有启动自然有关闭
#创建关闭脚本
vim redis-shutdown.sh
#内容 -a 123456指的是你的密码
cd /usr/redis/cluster/redis-7001/src
./redis-cli -p 7001 -a 123456 shutdown
cd /usr/redis/cluster/redis-7002/src
./redis-cli -p 7002 -a 123456 shutdown
cd /usr/redis/cluster/redis-7003/src
./redis-cli -p 7003 -a 123456 shutdown
#给脚本授权
chmod +x redis-shutdown.sh
6)开放集群总线端口
redis集群总线端口是10000+,比如redis1端口是7001,那么你还需要开放17001端口,不然就会失败
#开放redis总线端口
firewall-cmd --zone=public --add-port=17001/tcp --permanent
firewall-cmd --zone=public --add-port=17002/tcp --permanent
firewall-cmd --zone=public --add-port=17003/tcp --permanent
#配置立即生效
firewall-cmd --reload
三、创建集群
如果有多个服务器,多个服务器操作都是一样的,如果是单个服务器,也是可以实现的
-a后面123456是指密码,集群里面,密码必须要一致,如果没有密码,可以取出-a内容
redis-cli --cluster create 192.168.206.131:7001 192.168.206.131:7002 192.168.206.131:7003 192.168.206.132:7001 192.168.206.132:7002 192.168.206.132:7003 -a 123456 --cluster-replicas 1
执行完上面的命令符,中途输入yes就可以,这样就说明集群创建成功了。