redis 主从 复制搭建 gcc scl安装升级

本文详细指导如何在CentOS 7上为Redis 6.x准备环境,包括检查GCC版本、升级GCC到devtoolset-7,编译并配置主从模式,以及设置开机启动。重点介绍了C11编译器要求和多线程代码的原子操作。
摘要由CSDN通过智能技术生成

机器/redis准备

10.2.2.148 master
10.2.2.171 salve
分别在data创建redis目录
复制redis-6.0.6.tar.gz 至 reids目录
tar -vxvf redis-6.0.6.tar.gz

查看 gcc scl

如果要redis-6.x以上版本,需要查看系统gcc版本是否大于4.8.5,否则会出现如下gcc版本问题,
编译 redis-6.x,要求 C11 编译器,否则会遇到大量如下所示的错误:
主要原因是从 redis-6.x 开始的多线程代码依赖C标准库中的新增类型 _Atomic 。但是注意 gcc 从 4.9 版本才开始正式和完整地支持 stdatomic(gcc-4.8.5 部分支持)。centos7默认的 gcc 版本为:4.8.5 < 5.3 无法编译。
查看 gcc 版本
gcc -v在这里插入图片描述
低于5.3
查看已有版本列表
scl -l
在这里插入图片描述
切换版本:
scl enable devtoolset-7 bash

如是scl -l 不存高版本需要升级gcc版本方法之一使用scl软件集

  1. 安装scl源:
yum install centos-release-scl scl-utils-build
  1. 列出scl有哪些源可以用
yum list all --enablerepo='centos-sclo-rh'

在这里插入图片描述

  1. 安装5.3版本的gcc、gcc-c++、gdb
yum install devtoolset-7-gcc.x86_64 devtoolset-7-gcc-c++.x86_64 devtoolset-7-gcc-gdb-plugin.x86_64 
  1. 查看从 SCL 中安装的包的列表
scl --list 或 scl -l
  1. 切换版本
    scl enable devtoolset-7 bash
  2. 使用exit 退出当前scl版本的bash环境
scl --list 或scl -l
scl --help 或 scl -h
scl enable <scl-package-name> <command>  #使用scl来执行command命令
scl enable  devtoolset-4 bash  #使用scl创建一个scl包的bash会话环境
exit  #退出当前scl bash环境,恢复成系统bash环境

编译redis

  1. 进入redis-6.0.6目录 cd /data/redis/redis-6.0.6
  2. make 编译

创建目录

cd /data/redis
创建pid目录
mkdir pidfile
创建日志目录
mkdir logfile
创建数据目录
mkdir redis_data

复制redis.conf

cp redis.conf redis_10000.conf

编辑配置内容

vim redis_10000.conf

(1)bind 0.0.0.0
(2)port 10000
(3)daemonize yes

(4)pidfile /data/redis/pidfile/redis_10000.pid

(5)logfile /data/redis/logfile/redis.log

(6)dir /data/redis/redis_data

(7)requirepass 123456 #本机密码

(8)# 主节点 Redis 的 IP 和端口 注:低版本 Redis 有可能是 slaveof (只在从节点配置)

     replicaof 10.2.2.148

(9)# 主节点上的密码 (只在从节点配置)

     masterauth 123456

说明:

#daemonize no 修改为daemonize yes 意为开启后台运行

#protected-mode yes 去掉#号,意为开启保护模式,可以选择绑定ip,也可以指定密码

dir ./ 修改为dir /opt/redis6/data 意为把指定redis的数据存放目录

logfile 这行修改为 /opt/redis/log/redis-6379.log # 指定日志存放目录

requirepass 本机密码

replicaof # 主从复制 仅从节点需要配置

masterauth # 主节点密码

主节点启动服务

cd /data/redis/redis-6.0.6

./src/redis-service redis_10000.conf

从节点启动服务

cd /data/redis/redis-6.0.6

./src/redis-service redis_10000.conf

设置开机启动参考
https://blog.csdn.net/llwy1428/article/details/106741119

Redis主从复制是将一台主Redis服务器的数据复制到其他从Redis服务器的过程。主服务器负责写操作,从服务器负责读操作。主从复制可以减轻主服务器的读写压力和服务器负载,提高系统的性能和可靠性。搭建Redis主从复制的步骤如下: 1. 配置主服务器:在主服务器的配置文件中,设置`slaveof`指令,指定从服务器的IP地址和端口号。重启主服务器使配置生效。 2. 配置从服务器:在从服务器的配置文件中,设置`slaveof`指令,指定主服务器的IP地址和端口号。重启从服务器使配置生效。 3. 启动主从服务器:先启动主服务器,再启动从服务器。从服务器会自动连接到主服务器并开始同步数据。 4. 验证主从复制:可以使用`info replication`命令查看主从服务器的复制状态。如果状态显示为`connected`,则表示主从复制已成功搭建。 需要注意的是,主从复制是单向的,只能由主服务器向从服务器复制数据。从服务器只能提供读操作,不能进行写操作。如果主服务器发生故障,可以将一个从服务器提升为新的主服务器,以保证系统的可用性。 引用\[1\]中提到了主从复制的概念和基本原理,引用\[2\]和\[3\]提供了关于Redis主从复制的详细说明和搭建步骤。 #### 引用[.reference_title] - *1* *2* [Redis主从复制搭建](https://blog.csdn.net/qq_56370103/article/details/126247390)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Redis主从复制架构搭建](https://blog.csdn.net/Trunks2009/article/details/107562575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值