RabbitMQ有Nodesown错误(RabbitMQ has Nodedown Error)
在Windows 7 Enterprise机器上,我全新安装了Erlang 17.4和RabbitMQ 3.4.3 x64。 安装成功和平静。
我还没有尝试创建我的第一个队列或交换,但我已经看到麻烦了。 这个问题类似于另一个SO帖子 ,但其他帖子似乎涉及到聚类,我没有。 此外,其他海报可以通过重新启动RabbitMQ服务来规避他的问题; 那个办法对我来说不行。
我的“nodedown”问题在RabbitMQ命令提示符下显而易见:
C:\ Program Files(x86)\ RabbitMQ Server \ rabbitmq_server-3.4.3 \ sbin> rabbitmqctl status节点的状态@ TPAJ05421843 ...
错误:无法连接到节点兔@ TPAJ05421843:nodedown诊断
尝试联系:[rabbit @ TPAJ05421843]
兔@ TPAJ05421843:
*连接到TPAJ05421843上的epmd(端口4369)
* epmd报告:节点'兔子'根本没有运行
TPAJ05421843上的其他节点:['RabbitMQ']
*建议:启动节点当前节点细节:
- 节点名称:'rabbitmqctl-19884 @ TPAJ05421843'
- 家庭直播:H:\
- Cookie哈希:PD4QQCYrf0TME9vIko3Xuw ==基于上述,我选择检查明确命名为“RabbitMQ”的节点的状态。 我得到这个:
C:\ Program Files(x86)\ RabbitMQ Server \ rabbitmq_server-3.4.3 \ sbin> rabbitmqctl -n RabbitMQ status
节点'RabbitMQ @ TPAJ05421843'的状态...
错误:无法连接到节点'RabbitMQ @ TPAJ05421843':nodedown诊断
尝试联系:['RabbitMQ @ TPAJ05421843']
RabbitMQ的@ TPAJ05421843:
*连接到TPAJ05421843上的epmd(端口4369)
* epmd报告节点'RabbitMQ'在端口59301上运行
* TCP连接成功,但Erlang分发失败
*建议:主机名不匹配?
*建议:cookie设置是否正确?当前节点细节:
- 节点名称:'rabbitmqctl-23076 @ TPAJ05421843'
- 家庭直播:H:\
- Cookie哈希:PD4QQCYrf0TME9vIko3Xuw ==好的,这几乎没有更好,因为至少它承认在59301端口上运行的“RabbitMQ”。但是这可能意味着“Erlang分发失败”?
当我尝试研究这个话题时,我发现文章说“确保你已经匹配了cookies”。 基于此 ,我发现这篇文章声称“cookie不匹配”与我无关,因为我没有创建(也不打算创建)一个RabbitMQ集群。
我该怎么办?
On a Windows 7 Enterprise machine, I made a fresh install of Erlang 17.4 and RabbitMQ 3.4.3 x64. The installation was successful and uneventful.
I have not yet tried to create my first queue or exchange, but I already see trouble. This problem is similar to another SO post, but that other post appears to involve clustering, which I don't have. Furthermore, that other poster can circumvent his issue by restarting the RabbitMQ service; that approach does not work for me.
My "nodedown" problem is evident at the RabbitMQ command prompt:
C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.3\sbin>rabbitmqctl status Status of node rabbit@TPAJ05421843 ...
Error: unable to connect to node rabbit@TPAJ05421843: nodedownDIAGNOSTICS
attempted to contact: [rabbit@TPAJ05421843]
rabbit@TPAJ05421843:
* connected to epmd (port 4369) on TPAJ05421843
* epmd reports: node 'rabbit' not running at all
other nodes on TPAJ05421843: ['RabbitMQ']
* suggestion: start the nodecurrent node details:
- node name: 'rabbitmqctl-19884@TPAJ05421843'
- home dir: H:\
- cookie hash: PD4QQCYrf0TME9vIko3Xuw==Based on the above, I chose to check the status of the node explicitly named 'RabbitMQ'. I get this:
C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.3\sbin>rabbitmqctl -n RabbitMQ status
Status of node 'RabbitMQ@TPAJ05421843' ...
Error: unable to connect to node 'RabbitMQ@TPAJ05421843': nodedownDIAGNOSTICS
attempted to contact: ['RabbitMQ@TPAJ05421843']
RabbitMQ@TPAJ05421843:
* connected to epmd (port 4369) on TPAJ05421843
* epmd reports node 'RabbitMQ' running on port 59301
* TCP connection succeeded but Erlang distribution failed
* suggestion: hostname mismatch?
* suggestion: is the cookie set correctly?current node details:
- node name: 'rabbitmqctl-23076@TPAJ05421843'
- home dir: H:\
- cookie hash: PD4QQCYrf0TME9vIko3Xuw==Ok, this is barely better since at least it acknowledges 'RabbitMQ' running on port 59301. But what the heck could it mean that "Erlang distribution failed"?
When I try to research this topic, I found articles saying "be sure you have matched cookies." Based on that I found this article, which claims the "cookie mismatch" does not pertain to me, because I have not created (nor intend to create) a RabbitMQ cluster.
What should I do?
原文:https://stackoverflow.com/questions/28258392
最满意答案
您可以将未找到的代码移动到其他位置,如下所示:
// if the next is a long, print found and the long if (scanner.hasNextLong()) { System.out.println("Found :" + scanner.nextLong()); }else{ System.out.println("Not Found :" + scanner.next()); }
You can move the not found code under else, like this:
// if the next is a long, print found and the long if (scanner.hasNextLong()) { System.out.println("Found :" + scanner.nextLong()); }else{ System.out.println("Not Found :" + scanner.next()); }
相关问答
更多-
您可以将未找到的代码移动到其他位置,如下所示: // if the next is a long, print found and the long if (scanner.hasNextLong()) { System.out.println("Found :" + scanner.nextLong()); }else{ System.out.println("Not Found :" + scanner.next()); } You can m ...
-
我的扫描仪要求输入两次(My scanner asks for an input twice)[2023-06-03]
在线 Scanner choice1 = new Scanner(System.in); 缓冲区将为空。 当你到达该线 int choiceH = choice1.nextInt(); 输入一个数字,然后按Enter键。 在此之后,该数字将被存储在缓冲区中并被消耗(缓冲区将再次为空)。 当你到达该线 while (!choice1.hasNextInt()) 程序将检查缓冲区中是否有int ,但此时它将为空,因此hasNextInt将返回false 。 因此,条件将true ,程序将再次请求int 。 ... -
以下是如何完成所需工作的工作示例。 我将其分解,以便为每个输入提示一次用户,这样可以更容易验证。 我将checkInput方法更改为getInput ,它只返回有效的用户输入作为String ,然后将其转换为int 。 public static void main(String[] args) { Scanner in = new Scanner(System.in); int inputInt = Integer.parseInt(getInput(in, "Enter an integ ...
-
扫描仪更具特色?(More character to scanner?)[2021-09-16]
您正在读取的数字太大而无法通过int类型保存到整数变量中。 通常,您不应将电话号码信息存储在数字数据类型中。 考虑将此信息存储在String 。 请参阅telnumscanner.nextLine() You're reading a number that's too big to be held by an int type into an integer variable. In general, you shouldn't be storing phone number information in ... -
用相机快速扫描号码扫描仪(Number Scanner by camera in swift)[2023-06-10]
您可以使用Vision框架来检测文本的位置 ,并使用OCR框架来确定数字是什么。 Ray Wenderlich有一篇关于如何在这里使用tesseract框架的教程: https ://www.raywenderlich.com/163445/tesseract-ocr-tutorial-ios 可能还会有一些针对OCR进行培训的CoreML模型 ,如果您四处搜索,则可以使用它们。 You can use the Vision framework to detect where text is, and th ... -
Boolean started = false; while (scanner.hasNext()) { line = scanner.nextLine(); if (line.startsWith("BGSTART")) { started = true; continue; } if (line.startsWith("BGEND")) { started = false; break; } ...
-
第一个错误: if (yearIsNum = false || ylength != 3) 它应该是 if (yearIsNum = false || ylength != 4) 第二个错误: 正如@ChiefTwoPencils所述, yearIsNum = false会将yearIsNum = false指定为yearIsNum ,并且条件永远不会通过。 除了......布尔值之外,通常java都可以保护我们免受所有类型的错误。 为了避免将来出现这样的错误(并使代码更具可读性),您可 ...
-
这是一个经典问题:在读取文件之前,需要flush并close输出流(在本例中为statsWriter )。 被缓冲后,它实际上并没有写入文件来write 。 调用flush强制它完成任何挂起的写操作。 这是OutputStream.flush()的javadoc: 刷新此输出流并强制写出任何缓冲的输出字节。 flush的一般契约是调用它表示,如果先前写入的任何字节已被输出流的实现缓冲,则应立即将这些字节写入其预期目的地。 This is a classic problem: You need to flus ...
-
行尾的扫描仪错误(Scanner error at end of line)[2022-10-08]
实际上,仅使用逗号分隔符是行不通的。 Scanner通过读取所有传入数据来工作,直到下一次出现分隔符。 假设这是你的文件: ABC,123,24.5 DEF,456,29 现在,当谈到第三个令牌时,它将需要24.5\nDEF作为你的下一个令牌。 然后它会尝试将其解析为double。 当然,这不起作用。 所以,你可以做以下两件事之一: 使用nextLine()读取,在逗号上拆分行,然后解析每个标记。 允许分隔符为逗号或行尾: scan.useDelimiter(",|\r?\n"); 这告诉扫描器,如果它 ... -
它的分数为100.假设您提交了n个字符的解,那么您的分数是(56 / n)* 100。 你在开玩笑,对吧? 一个解决方案的得分为14.47。 这意味着您的源代码是56 / (14.47/100) =~= 387字符。( =~=缺少“约等于”符号) 在另一个例子中,你得分为15.22,这意味着你的源代码是56 / (15.22/100) =~= 368字符长。 相差29个字符,这可能是您的源代码行的长度,表示scanner.close(); (包括前导空格,两个尾随空格和回车/换行对) 这与代码的性能无关。 ...