Redis 6.2.5 集群搭建
部署(最简版3主3从)
Redis5之后集成有Ruby,不需单独搭建Ruby
1.环境
Centos7.5 一台 + gcc编译环境
#gcc 编译环境,没有的话会编译报错
yum install gcc
2. 下载编译
$ wget https://download.redis.io/releases/redis-6.2.5.tar.gz
$ tar xzf redis-6.2.5.tar.gz -C /opt
$ cd /opt/redis-6.2.5
$ make MALLOC=libc
$ nohup src/redis-server & ###开启redis-server
3. 配置6个节点,并启动节点
$ mkdir /usr/local/redis-cluster
$ cd /usr/local/redis-cluster
$ mkdir 7000 7001 7002 7003 7004 7005
$ cp /opt/redis-6.2.5/src/redis-server ./
# copy redis.config
cp /opt/redis-6.2.5/redis.conf /usr/local/redis-cluster/7000
cp /opt/redis-6.2.5/redis.conf /usr/local/redis-cluster/7001
cp /opt/redis-6.2.5/redis.conf /usr/local/redis-cluster/7002
cp /opt/redis-6.2.5/redis.conf /usr/local/redis-cluster/7003
cp /opt/redis-6.2.5/redis.conf /usr/local/redis-cluster/7004
cp /opt/redis-6.2.5/redis.conf /usr/local/redis-cluster/7005
# 修改访问授权、端口、AOF开启、集群开启。以下仅示例一个
vim /usr/local/redis-cluster/7000/redis.conf ##6台分别修改
:set nu ##设置显示行号
bind 0.0.0.0 ## 任意地方访问,127.0.0.1 只能本机访问
port 7000 ##98行 修改端口号
appendonly yes ##1252行 no改为yes,开启AOF数据持久化,默认RDB
cluster-enabled yes ##1385行 去掉前面的 #
:wq ##退出
# 启动节点
$ cd /usr/local/redis-cluster/7000
../redis-server ./redis.conf & ## (其他几个相似启动)##在7000目录下会自动生成文件nodes.conf,同时有7000nodeID
$ cd ../7001
../redis-server redis.conf &
$ cd ../7002
../redis-server redis.conf &
$ cd ../7003
../redis-server redis.conf &
$ cd ../7004
../redis-server redis.conf &
$ cd ../7005
../redis-server redis.conf &
4. 创建集群
cd /opt/redis-6.2.5/
-- redis和服务在本地时可用,IP 127.0.0.1时,只能本地访问127.0.0.1
src/redis-cli --cluster create 127.0.0.1:7000 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 --cluster-replicas 1 -a [密码]
-- 跨服务器访问需要填局域网或者外网IP,需要切换IP的话参考 文末9
src/redis-cli --cluster create 192.168.2.128:7000 192.168.2.128:7001 192.168.2.128:7002 192.168.2.128:7003 192.168.2.128:7004 192.168.2.128:7005 --cluster-replicas 1 -a [密码]
ps -ef | grep redis
netstat -lnp | grep redis
5. 链接到任意节点
./redis-cli -c -p [端口] -h [IP]
6. 关闭集群
## 查询服务PID
ps -ef |grep redis
## 关闭服务
kill -9 21093 21667 22127 22839 23495 24351
也可执行以下命令来关闭redis进程
pkill -9 redis
7. 更换集群密码,注意masterauth 的更换
第一种:修改redis.conf 这种方式需要重新启动各节点
masterauth [密码] ## 484行
requirepass [密码] ## 901行
第二种:指令修改 推荐这种方式,这种方式会把密码写入到redis.conf里面去,且不用重启。
./redis-cli -c -p [端口] -h [IP]
config set masterauth redis@lhc; [密码]
config set requirepass redis@lhc [密码]
config rewrite
第二种:
8. 测试使用
9. 服务链接使用的问题,ip获取到的时127.0.0.1 检查配置正常,则可能是创建集群的时候ip写的有问题
1).查看Redis进程: ps -ef|grep redis
2).然后杀死进程:: kill -9 xxx
3).删除每个节点下的集群节点文件:
cd 7000/
rm -rf appendonly.aof dump.rdb nodes.conf
cd …/
cd 7001/
rm -rf appendonly.aof dump.rdb nodes.conf
cd …/
cd 7002/
rm -rf appendonly.aof dump.rdb nodes.conf
cd …/
cd 7003/
rm -rf appendonly.aof dump.rdb nodes.conf
cd …/
cd 7004/
rm -rf appendonly.aof dump.rdb nodes.conf
cd …/
cd 7005/
rm -rf appendonly.aof dump.rdb nodes.conf
cd …/
参考第三、先启动各个节点
按照第四步正确的ip创建节点
10.Redis常用指令
flushall flushdb清理数据
更多请点击