Centos7+ redis7搭建主从+哨兵模式超详细教程攻略

搭建之前请务必了解Redis的工作原理,切勿盲目搭建!!!

Redis(Remote Dictionary Server)是一个开源的高性能键值存储数据库,它主要用于存储数据、缓存和消息传递。Redis支持多种数据结构,如字符串、列表、集合、有序集合、哈希表等,这些数据结构使得Redis能够解决很多不同类型的问题。

主要用途包括:

  1. 缓存:将常用的数据存储在Redis中,以加快读取速度,减轻后端数据库的负载。这有助于提高应用程序的性能和响应时间。

  2. 会话存储:将用户会话数据存储在Redis中,使得分布式系统能够无缝地共享和管理会话状态。

  3. 计数器:用于实时统计,如网站访问次数、点赞数、在线用户数等。

  4. 消息队列:作为发布/订阅系统或消息队列,用于在不同组件或服务之间传递消息,实现解耦和异步处理。

  5. 排行榜/排名:用于存储并获取排行榜数据,如游戏排行、热门文章等。

  6. 地理空间索引:支持存储和查询地理位置信息,可用于构建位置相关的应用。

Redis的工作原理:

  1. 内存存储:Redis的所有数据都存储在内存中,因此读写速度非常快。这也是Redis高性能的主要原因。

  2. 单线程:Redis通过单线程处理所有的客户端请求,避免了多线程的竞争和同步问题,简化了数据结构的处理。然而,Redis在内部使用了非阻塞的I/O多路复用机制,使得它能够同时处理多个客户端请求。

  3. 持久化:Redis支持两种方式的数据持久化,即RDB(Redis Database Dump)和AOF(Append-Only File)。RDB通过将数据快照保存到硬盘中,而AOF则记录每个写操作的日志,使得在重启后可以恢复数据。

  4. 主从复制:Redis支持主从复制机制,可以配置多个Redis实例之间的主从关系。主节点将数据同步到从节点,从而实现数据的备份、读写分离和负载均衡。

  5. 高可用性:Redis提供了Sentinel和Cluster两种方式来实现高可用性。Sentinel用于监控Redis主节点的状态,一旦主节点故障,会自动将从节点切换为主节点。而Cluster是一种分布式方案,将数据分片存储在多个节点上,实现了自动分片和数据复制。

下面我们开始搭建Redis哨兵模式

(哨兵模式是一种故障转移策略,哨兵模式是在主从的基础上搭建)

下载redis安装包:

链接:https://pan.baidu.com/s/1VKrVGMyAKmMHsbwGxmwGkA 
提取码:6vfw

Redis是基于C语言编写的,所有安装Redis之前需要gcc依赖

yum install -y gcc tcl
把安装包放入usr目录,下载好的安装包之间拖入即可
 cd /usr

解压

 tar -zxvf redis-7.0.12.tar.gz

进入redis7.0.12

cd redis-7.0.12

使用make 命令进行编译将.c文件编译成.o文件

 make

编译成功之后会出现“It's a good idea to run 'make test'”的提示

使用命令 进行安装

make PREFIX=/usr/local/redis install

安装完后,在/usr/local/redis/bin下有几个可执行文件可以查看

 ll /usr/local/redis/bin

redis启动需要一个配置文件,可以修改端口号等信息

安装目录下将redis.conf文件拷贝到/usr/local/redis目录中

cp redis.conf /usr/local/redis

进入 /usr/local/redis

cd /usr/local/redis

修改配置文件redis.conf

vim	redis.conf
	//让Redis绑定在 0.0.0.0 这个 IP 地址上,表示可以接收任何 IP 地址的连接。
    将bind 127.0.0.1 -::1 替换为 bind 0.0.0.0
    //这个表示支持后台启动										
	将 daemonize on 替换成 daemonize yes 
    //protected-mode  保护模式,一定要关闭
	将protected yes 改为no
    //Redis运行日志						
	日志logfile   “./redis.log”
    //登录密码 建议设置为相同密码维护成本低,不同也可以
	requirepass xxxx  <设置密码>
    masterauth xxxx  <设置密码>
      
注意:从服务器把修改replicaof <主服务器ip  端口>  ----------------**主服务器不用配**

保存

:wq

加权限

 chmod 777 redis.conf

使用bin/redis-server ./redis.conf启动redis服务

./bin/redis-server ./redis.conf

使用命令ps -ef|grep redis查看已经启动的redis服务关闭redis服务 ps -ef|grep redis

使用./bin/redis-cli 命令进入到redis的客户端

./bin/redis-cli

测试安装是否成功

哨兵模式配置

修改/usr/redis-7.0.12/sentinel.conf中的配置

