七、Linux二进制安装Redis集群

news2024/10/6 6:49:26

目录

  • 七、Linux二进制安装Redis集群
    • 1 安装Redis所需依赖
    • 2 单机安装Redis(7.2.4)
      • 2.1 下载Redis
      • 2.2 安装Redis
    • 3 分布式部署模式(Redis Cluster)
      • 3.1 分布式部署模式的配置文件
      • 3.2创建集群
    • 4 主从复制模式(Redis Sentinel)
      • 4.1 主从复制模式的配置文件
      • 4.2 Sentinel节点配置

七、Linux二进制安装Redis集群

注意:如果只需要分布式部署,前面看完就可以了,主从复制除非特定,一般不需要配置

1 安装Redis所需依赖

yum install -y gcc tcl

2 单机安装Redis(7.2.4)

2.1 下载Redis

下载地址:Redis下载地址
百度网盘:百度网盘下载

2.2 安装Redis

将文件放到 /opt下

tar -zxvf /opt/redis-7.2.4.tar.gz

进入到文件目录

cd /opt/redis-7.2.4

执行编译命令

make && make install

第一次安装回头有点慢,耐心等待!
安装完成后,在 /usr/local/bin/下可以看到这些文件
在这里插入图片描述
创建文件目录

mkdir -p /opt/redis/{data,logs}

在这里插入图片描述

3 分布式部署模式(Redis Cluster)

3.1 分布式部署模式的配置文件

创建配置文件

cat > /opt/redis/redis-cluster.conf <<EOF
# 指定 Redis 服务器绑定的网络接口地址
bind 0.0.0.0
# Redis 服务器监听的端口号
port 6379
# 关闭保护模式
protected-mode no
# Redis 服务器以守护进程的方式运行
# daemonize no
# Redis 服务器的密码
requirepass "123456"
# Redis 日志文件的路径和文件名
logfile "/opt/redis/logs/cluster-6379.log"
# 启用Redis的持久化日志
appendonly yes
# 持久化数据文件(快照文件)的文件名
dbfilename "cluster-6379.rdb"
# 持久化数据文件的存储目录
dir "/opt/redis/data/"
# 从节点连接到主节点所需的密码
masterauth "123456"
# 是否开启集群
cluster-enabled yes
# 集群端口
cluster-port 16379
# 生成的node文件,记录集群节点信息,默认为 nodes.conf
cluster-config-file nodes-6379.conf
#节点连接超时时间
cluster-node-timeout 20000
EOF

创建启动文件

cat > /etc/systemd/system/redis-server.service <<EOF
[Unit]
Description=The redis-server Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/bin/redis-server /opt/redis/redis-cluster.conf

ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID

[Install]
WantedBy=multi-user.target
EOF

服务启动命令

# 重新加载服务配置文件(先执行这个)
systemctl daemon-reload
# 启动服务
systemctl start redis-server.service
# 重启服务
systemctl restart redis-server.service
# 服务自启动
systemctl enable redis-server.service
# 停止服务
systemctl stop redis-server.service
# 服务状态
systemctl status redis-server.service

连接cli查看

cd /usr/local/bin/
./redis-cli -a 123456

在这里插入图片描述
上述单机安装在三台机器上都进行安装后,执行下面的步骤(上面安装完可以通过客户端连接看看是否成功)

3.2创建集群

确保你的集群在hosts存在

vi /etc/hosts

在这里插入图片描述

cd /usr/local/bin/
./redis-cli --cluster create 192.168.200.161:6379 192.168.200.162:6379 192.168.200.163:6379 -a 123456

中间直接 yes
在这里插入图片描述
验证集群(随便一个IP)

./redis-cli -c -h 192.168.200.162 -p 6379 -a 123456
cluster info

在这里插入图片描述
插入name
在这里插入图片描述
在另一台机器上查看
在这里插入图片描述

4 主从复制模式(Redis Sentinel)

4.1 主从复制模式的配置文件

主节点配置

