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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值