Redis在windows和Alibaba Cloud linux下配置主从和哨兵

本文详细介绍了如何在Windows环境下配置Redis主从关系及启动哨兵服务,包括从库配置、启动命令,以及在AlibabaCloudLinux中使用systemctl管理和哨兵配置。此外,还涉及SpringBoot项目中整合Redis主从+哨兵的方法。

window环境

主从配置和启动

  1. 复制redis文件夹
    复制文件夹
  2. 修改从库的配置文件“redis.windows.conf”,并添加“slaveof”属性

#端口号
port 6380
#是否为守护进程
daemonize no
#从库是否为只读
slave-read-only yes
#是谁的从库
slaveof {masterHost} {masterPort}

  1. 使用 redis-server.exe redis.windows.conf 启动

哨兵配置和启动

  1. 在redis主库和从库的文件夹中分别创建一个新的配置文件“sentinel.conf”
    新建文件夹
  2. 在配置文件“sentinel.conf”中添加配置

#端口号
port 26379
#sentinel monitor 主库名称 主库地址:主库端口号 客观下线数
sentinel monitor mymaster 127.0.0.1 6379 2
#是否为守护进程
daemonize yes
#日志文件地址
logfile “./sentinel_log.log”

  1. 使用“redis-server.exe sentinel.conf --sentinel”命令启动
    启动哨兵

注:每个redis-server可以同时启动库和哨兵,哨兵启动后无日志打印,并不是进程卡主。
配置文件中的主库地址,只是一个默认的主库(即redis启动时的主库地址)。在后续的运行中,无论哪个从库变成主库,都会继续被哨兵监听。

例如,默认情况下主库为6379,从库为6380和6381。
当主库下线后6380升为主库,6381改为6380的从库。当6379重新上线后,会变为6380的从库;
6381作为主库下线后,哨兵还是会监听到,继续在从库中推选一个变为主库,继续上述的行动。

Alibaba Cloud Linux中使用systemctl管理哨兵

我是使用"yum"来安装的redis。windows和linux配置方式基本一致,这里主要讲的是如何配置来使用“systemctl”来更方便的控制redis

yum install redis

主从配置和启动

推荐使用“find”命令来找redis相关的文件,会方便很多
在这里插入图片描述

  1. 找到“redis.conf”文件后,使用“cp”命令来复制从库配置

cp redis.conf redis_6380.conf

  1. 然后使用“vim”编辑文件

vim redis_6380.conf

  1. 修改配置文件

#端口号
port 6381
#日志文件
logfile “/var/log/redis/redis_6381.log”
#数据库文件名称
dbfilename “dump_6381.rdb”
#数据库地址
dir “/var/lib/redis_6381”

  1. 修改后到对应的路径创建缺少的文件(如:redis_6381.log、dump_6381.rdb)
  2. systemctl真正使用的文件是“/usr/lib/systemd/system/redis.service”
  3. 使用vim编辑该文件
    在这里插入图片描述
  4. 使用“systemctl daemon-reload”来更新配置
  5. 然后使用“systemctl start 你配置的启动名称”来启动redis
  6. “systemctl status 启动名称”来查看启动情况
    在这里插入图片描述

哨兵配置和启动

  1. 在redis配置文件的路径下,新建哨兵配置文件(当目标文件不存在时,vim会新建

vim redis_26379.conf

  1. 添加配置

port 26379
daemonize yes
logfile “/var/log/redis/sentinel/redis_26379.log”
sentinel monitor mymaster 127.0.0.1 6379 2

  1. 在“redis.service”目录下,复制“redis.service”文件

cp redis.service redis_26379.service

  1. 修改service文件,主要修改启动程序、配置文件、启动时服务名称
    在这里插入图片描述
  2. 使用“systemctl start 启动名称”来启动服务
  3. 到你配置的日志文件地址查看日志
    在这里插入图片描述

springboot整合redisTeamplate主从+哨兵

  1. 添加引用

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

  1. 添加配置

spring:
     redis:
         #哨兵配置
         sentinel:
             #默认情况下的主库名称
             master: mymaster
             nodes:
                 - 127.0.0.1:26379
                 - 127.0.0.1:26380
                 - 127.0.0.1:26381

  1. 直接在需要的地方引用实例即可
    @Autowired
    private StringRedisTemplate redis;

	@GetMapping("redis")
    public String redis(){
//        redis.opsForValue().set("name123","test_2021");
        return redis.opsForValue().get("name123");
    }

注:主从配置中没有体现,但是sentinel会包含主从关系,在项目运行时依旧会有主从关系

### Linux 上安装配置 Nacos 并搭建高可用集群 #### 一、单机模式下的 Nacos 安装与配置Linux 环境下,可以通过 Docker 或者直接下载 Nacos 的二进制包来完成单机模式的安装。 1. **通过 Docker 启动 Nacos 单机实例** 使用 Docker 命令可以快速启动一个 Nacos 实例。以下是具体的命令: ```bash docker run -d --name nacos -p 8848:8848 \ -e PREFER_HOST_MODE=hostname -e MODE=standalone \ nacos/nacos-server:v2.1.2 ``` 此命令会拉取官方镜像并以独立模式运行 Nacos[^1]。 2. **手动安装 Nacos** 如果不希望通过 Docker 进行安装,则可以选择手动方式: - 下载 Nacos 的压缩包:`wget https://github.com/alibaba/nacos/releases/download/2.1.2/nacos-server-2.1.2.zip` - 解压文件到指定目录:`unzip nacos-server-2.1.2.zip -d /opt/nacos` - 修改 `application.properties` 文件中的数据库连接等相关参数。 - 执行启动脚本:`sh /opt/nacos/bin/startup.sh -m standalone` #### 二、Nacos 高可用集群部署 为了实现高可用性负载均衡,通常采用集群模式部署 Nacos。 1. **准备多个节点** 至少需要三台服务器作为 Nacos 节点(推荐奇数个),每台机器都需要按照上述方法安装好 Nacos。 2. **修改配置文件** 编辑 `/opt/nacos/conf/application.properties` 文件,在其中添加如下内容: ```properties server.port=8848 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://<mysql_host>:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=nacos_user db.password=nacos_password nacos.naming.distro.taskDispatchPeriod=200 nacos.naming.distro.batchSyncKeyCount=1000 ``` 3. **启动集群模式** 在每个节点上执行以下命令以集群模式启动服务: ```bash sh /opt/nacos/bin/startup.sh -m cluster ``` 当前节点会被注册至其他节点列表中,从而形成分布式架构[^2]。 4. **设置 MySQL 数据库** 创建名为 `nacos` 的数据库,并导入初始化 SQL 文件: ```sql CREATE DATABASE IF NOT EXISTS `nacos` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; USE `nacos`; SOURCE /path/to/nacos-mysql.sql; ``` 具体路径可以根据实际解压位置调整。 5. **验证集群状态** 访问任意一台主机上的管理界面 (`http://<ip_address>:8848/nacos`) ,登录后查看是否显示所有成员在线情况。 --- #### 三、Redis 集群及哨兵集成 (可选) 如果计划将 Redis 用作缓存层或者消息队列组件,也可以将其加入整体解决方案之中: 1. 构建 Redis 主从复制结构; 2. 添加 Sentinel 组件监控主节点健康状况; 3. 将 Redis 地址写入应用配置文件以便于动态切换访问目标。 ```yaml spring: cloud: alibaba: nacos: discovery: server-addr: ${NACOS_SERVER_ADDR} sentinel: transport: dashboard: localhost:8080 ``` 以上操作完成后即可构建起完整的微服务体系框架[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值