今天配置了一下redis集群,主要是为了防止主服务"死"掉,其中一种是配了两台从服务,下面是代码配置
1.首先注意的是下载的redis一定是Windows版本的,而且版本不要太低,要不然tcp-backlog这个配置不能生效,在启动是回报错,下面是需要配的文件,在把redi.windows.conf复制两份,分别命名为redis-6380,redis-6381
其中需要修改的是timeout 300和port 6379,post分别改成6380,6381,,如果下载下来的没有slaveof 127.0.0.1 6379,那么就改成这个,3个文件是一样的
2.这样,主从的服务就配置好了,我们在它的文件下面用命令启动
redis-server.exe启动主服务
redis-server.exe redis-6380启动从服务
redis-server.exe redis-6381启动从服务
3.配置sentinel
修改sentinel known-slave mymaster 127.0.0.1 6380,三个都是都是对应的端口
# Example sentinel.conf # port <sentinel-port> # The port that this sentinel instance will run on port 26379 daemonize yes # sentinel announce-ip <ip> # sentinel announce-port <port> # # The above two configuration directives are useful in environments where, # because of NAT, Sentinel is reachable from outside via a non-local address. # # When announce-ip is provided, the Sentinel will claim the specified IP address # in HELLO messages used to gossip its presence, instead of auto-detecting the # local address as it usually does. # # Similarly when announce-port is provided and is valid and non-zero, Sentinel # will announce the specified TCP port. # # The two options don't need to be used together, if only announce-ip is # provided, the Sentinel will announce the specified IP and the server port # as specified by the "port" option. If only announce-port is provided, the # Sentinel will announce the auto-detected local IP and the specified port. # # Example: # # sentinel announce-ip 1.2.3.4 # dir <working-directory> # Every long running process should have a well-defined working directory. # For Redis Sentinel to chdir to /tmp at startup is the simplest thing # for the process to don't interfere with administrative tasks such as # unmounting filesystems. # sentinel monitor <master-name> <ip> <redis-port> <quorum> # # Tells Sentinel to monitor this master, and to consider it in O_DOWN # (Objectively Down) state only if at least <quorum> sentinels agree. # # Note that whatever is the ODOWN quorum, a Sentinel will require to # be elected by the majority of the known Sentinels in order to # start a failover, so no failover can be performed in minority. # # Slaves are auto-discovered, so you don't need to specify slaves in # any way. Sentinel itself will rewrite this configuration file adding # the slaves using additional configuration options. # Also note that the configuration file is rewritten when a # slave is promoted to master. # # Note: master name should not include special characters or spaces. # The valid charset is A-z 0-9 and the three characters ".-_". sentinel monitor mymaster 127.0.0.1 6381 2 # sentinel auth-pass <master-name> <password> # # Set the password to use to authenticate with the master and slaves. # Useful if there is a password set in the Redis instances to monitor. # # Note that the master password is also used for slaves, so it is not # possible to set a different password in masters and slaves instances # if you want to be able to monitor these instances with Sentinel. # # However you can have Redis instances without the authentication enabled # mixed with Redis instances requiring the authentication (as long as the # password set is the same for all the instances requiring the password) as # the AUTH command will have no effect in Redis instances with authentication # switched off. # # Example: # # sentinel auth-pass mymaster MySUPER--secret-0123passw0rd # sentinel down-after-milliseconds <master-name> <milliseconds> # # Number of milliseconds the master (or any attached slave or sentinel) should # be unreachable (as in, not acceptable reply to PING, continuously, for the # specified period) in order to consider it in S_DOWN state (Subjectively # Down). # # Default is 30 seconds. sentinel config-epoch mymaster 4 # sentinel parallel-syncs <master-name> <numslaves> # # How many slaves we can reconfigure to point to the new slave simultaneously # during the failover. Use a low number if you use the slaves to serve query # to avoid that all the slaves will be unreachable at about the same # time while performing the synchronization with the master. sentinel leader-epoch mymaster 4 # sentinel failover-timeout <master-name> <milliseconds> # # Specifies the failover timeout in milliseconds. It is used in many ways: # # - The time needed to re-start a failover after a previous failover was # already tried against the same master by a given Sentinel, is two # times the failover timeout. # # - The time needed for a slave replicating to a wrong master according # to a Sentinel current configuration, to be forced to replicate # with the right master, is exactly the failover timeout (counting since # the moment a Sentinel detected the misconfiguration). # # - The time needed to cancel a failover that is already in progress but # did not produced any configuration change (SLAVEOF NO ONE yet not # acknowledged by the promoted slave). # # - The maximum time a failover in progress waits for all the slaves to be # reconfigured as slaves of the new master. However even after this time # the slaves will be reconfigured by the Sentinels anyway, but not with # the exact parallel-syncs progression as specified. # # Default is 3 minutes. sentinel known-slave mymaster 127.0.0.1 6380 # SCRIPTS EXECUTION # # sentinel notification-script and sentinel reconfig-script are used in order # to configure scripts that are called to notify the system administrator # or to reconfigure clients after a failover. The scripts are executed # with the following rules for error handling: # # If script exits with "1" the execution is retried later (up to a maximum # number of times currently set to 10). # # If script exits with "2" (or an higher value) the script execution is # not retried. # # If script terminates because it receives a signal the behavior is the same # as exit code 1. # # A script has a maximum running time of 60 seconds. After this limit is # reached the script is terminated with a SIGKILL and the execution retried. # NOTIFICATION SCRIPT # # sentinel notification-script <master-name> <script-path> # # Call the specified notification script for any sentinel event that is # generated in the WARNING level (for instance -sdown, -odown, and so forth). # This script should notify the system administrator via email, SMS, or any # other messaging system, that there is something wrong with the monitored # Redis systems. # # The script is called with just two arguments: the first is the event type # and the second the event description. # # The script must exist and be executable in order for sentinel to start if # this option is provided. # # Example: # # sentinel notification-script mymaster /var/redis/notify.sh # CLIENTS RECONFIGURATION SCRIPT # # sentinel client-reconfig-script <master-name> <script-path> # # When the master changed because of a failover a script can be called in # order to perform application-specific tasks to notify the clients that the # configuration has changed and the master is at a different address. # # The following arguments are passed to the script: # # <master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port> # # <state> is currently always "failover" # <role> is either "leader" or "observer" # # The arguments from-ip, from-port, to-ip, to-port are used to communicate # the old address of the master and the new address of the elected slave # (now a master). # # This script should be resistant to multiple invocations. # # Example: # # sentinel client-reconfig-script mymaster /var/redis/reconfig.sh # Generated by CONFIG REWRITE
启动sentinel,命令redis-server.exe sentinel26379.comfig --sentinal
4.命令检查
redis-cli.exe -h 127.0.0.1 info Replication
会看到master
redis-cli.exe -p 6380 info Replication
redis-cli.exe -p 6381 info Replication
会看到slave
这样就配置成功了
相关推荐
集群已配置好,点击start.bat即可开启,可以按个人需求添加或删除redis服务器个数。 注意:由于本人配置redis.conf中的路径使用的是绝对路径,当前redis安装目录的父目录为D:\InstallDir,可以在每个配置文件中修改...
以下将详细介绍如何在SpringCloud中配置和使用Redis集群。 首先,你需要了解Redis集群的基本概念。Redis集群通过数据分片(Sharding)技术,将数据分散存储在多个节点上,每个节点只负责一部分数据,从而实现数据的...
在本文中,我们将深入探讨如何在SpringBoot应用中集成Redis集群以及如何配置Redis服务器。首先,Redis是一个开源的、基于键值对的数据存储系统,常用于数据库、缓存和消息中间件。它以其高性能和易用性而备受青睐。...
在 Windows 环境下搭建 Redis 集群需要详细的步骤和配置,以下是详细的知识点总结: 一、前期准备 * 需要安装 Redis 和 Ruby 语言运行环境 * 需要安装 Redis 的 Ruby 驱动 redis-xxxx.gem * 需要创建 Redis 集群的...
总结来说,Windows下的Redis集群配置涉及安装、配置Redis实例、创建集群和打包部署等多个环节。通过编写和打包bat脚本,可以简化操作,提高工作效率。在实际应用中,应根据具体需求调整集群规模和槽分配策略,以确保...
在本文中,我们将深入探讨Linux系统中的Redis集群以及如何在Windows环境下搭建Redis集群。首先,我们来看一下标题和描述中提及的关键组件。 标题提到了“Linux系统中redis集群包”,这意味着我们要讨论的是在Linux...
2. **Redis集群配置** 在创建Redis集群前,需要配置每个节点的`redis.conf`文件,开启集群模式,取消`bind`设置(或指定允许连接的IP),并设置`cluster-enabled yes`,以及`cluster-config-file nodes-6379.conf`...
在Windows环境下搭建Redis集群可以提供灵活的数据存储和快速访问能力,尤其适合开发和测试环境。本压缩包提供了预配置好的Windows版Redis集群,用户无需复杂的配置,只需双击`startAll.bat`即可启动全部服务,极大地...
在Windows环境下搭建Redis集群是一项技术性的工作,涉及到多个Redis实例的配置和协调,以实现数据的高可用性和可扩展性。以下将详细讲解这个过程。 首先,我们需要了解Redis集群的基本概念。Redis Cluster是Redis...
在Windows环境下搭建Redis集群是一项技术性的工作,涉及到多个步骤和组件。Redis是一个开源的、基于键值对的数据存储系统,广泛应用于缓存、数据库和消息队列等场景。集群模式可以提升Redis的服务能力和数据安全性,...
本资源"Redis-3.2.100-Windows集群配置版"提供了在Windows上配置Redis集群的便捷方案。 该压缩包包含了一个预配置好的Redis集群,由3个主节点、3个从节点以及2个哨兵(Sentinel)节点组成。这样的设置确保了数据的...
在Windows环境下搭建Redis集群可以让你在本地进行分布式缓存的测试和学习。以下是一个详细的步骤指南: 1. **下载所需软件** - Redis版本:3.2.1-x64 - Ruby版本:2.5.1-1-x64 - Rubygems版本:2.7.6 可从提供...
在Windows环境下搭建Redis集群是一项重要的任务,特别是在分布式缓存或数据存储的需求日益增长的今天。本文将详细讲解如何在Windows操作系统上快速安装并配置一个由6个节点组成的Redis集群,其中包括3个主节点和对应...
一主二从三哨兵文件配置,开箱即用,Redis三个文件夹以及配置文件,修改配置文件即可
本压缩包“windows下redis集群及bat执行文件打包修改版2”提供了在Windows上搭建Redis集群的解决方案,包括配置文件、bat执行脚本等,方便用户快速部署和管理。 集群是Redis的一种扩展特性,允许将数据分散存储在多...
以上就是Windows环境下搭建Redis集群的详细步骤,包括了从安装Ruby、Redis到配置和管理集群的所有关键知识点。在实际操作中,可能会遇到一些小问题,但只要理解了基本原理,解决这些问题并不困难。
以上就是在Windows环境下搭建Redis主从集群和哨兵集群的基本步骤和关键知识点。通过这种方式,我们可以构建一个高可用、高可靠的Redis服务,满足大规模应用的需求。参考提供的博客文章...
在Windows上部署Redis集群,我们可以借助PowerShell脚本来自动化这一过程。 首先,`redis.conf`是Redis的配置文件,它包含了Redis服务器的各项参数设定,如端口号、数据持久化策略、内存限制等。在设置Redis集群时...
在本资源包中,提供了搭建Redis集群所需的各种工具和教程,帮助你在Windows环境下进行操作。 首先,让我们来了解Redis集群的基础知识。Redis集群通过分片(Sharding)技术将数据分散到多个节点上,实现数据的冗余和...
在Windows环境下快速构建Redis集群是一项常见的任务,尤其对于开发者和系统管理员来说,高效地设置分布式缓存服务至关重要。本文将详细介绍如何使用“Redis-x64-3.2.100”这一特定版本在Windows上一键搭建Redis集群...