我有2个哨兵和2个Redis服务器。 我想使用redis服务器的主机名来configuration哨兵。 目前,我在这个主机文件中定义每个主机名。 10.22.20.156 clsupport1 10.22.20.157 clsupport2 我尝试像这样configuration哨兵。 daemonize yes pidfile "/var/run/redis_sentinel_26379.pid" loglevel notice logfile "/var/log/redis_sentinel_26379.log" port 26379 dir "/tmp" sentinel monitor redis-prod clsupport2 6379 1 sentinel config-epoch redis-prod 3 sentinel leader-epoch redis-prod 4 sentinel known-slave redis-prod clsupport1 6379 在我启动我的哨兵后,它会自动用IP地址replace主机名。 重启后。 daemonize yes pidfile "/var/run/redis_sentinel_26379.pid" loglevel notice logfile "/var/log/redis_sentinel_26379.log" port 26379 dir "/tmp" sentinel monitor […]
我们使用PhpRedis作为PHP会话的会话处理程序。 除此之外,我们正在运行一个标准的Apache / PHPconfiguration。 由于我们使用的是外部的Redis-as-a-service提供商,因此我们希望保持低的连接数量,因为它们要求每月支付。 我们正在经历越来越多的连接,即使在PHP网站完全闲置的时候。 连接数量一直在增加,我们迅速达到数十个连接。 有没有办法限制/汇集这些连接? 我们发现唯一可能相关的解决scheme是限制Apache产生的工作者数量,但在我看来,这似乎是一个太苛刻的解决scheme。 我们已经尝试在连接string中使用persistent=1而没有任何可见的变化。 感谢您的任何提示。
我正在尝试在Debian Jessie上configurationredis 3.0.5(DotDeb build)来将数据库转储到另一个目录,而不是默认的/ var / lib / redis。 我知道如何做到这一点,在我的喘息的服务器上,这个相同版本的redis在另一个目录中完美地工作。 在Jessie中,redis启动,但不能写任何东西到数据库。 另外,当我尝试closures它时,它会logging“无法转储数据库,磁盘是只读的”,关机需要1-2分钟,而不是通常的1秒钟。 该磁盘不是只读的,我已经设置了所有权限,如在默认目录中。 我甚至把/ var / lib / redis直接移到了/ redisdump的根目录下,并在redis.conf文件中设置了新的path,但仍然存在错误。 不pipe我做什么,只要db文件在/ var / lib / redis中,就可以正常工作。 如果我尝试其他path,则会失败。 以前的redis版本没有这个问题。 当我设置日志级别进行debugging时,logging的信息量没有任何变化,所以我不知道是什么原因造成的。 任何想法或提示? 谢谢!
我有一个有三个Redis实例(一个主和两个从属)和三个Sentinel实例的体系结构。 在它的前面有一个HaProxy。 一切正常,直到主Redis实例出现故障。 新的主人是由哨兵正确select。 然而,老主人(现在已经倒下)没有重新configuration成从属人。 结果,当这个事件再次发生时,我有两个主人在短时间内(约11秒)。 那段时间之后,那个被提升的例子被正确降级为奴隶。 它不应该这样工作,当主人倒下时,它立即降级到奴隶? 有了它,当它再次起来,它会立即成为奴隶。 我知道(自Redis 2.8以来)有CONFIG REWRITEfunction,所以在Redis实例closures时configuration不能被修改。 有两个主人一段时间对我来说是一个问题,因为HaProxy在短时间内不向一个主Redis发送请求,而是在这两个主人之间进行负载平衡。 有没有办法立即将失败的主机降级到奴隶? 显然,我改变了哨兵超时。 以下是主控制器closures后来自Sentinel和Redis实例的一些日志: 哨兵 81358:X 23 Jan 22:12:03.088 # +sdown master redis-ha 127.0.0.1 63797.0.0.1 26381 @ redis-ha 127.0.0.1 6379 81358:X 23 Jan 22:12:03.149 # +new-epoch 1 81358:X 23 Jan 22:12:03.149 # +vote-for-leader 6b5b5882443a1d738ab6849ecf4bc6b9b32ec142 1 81358:X 23 Jan 22:12:03.174 # +odown master redis-ha […]
我有两个docker机器: $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS redis-master * virtualbox Running tcp://192.168.99.100:2376 v1.10.1 redis-slave1 – virtualbox Running tcp://192.168.99.101:2376 v1.10.1 我试图部署主/从redis复制到这些机器,所以我们运行REDIS容器+ SENTINEL容器,并在主SLAVEOF实例上运行SLAVEOF命令。 首先一切正常,但经过一段时间(1-2分钟)主打印# Connection with slave 192.168.99.101:6379 lost. 日志和从站日志中的消息# Connection with master lost.站的# Connection with master lost. 和无限(没有成功)尝试与主同步。 我使用的REDIS版本是3.0.7 (也使用redis附带的sentinel)。 这里是MASTER日志(redis和sentinel日志): http : //pastebin.com/raw/MvwCTeEu 这里是SLAVE日志(redis和sentinel日志): http : //pastebin.com/raw/vV6e3utK sentinel.conf: port 26379 […]
我们inheritance了一个系统,其中有一个用于排队操作的中央服务器。 Redis被选为排队代理。 偶尔(如每2-3天)redis服务的CPU使用率甚至超过100%。 我试图读取日志find原因: tail /var/log/redis/redis-server.log 但是它返回空的结果。 我发现这篇文章提出了一些东西。 但是redis不能回答我的命令。 我被困在这一点上,在做什么和如何find问题。 另外,有没有办法限制redis的CPU使用量?
我正在用logstash做一些POC的testing。 当使用redis缓冲消息时,看起来他们保持在redis中,并不断地被添加到elasticsearch作为新的事件。 例如,如果我重新启动服务,在Kibana中查看时,我会多次看到相同的事件。 如果我删除了redis层,它工作正常。 似乎我错过了从redis清除logging的东西,但我一直没有弄清楚什么。 这是我的logstashconfiguration: input.conf中 input { syslog { type => "syslog-relay" port => 5514 } } output { redis { host => "localhost" data_type => "list" key => "logstash" } } output.conf input { redis { host => "localhost" type => "redis-input" data_type => "list" key => "logstash" } } output { […]
我试图build立主/从复制,但奴隶似乎无法连接到主。 我在Hyper-V上安装了两台在CentOS 7上运行Redis 2.8.19的虚拟服务器。两台服务器都使用CentOS Minimal安装。 我使用Digital Ocean的指南执行了初始设置,如何在CentOS 7上configurationRedis集群(我删除了链接,以便可以链接下面的redis.conf文件)。 本教程中未提及的redis.conf中的所有设置均保留为默认设置。 我注意到主机和从机在从机上查看INFO时没有连接,所以我检查了redis.log并一遍又一遍地发现: [3384] 12 Apr 15:06:17.885 * Connecting to MASTER 10.10.0.138:6379 [3384] 12 Apr 15:06:17.885 # Unable to connect to MASTER: Permission denied 它是哪个权限? 我认为这是一个防火墙问题。 我仔细检查了firewall-cmd中的设置,他们似乎是正确的: [ichibanchef@gldev-redis-slave ~]$ sudo firewall-cmd –list-all public (default, active) interfaces: eth0 sources: services: dhcpv6-client ssh ports: 16379/tcp 6379/tcp masquerade: no forward-ports: icmp-blocks: […]
我试图设置redis sentinel使其具有高可用性和支持故障转移。 我开始设置redis复制(3个ec2实例中的1个主站和2个从站) 之后,我为每个实例安装redis-sentinel服务。 但是,当我试图远程访问redis-sentinal(从我的本地机器)它显示以下消息 拒绝Redis运行在保护模式下,因为启用了保护模式,没有指定绑定地址,没有向客户端请求authentication密码…. 所以,我试图在sentinel.conf设置requirepass 。 但是在我运行redis-cli -h REDIS-IP -a PASSWORD -p SENTINEL_PORT INFO 它显示如下 NOAUTHauthentication需要。 无论如何,我可以远程连接到redis-sentinel吗? 请指教。
自从我们将Web服务器(redis客户端)从Windows 2008 R2迁移到Windows 2012 R2以来,我们在Redis服务器上看到类似于以下的错误 [2455] 27 Jun 18:15:18.029#Client addr = 192.168.33.200:62653 fd = 86 name = WEB6 age = 79940 idle = 191 flags = N db = 0 sub = 1 psub = 2 multi = -1 qbuf = 0 qbuf-free = 0 obl = 16338 oll = 443 omem = 12395832 events […]