cat > /opt/redis/redis-sentinel.conf <<EOF
# 指定 Redis 服务器绑定的网络接口地址
bind 0.0.0.0
# Redis 服务器监听的端口号
port 6379
# 关闭保护模式
protected-mode no
# Redis 服务器以守护进程的方式运行
# daemonize no
# Redis 服务器的密码
requirepass "123456"
# Redis 日志文件的路径和文件名
logfile "/opt/redis/logs/sentinel-6379.log"
# 启用Redis的持久化日志
appendonly yes
# 持久化数据文件(快照文件)的文件名
dbfilename "sentinel-6379.rdb"
# 持久化数据文件的存储目录
dir "/opt/redis/data/"
EOF

两个从点配置(注意replicaof 根据自己的修改)

cat > /opt/redis/redis-sentinel.conf <<EOF
# 指定 Redis 服务器绑定的网络接口地址
bind 0.0.0.0
# Redis 服务器监听的端口号
port 6379
# 关闭保护模式
protected-mode no
# Redis 服务器以守护进程的方式运行
# daemonize no
# Redis 服务器的密码
requirepass "123456"
# 从节点连接到主节点所需的密码
masterauth "123456"
# Redis 日志文件的路径和文件名
logfile "/opt/redis/logs/sentinel-6379.log"
# 启用Redis的持久化日志
appendonly yes
# 持久化数据文件(快照文件)的文件名
dbfilename "sentinel-6379.rdb"
# 持久化数据文件的存储目录
dir "/opt/redis/data/"
# 指向主节点
replicaof 192.168.200.161 6379
EOF

启动文件配置(三个相同)

cat > /etc/systemd/system/redis-server.service <<EOF
[Unit]
Description=The redis-server Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/bin/redis-server /opt/redis/redis-sentinel.conf

ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID

[Install]
WantedBy=multi-user.target
EOF

启动方式

# 重新加载服务配置文件
systemctl daemon-reload
# 启动服务
systemctl start redis-server.service
# 重启服务
systemctl restart redis-server.service
# 服务自启动
systemctl enable redis-server.service
# 停止服务
systemctl stop redis-server.service
# 服务状态
systemctl status redis-server.service

4.2 Sentinel节点配置

Sentinel配置文件(三个相同)

cat > /opt/redis/redis-sentinel-26379.conf <<EOF
# 指定 Redis 服务器绑定的网络接口地址
bind 0.0.0.0
# Redis 服务器监听的端口号
port 26379
# 关闭保护模式
protected-mode no
# Redis 服务器的密码
requirepass "123456"
# 从节点连接到主节点所需的密码
masterauth "123456"
# Redis 日志文件的路径和文件名
logfile "/opt/redis/logs/sentinel-26379.log"
# 持久化数据文件的存储目录
dir "/opt/redis/data/"
# 设置 Sentinel 监视的 Redis 主节点 mymaster 的认证密码
sentinel auth-pass mymaster 123456
# Sentinel 监视名为 mymaster 的 Redis 主节点
sentinel monitor mymaster 192.168.200.161 6379 2
# 配置指定了 Sentinel 在认为主节点不可用之前等待的毫秒数
sentinel down-after-milliseconds mymaster 10000
# 定了在进行故障转移时,同时同步的从节点数量
sentinel parallel-syncs mymaster 1
# 配置定义了执行故障转移的超时时间
sentinel failover-timeout mymaster 60000
EOF

Sentinel启动文件(三个相同)
注意这里的 ExecStart ,不在/usr/local/bin下,而是在源文件解压 make 后的文件夹中

cat > /etc/systemd/system/redis-sentinel.service <<EOF
[Unit]
Description=The redis-sentinel Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/var/run/redis_sentinel_6379.pid
ExecStart=/opt/redis-7.2.4/src/redis-sentinel /opt/redis/redis-sentinel-26379.conf

ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID

[Install]
WantedBy=multi-user.target
EOF

启动命令

