首页 > 数据库 >CentOS 7单机部署 Redis 主从复制

CentOS 7单机部署 Redis 主从复制

时间:2024-03-05 15:44:06浏览次数:387  
标签:主从复制 appworkergroup CentOS Redis redis appworker conf

下面是一个完整的、步骤明确的指南,包括如何在 CentOS 7 上以非 root 用户(在本例中为 appworker,属于 appworkergroup 组)安装和配置 Redis 主从复制,设置目录权限,以及进行基本的连接测试和维护操作。

1. 环境准备

创建用户和组

sudo groupadd appworkergroup     # 创建一个名为 appworkergroup 的用户组
sudo useradd -m -g appworkergroup -s /bin/bash appworker     # 创建一个名为 appworker 的用户,并将其加入到刚创建的 appworkergroup 用户组中
sudo passwd appworker     # 为新用户设置密码

安装编译依赖

sudo yum groupinstall -y "Development Tools"
sudo yum install -y tcl

2. 下载和编译 Redis

切换用户

su - appworker

下载 Redis 源码

wget http://download.redis.io/releases/redis-6.2.6.tar.gz
tar xzf redis-6.2.6.tar.gz
cd redis-6.2.6

编译 Redis

make
make test  # 可选,运行测试套件确保编译成功

3. 安装 Redis

make PREFIX=/home/appworker/redis install

4. 配置 Redis 主从复制

创建配置和数据目录

mkdir ~/redis-conf
mkdir ~/redis-data

设置目录权限

chmod -R 750 ~/redis-conf
chmod -R 750 ~/redis-data

配置主节点

  • 复制默认配置文件,并修改必要的配置项:

    cp redis.conf ~/redis-conf/redis-master.conf
    vim ~/redis-conf/redis-master.conf
    

    redis-master.conf 中设置:

    bind 0.0.0.0
    port 6379
    daemonize yes
    dir /home/appworker/redis-data
    requirepass <your-master-password>
    

配置从节点

  • 复制默认配置文件,并进行相应的修改:

    cp redis.conf ~/redis-conf/redis-slave.conf
    vim ~/redis-conf/redis-slave.conf
    

    redis-slave.conf 中设置:

    bind 0.0.0.0
    port 6380
    daemonize yes
    dir /home/appworker/redis-data
    slaveof <master-ip> 6379
    masterauth <your-master-password>
    requirepass <your-slave-password>
    

5. 启动 Redis 实例

redis-server ~/redis-conf/redis-master.conf
redis-server ~/redis-conf/redis-slave.conf

6. 验证主从复制

连接到主节点

redis-cli -h <master-ip> -p 6379 -a <your-master-password>

设置一个键值对

set mykey "Hello, Redis!"

连接到从节点

redis-cli -h <slave-ip> -p 6380 -a <your-slave-password>

获取键值对以验证同步

get mykey

7. 维护操作

停止 Redis 实例

redis-cli -h <ip> -p <port> -a <password> shutdown

启动 Redis 实例

如果需要重新启动 Redis 实例,只需重复步骤 5 中的启动命令。

标签:主从复制,appworkergroup,CentOS,Redis,redis,appworker,conf
From: https://www.cnblogs.com/fxcoding/p/18054201

相关文章

  • 卸载centos默认防火墙firewalld
    查看该防火墙是否运行systemctlstatusfirewalld停止systemctlstopfirewalld移除开机自启动systemctldisablefirewalld卸载yumremovefirewalld-y卸载完毕  已经没有了 ......
  • redis自学(11)ZSet
    ZSet也就是SortedSet,其中每一个元素都需要制定一个score值和member值: 可以根据score值排序 member必须唯一 可以根据member查询分数 因此,zset底层数据结构必须满足键值存储、键必须唯一、可排序这几个需求。之前学习的那种编码结构可以满足? SkipList:可以排序,并且......
  • Centos7安装mysql8版本(亲测可用)
    Step1进入MYSQL官网下载https://www.mysql.com/downloads/ MySQLEnterpriseEdition企业版本 需付费,可以试用30天,提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。 MySQLClusterCGE高级集群版 需付费,是一个实时开源事......
  • 未完成编辑 Linux CentOS7.6使用腾讯Yum源安装MySQL5.7,执行mysql-secure-installation
    学习安装MySQL时发现官方源很慢,试了国内腾讯源快,记录一下LinuxCentOS7.6前置环境:CPU1内存4GB硬盘SCSI20GB网络模式桥接系统内为自动DHCPpingqq.com可通互联网以下为MySQL5.7安装步骤编辑新repo库路径:/etc/yum.repos.d/mysql-community.repovi/etc/yum.repos......
  • 自已写的shell小程序: 查询删除lua+redis和conf配置的nginx黑名单
    #!/bin/bash#定义一些变量REDIS_HOST=192.168.10.38REDIS_PORT=6370REDIS_AUTH=123456NGINX_BLOCKIPCONF_PATH=/data/software/openresty/nginx/conf.d/block_ip.conf#接收需要查询的IP地址echo-e"查询被www.baiinfo.com屏蔽的IP地址,请输入精确的IP地址(支......
  • macOS14使用brew下载Redis时出现的问题和解决方法
    当我使用brew下载redis时系统:macOS14(base)hanxuxian@hanxuxiandeMacBook-Air~%brewinstallredis报错信息:Error:git:unknownorunsupportedmacOSversion::dunnoError:'git'mustbeinstalledandinyourPATH!Warning:YouareusingmacOS14.Wedon......
  • CentOS 设置系统时间与网络时间同步
    CentOS设置系统时间与网络时间同步一、Linux的时间分为(两种)SystemClock(系统时间)指当前LinuxKernel中的时间RealTimeClock(硬件时间,简称RTC)主板上有电池供电的时间二、查看系统时间的命令系统时间指令:#date设置系统时间的命令date-set(年/月/日时......
  • Redis - 字典的实现与哈希冲突解决
    1.字典的实现edis的字典数据类型的实现主要分为两个部分:typedefstructdict{dictType*type;void*privdata;dicththt[2];longrehashidx;unsignedlongiterators;}dict;其中,type属性表示字典的类型,而privdata属性表示字典的私有数据,它是......
  • Redis学习之路
    Redis代码成就万世基积沙镇海梦想永在凌云意意气风发一.是什么,有什么用用来解决数据量太大。数据索引太大,内存放不下。读写量(读写混合),单独的服务器承受不了。减轻服务器压力,使用缓存来保证效率(主要是用来解决读的问题)。Cache有时间局部性和空间局部性垂......
  • Redis整合Springboot
    六.巅峰1.事务Redis单条命令保证原子性,但是事务不保证原子性原子性:要么同时成功,要么同时失败Redis的事物本质:一组命令的集合,一个事务中的所有命令都会被序列化,事务执行过程中,会按照顺序执行。具有一次性,顺序性,排他性(没有隔离级别的概念)所有的命令在事务中,并没有直接执行,只有......