当前位置: 首页 > article >正文

Redis集群安装

文章介绍在三台主机上安装三主三从的Redis集群,安装步骤如下:

安装前准备:源码包安装redis需要部署gcc

yum install -y gcc

redis下载,7.0+版本redis支持通过主机名访问集群

wget https://download.redis.io/releases/redis-7.0.7.tar.gz

配置主机名:

hostnamectl set-hostname redis-node1

vim /etc/hosts

10.0.0.10 redis-node1
10.0.0.11 redis-node2
10.0.0.12 redis-node3

redis集群各节点安装,以redis01为例

mkdir -p /data/redis/redis01/{conf,log,data,run}

将redis.tar.gz在/data/目录下解压、编译安装

cd /data/; tar -xf redis*.tar.gz
cd redis-7.0.7/src
make
cd redis-7.0.7
make install PREFIX=/data/redis/redis01

将源码包中的redis.conf复制到安装路径下的conf目录下

cp redis-7.0.7/redis.conf /data/redis/redis01/conf/redis-node01.conf

其中的地址、端口、路径等信息根据实际进行修改

vim /data/redis/redis01/conf/redis-node01.conf

# 本机地址
bind 10.0.0.10
# 端口
port 17001
# pid存储目录
pidfile /data/redis/redis01/run/redis_01.pid
# 日志存储目录
logfile /data/redis/redis01/log/redis_01.log
# 数据存储目录(目录要提前创建好)
dir /data/redis/redis01/data/
# 开启集群
cluster-enabled yes
# 集群节点配置文件,这个文件是不能手动编辑的。确保每一个集群节点的配置文件不同
cluster-config-file nodes-01.conf
# 集群节点的超时时间,单位:ms,超时后集群会认为该节点失败
cluster-node-timeout 15000
# 开启持久化
appendonly yes
# 守护进程
daemonize yes
# 是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
protected-mode no
# 以下为redis7新的配置项
cluster-preferred-endpoint-type hostname
cluster-announce-hostname redis-node1
 
# 设置最大内存限制
maxmemory 24gb
# 数据清理机制
maxmemory-policy volatile-lru
# 鉴权密码配置,$password配置为真实密码
masterauth "$password"
requirepass "$password"
# 数据备份
save 3600 1 300 100 60 10000

将编译好的安装包拷贝到其他节点

cp -ar /data/redis/redis01 /data/redis/redis04
scp -r /data/redis 10.0.0.11:/data
scp -r /data/redis 10.0.0.12:/data

登录redis-node2节点

cd /data/redis
mv redis01 redis02
mv redis04 redis05

登录redis-node3节点

cd /data/redis
mv redis01 redis03
mv redis04 redis06

各个节点根据实际进行修改配置文件

启动各个节点

/data/redis/redis01/bin/redis-server /data/redis/redis01/conf/redis.conf;
/data/redis/redis04/bin/redis-server /data/redis/redis04/conf/redis.conf;

/data/redis/redis02/bin/redis-server /data/redis/redis02/conf/redis.conf;
/data/redis/redis05/bin/redis-server /data/redis/redis05/conf/redis.conf;

/data/redis/redis03/bin/redis-server /data/redis/redis03/conf/redis.conf;
/data/redis/redis06/bin/redis-server /data/redis/redis06/conf/redis.conf;

设置集群模式

/data/redis/redis01/bin/redis-cli --cluster create 10.0.0.10:17001 10.0.0.11:17001 10.0.0.12:17001 10.0.0.10:17002 10.0.0.11:17002 10.0.0.12:17002 --cluster-replicas 1 -a ‘pwd’

查看集群状态

/data/redis/redis01/bin/redis-cli -c -h 10.0.0.10 -p 17001 -a ‘pwd’ cluster info
在这里插入图片描述

/data/redis/redis01/bin/redis-cli -c -h 10.0.0.10 -p 17001 -a ‘pwd’ cluster nodes
在这里插入图片描述

当发现集群状态异常,如连接时发现JedisClusterOperationException: Cluster retry deadline exceeded,可重新设置集群:

停止redis进程(节点)

ps -ef|grep redis|grep -v grep|awk ‘{print $2}’|xargs kill -9

清理各节点数据

rm -rf /data/redis/redis01/data/* /data/redis/redis01/log/* /data/redis/redis01/run/;
rm -rf /data/redis/redis04/data/
/data/redis/redis04/log/* /data/redis/redis04/run/*;

rm -rf /data/redis/redis02/data/* /data/redis/redis02/log/* /data/redis/redis02/run/;
rm -rf /data/redis/redis05/data/
/data/redis/redis05/log/* /data/redis/redis05/run/*;

rm -rf /data/redis/redis03/data/* /data/redis/redis03/log/* /data/redis/redis03/run/;
rm -rf /data/redis/redis06/data/
/data/redis/redis06/log/* /data/redis/redis06/run/*;

启动各个节点

如上

设置集群模式

如上

查看集群状态

如上


http://www.kler.cn/news/330961.html

相关文章:

  • C++ 内存池(Memory Pool)详解
  • Flume实战--Flume中的拦截器详解与操作
  • 卷积神经网络(Convolutional Neural Networks, CNN)
  • c++开发之编译curl(安卓版本)
  • HarmonyOs 学会查看官方文档实现菜单框
  • 高性能架构—存储高性能
  • K8S配置管理中心Configmap实现微服务配置
  • 【二十七】【QT开发应用】VS如何复制项目,QT无边窗窗口Pro版本,信号与信号槽的应用,背景图片自适应控件大小
  • 大模型笔记
  • 深度学习-19-深入理解并训练自己的Tokenizer分词器
  • Linux --入门学习笔记
  • Docker Compose 部署大模型GPU集群:高效分配与管理算力资源
  • redis从入门到精通
  • OpenCV threhold()函数
  • 鸿蒙ArkUI实战开发-主打自研语言及框架
  • 部分监督多器官医学图像分割中的标记与未标记分布对齐|文献速递--基于多模态-半监督深度学习的病理学诊断与病灶分割
  • scrapy爬取汽车、车评数据【上】
  • SpringBoot日常:链路追踪skyworking的接入
  • PostgreSQL的字段存储类型了解
  • 第五周做题总结_数据结构_队列与应用