redis集群搭建(三主三从)
前情须知:
redis-cli 是自带的连接redis的命令行
在命令行中输入 redis-cli -h serverIP - p 端口号 - a 密码
把redis的几个bin命令加入到环境变量,就可以无视目录了
vim /etc/profile
export PATH=$PATH:/usr/local/bin 跟路径
环境准备
-
服务器准备
-
192.168.200.89
-
192.168.200.28
-
192.168.200.90
-
-
下载压缩包
wget http://download.redis.io/releases/redis-7.4.0.tar.gz
redis5版本之前需要装ruby的依赖
我这里下载到了/usr/local/
安装配置
- 解压
tar -zxvf redis-7.4.0.tar.gz
- 安装
cd redis-7.4.0
make PREFIX=/usr/local/redis1-6310 install
- prefix要大写,如果执行后,没有redis1-6310文件夹 删除usr/local/bin有关的redis二进制文件重新执行
- 编辑redis.conf文件
在解压包里面拿走redis.conf 进行编辑
vim redis.conf
修改下面这些
bind 0.0.0.0
port 6310
protected-mode no
daemonize yes
dbfilename dump-6310.rdb
pidfile /var/run/redis_6310.pid
masterauth admin@123
requirepass admin@123
cluster-enabled yes
cluster-config-file nodes-6310.conf
cluster-node-timeout 15000
cluster-require-full-coverage no
可以通过xftp或者scp(远程拷贝)把这个文件放到三个服务器的redis1-6310文件夹中
scp -r redis.conf root@192.168.200.28:/root/redis_cluster/redis1-6310/
scp -r redis.conf root@192.168.200.90:/root/redis_cluster/redis1-6310/
scp -r是递归 跟同级文件 跟user@IP:/绝对路径
-
分别启动redis
在
redis1-6310
目录下执行bin/redis-server redis.conf
ps -ef|grep redis
检查是否启动
- 创建集群
bin/redis-cli --cluster create --cluster-replicas 0 -a admin@123 192.168.200.28:6310 192.168.200.90:6310 192.168.200.89:6310
- 如果报错连接失败
- 检查防火墙
- conf文件有问题
- 连接客户端查看
bin/redis-cli -c -p 6310
auth admin@123 密码认证
cluster nodes 查看集群节点
- 安装从节点
基本上和上面一样,就是在每个服务器各自在安装一个redis,然后换个port
- 切到解压的包目录下,执行
make PREFIX=/usr/local/redis2-6310 install
- 改
redis.conf
的port为6311,放到每个服务器的redis2-6310
目录
- 启动
redis
在redis2-6311
目录下执行bin/redis-server redis.conf
- 创建从节点加入集群
连接客户端,查看主节点ID和ip
bin/redis-cli -c -p 6310 //不管是哪台服务器都可以,用 redis-cli
cluster nodes //查看主节点id
记录好 每个服务器的 masterID和ip
bin/redis-cli --cluster add-node 192.168.200.28:6311 192.168.200.28:6310 --cluster-slave --cluster-master-id c7a842d10a9ead17ec2a3f0f0ff4483ad55e4ba6 -a admin@123
//c7a842d10a9ead17ec2a3f0f0ff4483ad55e4ba6 主节点ID
每台服务器都执行上述命令,
最后检查一下,连上客户端
cluster nodes 查看一下节点信息是不是变成了三主三从