# 重新加载服务配置文件
systemctl daemon-reload
# 启动服务
systemctl start redis-sentinel.service
# 重启服务
systemctl restart redis-sentinel.service
# 服务自启动
systemctl enable redis-sentinel.service
# 停止服务
systemctl stop redis-sentinel.service
# 服务状态
systemctl status redis-sentinel.service

检验测试
选择主节点客户端

/usr/local/bin
info replication

在这里插入图片描述
从节点
在这里插入图片描述
任选一节点
在这里插入图片描述
自此,redis 安装完成。主从复制 ,在客户端使用
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1898801.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PMP拿证捷径!七大要点让你事半功倍!

正确阅读PMBOK PMP考试的出题基本上来自于PMBOK教材&#xff0c;要对知识点理解透彻&#xff0c;清晰明了&#xff0c;针对考题就需要来灵活运用了。 PMBOK信息量很大&#xff0c;阅读起来&#xff0c;对每个人的耐力都是一种较量。 PMP考试是中英文对照&#xff0c;但教材中…

echarts图表加载显示空白

数据请求了&#xff0c;图表加载显示空白 报错&#xff1a; Error: Initialize failed: invalid dom. at Object.init (echarts.js:2273:1) 方案 1. 通过this.$nexttick(()>{}) , 试过&#xff0c; 还是不行 2、把 this.lineChart2 this.$echarts.init(document.g…

通义灵码入选 2024 世界人工智能大会最高荣誉「镇馆之宝」

7 月 4 日&#xff0c;2024 上海世界人工智能大会正式开幕&#xff0c;并揭晓了今年的「镇馆之宝」名单&#xff0c;通义灵码入选&#xff0c;是首个入围该名单的 AI 编程助手。 镇馆之宝是世界人工智能大会展览的最高荣誉&#xff0c;从科技含量、市场前景、创新性以及社会经济…

全生命周期陪伴,企业成长的最佳伙伴

国际数字影像产业园的全生命周期服务方案致力于为入驻企业提供从初创期到成熟期的各个阶段都能得到的全方位支持和帮助&#xff0c;确保企业能够稳健成长&#xff0c;实现可持续发展。 一、初创期服务 1、孵化器和加速器服务&#xff1a;为初创企业提供先进的硬件设施&#xf…

小白 | Linux安装java8

一、更新包列表 sudo apt update 二、安装 Java 8 sudo apt install openjdk-8-jdk 安装问题 遇见Unable to locate package openjdk-8-jdk错误 1.添加 PPA 存储库 sudo add-apt-repository ppa:openjdk-r/ppa sudo apt update 2.重新尝试安装 sudo apt install openjdk8-jdk…

昇思学习打卡-3-张量Tensor

本章节系统的学习了张量的相关内容&#xff0c;张量是由若干个当坐标系改变时满足转换关系的分量组成的集合。它是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数。是一种类似于矩阵的特殊的数据结构。包括 创建张量的方式&#xff1b;张量的属性&#…

前端面试题14(贝塞尔曲线)

贝塞尔曲线在前端开发中经常用于创建平滑的动画路径或绘制复杂的矢量图形。贝塞尔曲线可以是一次、二次或三次的&#xff0c;其中三次贝塞尔曲线是最常见的&#xff0c;因为它提供了足够的灵活性来创建各种形状&#xff0c;同时保持计算上的可行性。 下面我将解释三次贝塞尔曲…

数据仓库建模基础理论-01-为什么需要数据建模?

一、什么是数据模型&#xff1f; 数据模型是数据库的基础结构&#xff0c;用于描述和组织数据的方式。 它不仅是数据库的底层结构&#xff0c;还是一个概念性工具&#xff0c;帮助理解数据的含义和关系。 数据模型包括数据本身、数据之间的关系、数据的语义&#xff08;含义和…

redis哨兵系统框架部署

redsi主从配置 下面是基于redis主从的环境部署哨兵模式 1、在配置好redis主从后&#xff0c;添加哨兵模式需要在sentinel.conf文件添加一条命令(主从节点都需要添加) mymaster 是主节点的别名。192.168.25.129 是主节点的 IP。6379 是主节点的端口。2 是仲裁值&#xff0c;表…

