首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基本3节点磁盘集群上的复制问题

基本3节点磁盘集群上的复制问题
EN

Stack Overflow用户
提问于 2016-06-09 00:21:58
回答 1查看 77关注 0票数 1

我在一个三节点磁盘集群上遇到了一个复制问题,这看起来很奇怪,因为这个用例相当典型,所以我完全有可能做错了什么。

下面是在本地复制它的方法:

代码语言:javascript
复制
# relevant disque info
disque_version:1.0-rc1
disque_git_sha1:0192ba7e
disque_git_dirty:0
disque_build_id:b02910aa5c47590a

启动端口9001、9002和9003中的3个disque节点,然后让端口9002和9003上的服务器与9001相遇。

代码语言:javascript
复制
127.0.0.1:9002> CLUSTER MEET 127.0.0.1 9001 #=> OK

127.0.0.1:9003> CLUSTER MEET 127.0.0.1 9001 #=> OK

不出所料,HELLO会为所有三个节点报告相同的数据。

代码语言:javascript
复制
127.0.0.1:9003> hello
1) (integer) 1
2) "e93cbbd17ad12369dd2066a55f9d4c51be9c93dd"
3) 1) "b61c63e8fd0c67544f895f5d045aa832ccb47e08"
   2) "127.0.0.1"
   3) "9001"
   4) "1"
4) 1) "b32eb6501e272a06d4c20a1459260ceba658b5cd"
   2) "127.0.0.1"
   3) "9002"
   4) "1"
5) 1) "e93cbbd17ad12369dd2066a55f9d4c51be9c93dd"
   2) "127.0.0.1"
   3) "9003"
   4) "1"

作业入队成功,但作业不会在其他节点的QLENQPEEK上显示。

代码语言:javascript
复制
127.0.0.1:9001> addjob myqueue body 1 #=> D-b61c63e8-IFA29ufvL37FRVjVVWisbO/x-05a1
127.0.0.1:9001> qlen myqueue          #=> 1

127.0.0.1:9002> qlen myqueue          #=> 0
127.0.0.1:9002> qpeek myqueue 1       #=> (empty list or set)

127.0.0.1:9003> qlen myqueue          #=> 0
127.0.0.1:9003> qpeek myqueue 1       #=> (empty list or set)

当显式设置高于节点数的复制值时,disque将失败,并返回NOREPL,正如预期的那样,显式复制级别2会成功,但在节点9002和9003中仍然看不到作业。无论我在哪个节点中添加作业,都会发生相同的行为。

我的理解是,复制在调用ADDJOB时同步发生(除非显式使用ASYNC),但它似乎不能正常工作,测试套件正在传递master分支,所以我在这里遇到了困难,必须深入研究源代码,任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2016-06-09 01:09:08

作业已复制,但仅在一个节点中排队。尝试杀死第一个节点,以查看作业在另一个节点中排队。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37707900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档