十三、Linux(CentOS7) Redis集群模式和哨兵模式配置

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 一、Redis集群配置创建集群目录mkdir -p /usr/local/redis-clustercd /usr/local/redis-clustermkdir 6379 6378修改配置文件vi redis.conf

一、Redis集群配置


创建集群目录


mkdir -p /usr/local/redis-cluster
cd /usr/local/redis-cluster
mkdir 6379 6378


修改配置文件


vi redis.conf


daemonize yes
port 6379
dir /usr/local/redis-cluster/6379/
cluster-enabled yes #启动集群模式
cluster-config-file nodes-6379.conf
cluster-node-timeout 5000
bind 0.0.0.0
protected-mode no
appendonly yes
#如果要设置密码需要增加如下配置:
 #(设置redis访问密码)
requirepass 123456
 #(设置集群节点间访问密码,跟上面一致)
masterauth 123456


把修改后的配置文件,copy到6379、6378,修改第2、3、5项里的端口号,可以用批量

%s/源字符串/目的字符串/g


启动redis:


./redis-server  /usr/local/redis-cluster/6379/redis.conf
./redis-server  /usr/local/redis-cluster/6378/redis.conf


查看是否启动成功


ps -ef | grep redis


用redis-cli创建整个redis集群:


测试环境:


./redis-cli --cluster create 192.168.10.195:6379 192.168.10.195:6378 192.168.10.124:6379 192.168.10.124:6378 192.168.10.100:6379 192.168.10.100:6378 --cluster-replicas 1 -a sbjcptTest


生产环境:


./redis-cli --cluster create 10.1.8.111:6301 10.1.8.111:6302 10.1.8.112:6303 10.1.8.112:6304 10.1.8.113:6305 10.1.8.113:6306 --cluster-replicas 1 -a sbjcptTest


验证集群:


./redis-cli -c -a sbjcptTest -h 192.168.10.195 -p 6379
./redis-cli -c -a xxx -h 10.1.8.111 -p 6301
./redis-cli -c -a sbjcptTest -h 10.1.8.112 -p 6301


常用命令:


# 查看集群信息
cluster info
# 查看节点列表
cluster nodes


二、Redis哨兵模式配置(主备):


创建数据存放目录


mkdir /data
mkdir /data/redis
mkdir /data/redis/redis-log
mkdir /data/redis/data


首先配置Redis的主服务器,修改redis.conf文件如下


# 使得Redis服务器可以跨网络访问
bind 0.0.0.0
dir "/data/redis/data"
daemonize yes
logfile "/data/redis/redis-log/redis.log"


# 设置密码
requirepass "123456"


# 主服务器密码,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
masterauth 123456


配置Redis的从服务器,修改配置文件redis.conf


# 使得Redis服务器可以跨网络访问
bind 0.0.0.0
dir "/data/redis/data"
daemonize yes
logfile "/data/redis/redis-log/redis.log"
# 设置密码
requirepass "123456"
# 主服务器密码,,这个都要配置,不然主从无法用
masterauth 123456
# 注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
slaveof 192.168.10.195 6379
# 关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
# 启动:./redis-server ../redis.conf
# 查看集群是否正常:
redis-cli  -h 192.168.10.195 -p 6379 -a 123456 info Replication
[root@localhost src]# redis-cli  -h 192.168.10.195 -p 6379 -a 123456 info Replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.


# Replication
role:master
connected_slaves:2
slave0:ip=192.168.10.100,port=6379,state=online,offset=70,lag=0
slave1:ip=192.168.10.124,port=6379,state=online,offset=70,lag=0
master_replid:808f22bacf3af9192301aba5c63afff7d60f3b41
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:70
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:70
# 测试
redis-cli  -h 192.168.10.195 -p 6379 -a 123456
AUTH 123456
set k1 v1
exit
# 测试
redis-cli  -h 192.168.10.124 -p 6379 -a 123456
AUTH 123456
get k1


安装哨兵


# 3台Redis服务器都需执行
vi   sentinel.conf


mkdir /data/redis/sentinel-log
dataport 26379
protected-mode no
daemonize yes
pidfile /var/run/redis-sentinel.pid
logfile "/data/redis/sentinel-log/sentinel.log"
dir /tmp
sentinel monitor mymaster 192.168.10.195 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
sentinel auth-pass mymaster 123456


启动哨兵:


./redis-sentinel  ../sentinel.conf


测试查看哨兵:


./redis-cli -h 192.168.10.195 -p 26379 INFO Sentinel
./redis-cli  -h 192.168.10.195 -p 6379 -a 123456 info Replication
./redis-cli -h 10.1.8.112 -p 26379 INFO Sentinel
./redis-cli  -h 10.1.8.112 -p 6379 -a 123456 info Replication


关闭命令:


pkill redis-sentinel
pkill redis-server


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2天前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
27 13
|
24天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
420 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
1月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
65 9
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
46 5
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
71 2
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
95 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
266 6
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
80 3
|
1月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
72 2
下一篇
DataWorks