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

【部署篇】Redis-03主从模式部署(源码方式安装)

一、准备主机 

主从模式只是解决了数据备份容灾并不能解决单点故障问题,生产环境中需要在主从模式基础上增加哨兵,实现主节点宕机时自动将其中一个重节点设置为新的主节点。

主机IP角色说明
192.168.128.31master,主节点可读写。
192.168.128.32slave,从节点只读,同步主节点数据(可以有多个从节点)。

二、下载Redis

进入官网找到下载地址 Downloads - Redis

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

三、Linux源码部署

1、安装依赖

# 安装redis编译依赖,所有主机都执行
yum install -y gcc tcl

 2、安装Redis

## 以下为安装redis服务,所有主机都执行# 解压
tar -zxvf redis-7.0.15.tar.gz# 移动redis目录
mv redis-7.0.15 /usr/local/redis# 编译
cd /usr/local/redis
make# 安装
make install

3、修改配置

1)、配置master节点

# 修改配置文件以符合你的需求(更多参数可参考Redis-01介绍)# 启用守护进程
sed -i 's/^daemonize no/daemonize yes/' /usr/local/redis/redis.conf# 绑定所有本机IP地址
sed -i 's/^bind .*/bind 0.0.0.0/' /usr/local/redis/redis.conf# 设置认证密码
sed -i 's/# requirepass .*/requirepass 123456/' /usr/local/redis/redis.conf

2)、配置slave节点

默认配置replica-read-only yes及从机为只读,不用修改;这里是新版本的参数配置,老版本对应的是slaveof 和slave-read-only yes。


# 修改配置文件以符合你的需求(更多参数可参考Redis-01介绍)# 启用守护进程
sed -i 's/^daemonize no/daemonize yes/' /usr/local/redis/redis.conf# 绑定所有本机IP地址
sed -i 's/^bind .*/bind 0.0.0.0/' /usr/local/redis/redis.conf# 设置认证密码
sed -i 's/# requirepass .*/requirepass 123456/' /usr/local/redis/redis.conf# 配置主节点IP和端口
echo "replicaof 192.168.128.31 6379" >> /usr/local/redis/redis.conf# 配置主节点认证密码
echo "masterauth 123456" >> /usr/local/redis/redis.conf

4、启动服务

# 主从服务器都执行以下命令启动服务
redis-server /usr/local/redis/redis.conf

5、关闭防火墙

## 这里直接关闭防火墙,也可以在防火墙中放天6379端口 # 关闭防火墙
systemctl stop firewalld

6、主从状态

 1)、查看主节点主从状态

role:master,表示当前节点为主节点,connected_slaves:1表是有一个从节点在线。

# 连接到主节点
redis-cli -h 192.168.128.31# 密码认证
> auth 123456# 查看主从同步状态
> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.128.32,port=6379,state=online,offset=42,lag=0
master_failover_state:no-failover
master_replid:835b68d4267a5b50be60493529b9c052d430e83e
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:42
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:42

 2)、查看从节点主从状态

role:slave,表示当前节点为从节点,master_failover_state:no-failover表示主从同步状态无错误,状态正常。

redis-cli
127.0.0.1:6379> info replication
NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> info replication
# Replication
role:slave
master_host:192.168.128.31
master_port:6379
master_link_status:up
master_last_io_seconds_ago:7
master_sync_in_progress:0
slave_read_repl_offset:252
slave_repl_offset:252
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:835b68d4267a5b50be60493529b9c052d430e83e
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:252
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:252

7、停止服务

redis-cli shutdown

四、卸载redis

  1. 查找Redis安装路径‌:

    • 使用命令which redis-server查找Redis可执行文件的路径。
  2. 使用CMake卸载Redis‌:

    • 进入最初构建Redis的源代码目录。
    • 执行命令make uninstall进行卸载。
  3. 手动删除残余文件‌:

    • 使用命令find /usr/local/bin -name "redis*" -exec rm -rf {} \;找到并删除Redis相关的残余文件。
  4. 验证卸载是否成功‌:

    • 执行命令redis-server --version,若卸载成功,终端应显示“command not found”或类似信息。

五、安装常见问题

1、编译环境错误

    在未安装gcc、tcl前进行了make,编译报如下错误;安装后,再次make还是报如下错误,这时需要先进行清理再进行编译:make distclean && make

In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory#include <jemalloc/jemalloc.h>^
compilation terminated.

 六、更多Redis文章跟篇

【部署篇】Redis-01介绍
【部署篇】Redis-02单机模式部署(源码方式安装)
【部署篇】Redis-03主从模式部署(源码方式安装)
【部署篇】Redis-04哨兵模式部署(源码方式安装)

http://www.lryc.cn/news/462819.html

相关文章:

  • C/C++语言基础--C++四大类型转换讲解
  • KafKa 集群【docker compose】
  • 【工具篇】MLU运行XInference部署手册
  • 计算机网络:数据链路层 —— 扩展共享式以太网
  • 平安养老险深圳分公司:创新养老服务,深入践行金融为民
  • 静态站点生成器哪家强?
  • 从0开始部署优化虚拟机
  • 录屏有道, 四款必备录屏工具推荐!
  • 5G NR:UE初始接入信令流程浅介
  • 探索 Spring AI:Java 开发者的 AI 应用开发新利器
  • Linux历史
  • C++ 方法积累
  • 区块链-智能合约Solidity编程
  • VS Code创建VUE项目(一)工具安装与项目创建
  • cudnn8编译caffe过程(保姆级图文全过程,涵盖各种报错及解决办法)
  • Docker安装Nginx
  • 大数据治理:构建新时代数据生态的关键
  • Leetcode 1223 LCA of Deepest TreeNode
  • C++从入门到起飞之——红黑树 全方位剖析!
  • Java基于SSM微信小程序物流仓库管理系统设计与实现(lw+数据库+讲解等)
  • [LeetCode] 733. 图像渲染
  • 智能EDA小白从0开始 —— DAY23 PyAether深度解析与技术展望
  • 从深海探测到海洋强国:数字孪生助力海洋装备跨越式发展
  • 架构师备考-背诵精华(系统质量属性)
  • Pycharm下载安装教程(详细步骤)+汉化设置教程
  • 网络安全入门
  • 你真的了解Canvas吗--解密十【ZRender篇】
  • mac安装brew时踩坑解决方案
  • 基于Handsontable.js + Excel.js实现表格预览和导出功能(公式渲染)
  • 重学SpringBoot3-集成Redis(十三)之点排行榜实现