哨兵配置

#护模式关闭,这样其他服务起就可以访问此台redis
protected-mode no

#端口
port 26379

# 哨兵模式是否后台启动,默认no,改为yes
daemonize yes

pidfile "/var/run/redis-sentinel.pid"

# log日志保存位置
logfile  "/usr/local/redis/sentinel/redis-sentinel.log"

# 工作目录
dir "/usr/redis-7.0.12"

# master主机ip地址
sentinel monitor mymaster <主服务器ip> 6379 2

# master中redis的密码

sentinel auth-pass mymaster XXXX<主密码>

# 哨兵从master节点宕机后,等待多少时间(毫秒),认定master不可用。默认30s
sentinel down-after-milliseconds mymaster 30000

#如果报错注释掉 acllog-max-len 128
acllog-max-len 128


# 当替换主节点后,剩余从节点重新和新master做同步的并行数量,默认为 1
sentinel parallel-syncs mymaster 1


# 主备切换的时间,若在3分钟内没有切换成功,换另一个从节点切换
sentinel failover-timeout mymaster 180000


#如果报错注释掉下面内容根据情况注释
sentinel deny-scripts-reconfig yes

SENTINEL resolve-hostnames no

SENTINEL announce-hostnames no

SENTINEL master-reboot-down-after-period mymaster 0

创建日志文件夹

cd  /usr/local/redis   

mkdir sentinel

启动所有哨兵

cd /usr/local/redis/bin/

./redis-sentinel /usr/redis-7.0.12/sentinel.conf

哨兵日志

cd /usr/local/redis/sentinel/

tail -100f redis-sentinel.log

启动命令合集

#redis启动
cd /usr/local/redis
./bin/redis-server ./redis.conf
#redis客户端登录
cd /usr/local/redis
./bin/redis-cli
#redis 哨兵日志
cd /usr/local/redis/sentinel/
tail -100f redis-sentinel.log
#redis日志
cd /usr/local/redis
tail -100f redis

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上搭建Redis哨兵模式,可以按照以下步骤进行操作: 1. 首先,确保已经在CentOS 7上安装了Redis。可以使用以下命令进行安装: ``` sudo yum install redis ``` 2. 下一步是配置Redis服务器。你可以复制Redis配置文件到指定的位置,如: ``` sudo cp redis.conf /etc/redis/redis.conf ``` 3. 打开Redis配置文件,并根据需要进行修改。你可以使用文本编辑器打开该文件: ``` sudo vi /etc/redis/redis.conf ``` 4. 在配置文件中找到并修改以下参数: - 将`bind`参数设置为`127.0.0.1`以允许本地连接。 - 将`port`参数设置为Redis服务器的端口号。 - 将`daemonize`参数设置为`yes`以将Redis服务器作为守护进程运行。 - 如果需要密码认证,可以设置`requirepass`参数为所需的密码。 - 如果需要配置主从复制,可以设置`slaveof`参数为主服务器的IP地址和端口号。 5. 保存并关闭配置文件。 6. 现在可以启动Redis服务器。使用以下命令启动Redis: ``` redis-server /etc/redis/redis.conf ``` 7. 如果需要配置Redis主从复制,可以按照以下步骤进行操作: - 在从服务器上重复步骤1到步骤5,确保从服务器的配置文件与主服务器的配置文件相匹配。 - 启动从服务器的Redis实例,使用以下命令: ``` redis-server /etc/redis/redis.conf --slaveof <master_ip> <master_port> ``` 8. 如果需要配置Redis哨兵模式,可以按照以下步骤进行操作: - 复制哨兵配置文件到指定位置,如: ``` sudo cp sentinel.conf /etc/redis/sentinel.conf ``` - 打开哨兵配置文件,并根据需要进行修改。你可以使用文本编辑器打开该文件: ``` sudo vi /etc/redis/sentinel.conf ``` - 在配置文件中找到并修改以下参数: - 将`bind`参数设置为哨兵的IP地址。 - 将`port`参数设置为哨兵的端口号。 - 将`sentinel monitor`参数设置为监控的主服务器的名称、IP地址和端口号。 - 保存并关闭配置文件。 - 启动哨兵实例,使用以下命令: ``` redis-sentinel /etc/redis/sentinel.conf ``` 9. 现在,你已经成功搭建Redis哨兵模式的集群。 是关于启动Redis服务器和哨兵的命令。提供了验证Redis集群及哨兵系统运行的指令。描述了配置Redis服务器的步骤。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [手把手教你在Centos7服务器搭建Redis哨兵(1主2从3哨兵)](https://blog.csdn.net/liulianglin/article/details/120421628)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值