目前,我们正在尝试使用Redis2.8.7作为缓存存储(从。NET web应用程序中使用Booksile客户机)。这似乎是一个非常有趣和令人兴奋的任务,目前,redis的文档非常好,但由于缺乏真正的实践经验,我确实有几个问题,关于如何正确地完成预期的配置。
我将下一篇文章作为主要配置来源:
最初的想法/假设-是有1个redis主和2个从实例运行与linux Ubuntu。为了提供实例的高可用性,我决定使用Sentinel。因此,目前我的预期配置如下所示:
在VMs启动后,我可以看到我已经成功地连接了2个从服务器,并与Master同步:来自Master的Trace示例:
[1120] 25 Mar 14:11:18.629 - 1 clients connected (0 slaves), 793352 bytes in use
[1120] 25 Mar 14:11:18.634 * Slave asks for synchronization
[1120] 25 Mar 14:11:18.634 * Full resync requested by slave.
[1120] 25 Mar 14:11:18.634 * Starting BGSAVE for SYNC
[1120] 25 Mar 14:11:18.634 * Background saving started by pid 1227
[1227] 25 Mar 14:11:18.810 * DB saved on disk
[1227] 25 Mar 14:11:18.810 * RDB: 0 MB of memory used by copy-on-write
[1120] 25 Mar 14:11:18.836 * Background saving terminated with success
[1120] 25 Mar 14:11:18.837 * Synchronization with slave succeeded
[1120] 25 Mar 14:11:23.829 - DB 0: 2 keys (0 volatile) in 4 slots HT.
[1120] 25 Mar 14:11:23.829 - DB 2: 4 keys (0 volatile) in 4 slots HT.
[1120] 25 Mar 14:11:23.829 - 0 clients connected (1 slaves), 1841992 bytes in use
[1120] 25 Mar 14:11:29.011 - DB 0: 2 keys (0 volatile) in 4 slots HT.
[1120] 25 Mar 14:11:29.011 - DB 2: 4 keys (0 volatile) in 4 slots HT.
[1120] 25 Mar 14:11:29.011 - 0 clients connected (1 slaves), 1841992 bytes in use
[1120] 25 Mar 14:11:29.826 - Accepted 168.62.36.189:1024
[1120] 25 Mar 14:11:29.828 * Slave asks for synchronization
[1120] 25 Mar 14:11:29.828 * Full resync requested by slave.
[1120] 25 Mar 14:11:29.828 * Starting BGSAVE for SYNC
[1120] 25 Mar 14:11:29.828 * Background saving started by pid 1321
[1321] 25 Mar 14:11:29.871 * DB saved on disk
[1321] 25 Mar 14:11:29.871 * RDB: 0 MB of memory used by copy-on-write
[1120] 25 Mar 14:11:29.943 * Background saving terminated with success
[1120] 25 Mar 14:11:29.946 * Synchronization with slave succeeded
[1120] 25 Mar 14:11:34.195 - DB 0: 2 keys (0 volatile) in 4 slots HT.
[1120] 25 Mar 14:11:34.195 - DB 2: 4 keys (0 volatile) in 4 slots HT.
[1120] 25 Mar 14:11:34.195 - 0 clients connected (2 slaves), 1862920 bytes in use
>
在每个配置中,我做了下一个修改:
哨兵监视器mymaster MasterPublicIP 6379 2
在每个VM上,使用下一个命令行启动sentinel:
[1743] 25 Mar 16:35:46.450 # Sentinel runid is 05380d689af9cca1e826ce9c85c2d68c65780878
[1743] 25 Mar 16:35:46.450 # +monitor master mymaster MasterIP 6379 quorum 2
[1743] 25 Mar 16:36:11.578 * -dup-sentinel master mymaster MasterIP 6379 #duplicate of 10.119.112.41:26379 or 83666bdd03fd064bcf2ec41ec2134d4e1e239842
[1743] 25 Mar 16:36:11.578 * +sentinel sentinel 10.119.112.41:26379 10.119.112.41 26379 @ mymaster 168.62.41.1 6379
[1743] 25 Mar 16:36:16.468 # +sdown sentinel 10.175.220.134:26379 10.175.220.134 26379 @ mymaster 168.62.41.1 6379
[1743] 25 Mar 16:36:40.876 * -dup-sentinel master mymaster MasterIP 6379 #duplicate of 10.175.220.134:26379 or fe9edeb321e04070c6ac6e28f52c05317a593ffd
[1743] 25 Mar 16:36:40.876 * +sentinel sentinel 10.175.220.134:26379 10.175.220.134 26379 @ mymaster 168.62.41.1 6379
[1743] 25 Mar 16:37:10.962 # +sdown sentinel 10.175.220.134:26379 10.175.220.134 26379 @ mymaster 168.62.41.1 6379
之后,我启动了新的putty连接,并启动了redis-cli来使用sentinel APIs,但收到了下面命令的下一个响应:
127.0.0.1:6379> SENTINEL masters
(error) ERR unknown command 'SENTINEL'
我想我做了些蠢事...:(我做错了什么?如何从终端连接测试哨兵API?
我想“哨兵大师”应该在Redis sentinel上运行
Redis-CLI-P 26379(默认哨兵端口)
然后发行
127.0.0.1:26379>哨兵大师
1)“名称”2)“MyMaster”3)“IP”4)“127.0.0.1”5)“端口”6)“6379”...
要自动启动哨兵,即使重新启动VM
首先设置daemonize yes到sentinel.conf
剩下的就像你为redis服务器做的一样。
每一个哨兵都可以连接到我的主人,并可以看到奴隶。它们能够独立地检测主从是否倒下。问题是哨兵们无法探测到对方。 我已经验证了每个哨兵都像预期的那样向通道发布消息,但似乎没有一个哨兵真正从其他哨兵通道接收消息。 我怎么让哨兵们见面?
redis大师可以通过sentinel发现,使用: 现在要将数据写入主节点:
但是,当我通过redis-cli-p26379连接并输入“config get maxclients”时,它告诉我没有这样的命令。但是,如果我连接到实际的Redis实例,它就可以工作。 如何获取redis sentinel的maxclients值?
我有一个名为“abc”的订阅,其中存储表有4列,用于开发环境。对于测试和生产环境,我们在azure portal中有不同的订阅。我的情况是,我不想在测试和生产环境中再次手动创建存储表。我希望将此表模式作为开发环境中的模板,并通过自动传递订阅密钥、资源组名称、存储帐户访问密钥,在测试和生产环境中创建它。 我如何才能实现它。
本文向大家介绍Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量),包括了Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量)的使用技巧和注意事项,需要的朋友参考一下 用文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读。在这个文件中,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CA
我正试图使用两个redis节点设置哨兵。请找到内联的conf文件。 端口16371 dir“C:\程序文件\redis\16371\” loglevel通知 日志文件“C:\Program Files\redis\logs\16371.log” 哨兵监视器示例127.0.0.1 6371 *致命配置文件错误*读取配置文件,在第5行 有人能帮我把这个修好吗。蒂亚:)