Alibaba Cloud Toolkit前端使用proxy代理配置

1、vscode 先安装插件 Alibaba Cloud Toolkit 2、前端代码: /personnel: {// target: http://xxx.xx.xxx.xx:9100, // 测试环境// target: http://xxx.xx.xxx.xx:9200, // 线上环境target: http://127.0.0.1:18002, // toolkit 代理changeOrigin: true

好烦啊,1个SQL干崩核心系统长达12小时!

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、 高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…

Mac电脑iTerm2 如何设置无限滑动

1.打开iTerm2应用 2.打开偏好设置 3.选中Profiles -> Terminal 4.选择Unlimited scrollback

windows实现Grafana+Loki+loki4j轻量级日志系统,告别沉重的ELK

文章目录 Loki下载Loki下载安装Loki添加Loki数据源springboot日志推送 Loki下载 下载地址&#xff1a;https://github.com/grafana/loki/releases/ 找到loki-windows-amd64.exe.zip点击开始下载&#xff0c;我这里下载的2.9.9版本 Loki下载 下载地址&#xff1a;https://gr…

MySql主从同步延迟怎么办?

文章目录 什么是MySQL主从架构主从架构的组成工作原理主从复制的步骤主从架构的优点主从架构的缺点 什么是主从同步延迟为什么会导致主从延迟主从延时的排查和解决如果发现主从数据不一致怎么办&#xff1f; 我们常说的业务量越来越大&#xff0c;I/O访问频率过高&#xff0c;单…

栈实现队列与队列实现堆

ok呀&#xff0c;上一篇博客写了队列的相关知识&#xff0c;接下来就是我们提及过的&#xff0c;栈与队列的相互实现了。堆与这个问题咧&#xff0c;其实大家完全可以当一个知识扩展因为&#xff0c;这个问题也是没有太多的实践意义的&#xff0c;更多的是教学意义。所以咧。大…

Linux--信号(万字详解!超完整!)

目录 0.预备知识 0.1.基本概念 0.2.信号的捕捉 0.3.理解信号的发送与保存 1.信号的产生&#xff08;阶段一&#xff09; 1.通过kill命令&#xff0c;向指定进程发送指定的信号 2.通过终端按键产生信号&#xff1a;ctrlc&#xff08;信号2&#xff09;&#xff0c;ctrl\(…

2024暑假集训第二次考试

10062. Majority Opinion 思路分析 这道题就是一道思维题&#xff0c;这种题需要刻意练习&#xff0c;形成一定的思维模式用之前学过算法的原理去思考问题&#xff0c;而不是一味考验某一种算法的应用。 这道题就需要思考的是什么情况可以让这个奶牛爱吃同一种干草&#xff0c;…

ES6模块化学习

1. 回顾&#xff1a;node.js 中如何实现模块化 node.js 遵循了 CommonJS 的模块化规范。其中&#xff1a; 导入其它模块使用 require() 方法 模块对外共享成员使用 module.exports 对象 模块化的好处&#xff1a; 大家都遵守同样的模块化规范写代码&#xff…

免费的二级域名分发,您确定不要试试吗?

这是可爱的小盆友做的一个免费的二级域名&#xff0c;目前上线就送114514个积分&#xff0c;名额有限~ 首先进入>路明二级域名分发 - 免费稳定的二级域名分发服务 (kmyl.top)< 进来是这个样子&#xff08;如下图所示&#xff09; 话不多说&#xff0c;进入教程~ 第一章…

vue对axios进行请求响应封装

一、原因 像是在一些业务逻辑上&#xff0c;比如需要在请求之前展示loading效果&#xff0c;或者在登录的时候判断身份信息&#xff08;token&#xff09;等信息有没有过期&#xff0c;再者根据服务器响应回来的code码进行相应的提示信息。等等在请求之前&#xff0c;之后做的一…