我正在运行一个具有两个节点的RabbitMQ集群(版本3.0.2,Erlang R15B),并且它们将继续周期性地发生networking分区错误。 他们在物理上位于同一个数据中心,他们的networking应该是可靠的。 当我检查他们的日志时,两台服务器几乎同时报告“running_partitioned_network”错误,并且两个节点都继续运行,所以我不认为这是硬件故障,或者其中一个节点意外终止。 我把net_ticktime修改为120秒,试图缓解这个问题,并且停止了将近一个月的时间,但是最近几天又发生一次。 现在我不确定net_ticktime是否有帮助,或者只是巧合。 为了进一步排除故障,我开始使用Wireshark进行滚动networking跟踪,并使用计划任务在节点再次分区时停止跟踪。 我的目标是确定分区是否由不可靠的networking引起,或者应用程序未能响应。 数据包跟踪中没有任何内容会显示networking故障,只有less量的TCP重新传输,并且在它们之间成功发送了大量的其他数据包。 在这一点上,我不确定在包跟踪中还有什么要看的,以certificate或反驳networking引起的故障。 Wireshark可以识别和解码Erlang分发协议,但我不知道如何解释这些消息,以知道什么会导致节点检测到一个分区。 此外,net_ticktime设置为120秒,我没有看到从对方收到消息的服务器间隔120秒。 没有Erlang消息从其他服务器收到的最长的差距是22秒(如果你计算TCP确认,则会less得多)。 我唯一的想法是,如果一个特定的“ping”types的消息需要在节点之间发送,并且特定的消息被中断,但我不知道在跟踪中会是什么样子。 如何进一步诊断这个问题的原因的任何想法将是有益的。
刚刚在全新的CentOs6.6服务器(rabbitMq 3.4.1,erlang说17)上安装了RabitMq,并且无法启动。 Starting rabbitmq-server: FAILED – check /var/log/rabbitmq/startup_{log, _err} rabbitmq-server. 启动日志 Stack trace: [{inet_gethost_native,ensure_started,0, [{file,"inet_gethost_native.erl"},{line,548}]}, {inet_gethost_native,getit,2, [{file,"inet_gethost_native.erl"},{line,487}]}, {inet,gethostbyname_tm_native,4,[{file,"inet.erl"},{line,1094}]}, {inet,gethostbyname,3,[{file,"inet.erl"},{line,459}]}, {erl_epmd,port_please1,3,[{file,"erl_epmd.erl"},{line,81}]}, {rabbit_networking,record_distribution_listener,0,[]}, {rabbit_networking,boot,0,[]}, {rabbit,'-run_step/3-lc$^1/1-1-',2,[]}] BOOT FAILED =========== Error description: {could_not_start,rabbit, {bad_return, {{rabbit,start,[normal,[]]}, {'EXIT', {rabbit,failure_during_boot, {boot_step,networking, {could_not_start_server,inet_gethost_native}}}}}}} 让我知道如果你需要任何其他信息。 任何帮助将不胜感激,我认为这个服务器被诅咒。 上次我在万圣节前后得到一个新的服务器。 它看起来像运行status 。 我有一个我的主机,有一个IP地址,但删除没有帮助,在etc / hosts。 Status of node rabbit@host4 … Error: unable to connect to node rabbit@host4: […]
我已经使用Puppetconfiguration了Sensu和Uchiwa。 我有客户报告,并检查失败时提高事件。 我检查了我的服务器的/etc/sensu/conf.d/checks/文件夹,由Puppet创build,用于ping检查等。例如: { "checks": { "check-ping-controller.local.net": { "subscribers": [ "sensu" ], "standalone": false, "interval": 60, "handlers": [ "default" ], "command": "/usr/lib64/nagios/plugins/check_ping -H 192.168.66.125 -w 100.0,60% -c 200.0,90% " } } } 如果我在Uchiwa的“客户”页面查看服务器(因为它也在运行sensu客户端来监视自己),我看到在那里列出的检查。 然而,在我的实际“检查”页面中什么也没有显示出来 – 很高兴看到数据中心正在运行的是什么! 有谁熟悉这一点,知道我可能会遇到什么问题? 我在Centos 6.5上运行Uchiwa 0.4和Sensu 0.16。 更新:在过去的20分钟里,我在redis中做了一个“flushall”,并对节点进行了一些更改(取消了一个),导致了Sensu服务的更新。 这似乎已经解决了问题,并且检查出现! 我猜这是redis的'flushall'命令,但是我对Redis不熟悉,不知道为什么会有帮助… 任何想法SF?
我正在为一个特定的利基量身定制的图像托pipe网站。 该网站是用Django制作的。 我目前正计划在Linode上运行它。 到现在为止还挺好。 问题是:我将需要在高分辨率图像上执行非常耗费CPU资源的任务。 我们正在谈论科学级计算,在Linode的4个Xeon CPU上可能需要15分钟的时间。 我不确定EC2是否可以像这样工作,但下面的情况是什么东西响了? 用户上传Linode上托pipe的网站上的图片 应用程序(以某种方式?)要求EC2运行CPU密集型任务。 EC2启动一个新实例,并使用提供的数据运行软件 数据以某种方式返回到Web应用程序 很明显,我在这个事情的方式上有很多的差距。 有人能帮我填补吗? 编辑 :我忘了提及,我使用芹菜的任务,使用RabbitMQ作为消息调度。 我想知道是否可以在我的Web服务器上运行创build芹菜任务,但是实际上是在按需创build的EC2实例上运行它们。 理想情况下,这也将涉及有关各方之间的通信协议(因为我将酸洗networking服务器端)。
RabbitMQ集群文档 https://www.rabbitmq.com/clustering.html 描述了一个过程,通过这个过程,您可以为集群部署一个configuration文件,以便在您的rabbitmq节点boot.eg中自动创build一个集群 [{rabbit, [{cluster_nodes, {['rabbit@rabbit1', 'rabbit@rabbit2', 'rabbit@rabbit3'], ram}}]}]. 您将这个文件应用于/etc/rabbitmq/rabbitmq.config中的每个节点上,然后在每个节点上启动rabbitmq,并显然会形成一个集群。 这似乎不太好,例如 如果你启动rabbit2,并且rabbit3尚未启动,那么这个服务将不会在rabbit2上启动,因为它正在尝试使用rabbit3创build一个群集。 同样的,如果你只在兔子1上应用configuration,并且已经预先启动了兔子2和兔子3,兔子1将只与兔子2形成一个簇,根据文档(我不明白为什么): RabbitMQ will try to cluster to each node provided, and stop after it can cluster with one of them. 这似乎工作的唯一方法是如果您应用所有3个节点上的configuration文件,并让他们在同一时间启动。 我正在试图用Ansible来部署这个,它依次创build节点,所以这是行不通的。 我在这里错过了什么?
我一直在CentOS7.2上首次设置了sensu,但是我一直没有能够得到它的工作: 我似乎无法连接到API。 Uchiwa给出了错误: ALERT Datacenter site1 returned: Connection error. Is the Sensu API running?` 我已经试过了: curl -I http://localhost:4567/clients …我没有得到回应。 这里是/var/log/sensu/sensu-api.log http://pastebin.com/wHEHE0bH 我一直在创build一个脚本,使设置可重复。 请参阅下面的脚本显示我的configuration: http ://pastebin.com/QEt5Msku如果您在CentOS7上运行该脚本,它应该重复这个问题。 固定: 问题在下面的答案。 按照一个非官方的指南,在一个新的虚拟机上成功安装了sensu后,我比较了两个设置步骤,并在新build虚拟机的几个版本之后,逐步更换了一些步骤,我想通过非官方指南指出一个稍微不同的URL修复了我的问题(对于CentOS6的回购,但它在7上工作,它只是安装一个非当前版本0.20.3)。 echo '[sensu] name=sensu-main baseurl=http://repos.sensuapp.org/yum/el/6/x86_64/ gpgcheck=0 enabled=1' > /etc/yum.repos.d/sensu.repo
我在Lucid EC2实例上重新安装了rabbitmq-server 。 主机名设置正确,但rabbitmq不会select主机名,并坚持自己调用localhost 。 任何想法如何说服它呢? $ cat /etc/hostname mifune $ hostname mifune $ cat /etc/hosts 127.0.0.1 localhost mifune … $ sudo rabbitmqctl status Status of node rabbit@localhost … [{running_applications,[{rabbit,"RabbitMQ","1.7.2"}, {mnesia,"MNESIA CXC 138 12","4.4.12"}, {os_mon,"CPO CXC 138 46","2.2.4"}, {sasl,"SASL CXC 138 11","2.1.8"}, {stdlib,"ERTS CXC 138 10","1.16.4"}, {kernel,"ERTS CXC 138 10","2.13.4"}]}, {nodes,[rabbit@localhost]}, {running_nodes,[rabbit@localhost]}] …done.
我在Centos 6.5盒子上安装了sensu,并在sensu盒子上安装/configuration了客户端,所以它像这样监控自己 /etc/sensu/conf.d/client.json { "client": { "name": "sensu", "address": "10.100.1.200", "subscriptions": [ "ALL" ] } } 这工作正常,它出现在Uchiwa,但现在我有另一个主机,我想注册与Sensu / Uchiwa,它不显示在Uchiwa / Sensu下的客户 这里的客户端configuration“咖啡” /etc/sensu/conf.d/rabbitmq.json { "rabbitmq":{ "host": "10.100.1.200", "port": "5672", "vhost": "/sensu", "user": "user", "pass": "pass" } } /etc/sensu/conf.d/client.json { "client": { "name": "coffee", "address": "10.100.1.19", "subscriptions": [ "ALL" ] } } 当我在咖啡上查看/var/log/sensu/sensu-client.log时,看到以下内容: {"timestamp":"2015-07-13T07:15:52.856009-0500","level":"warn","message":"loading config file","file":"/etc/sensu/conf.d/client.json"} […]
RabiitMQ在Erlang R15B01的CentOS 5.5上运行。 RabbitMQ正在运行,直到我升级到最新版本(2.8.4)。 当我使用以下命令启动RabbitMQ时: /etc/init.d/rabbitmq start 在RabbitMQ startup_log中,我看到以下内容: {error_logger,{{2012,7,11},{11,44,15}},"Cookie file /var/lib/rabbitmq/.erlang.cookie mus be accessible by owner only",[]} Erlang cookie具有以下权限: -rwxr-xr-x 1 rabbitmq rabbitmq 17 Jul 10 12:20 .erlang.cookie 有没有人经历过这个? 还是有人有一些我可以遵循的故障排除步骤? 非常感谢,Risteard
我有一个rabbitmq服务器,我需要连接到AD。 configuration使用puppet rabbitmq模块进行设置,并进行一些小的手动更改(日志级别): % This file managed by Puppet % Template Path: rabbitmq/templates/rabbitmq.config [ {rabbit, [ {auth_backends, [rabbit_auth_backend_internal, rabbit_auth_backend_ldap]}, {tcp_listen_options, [binary, {packet, raw}, {reuseaddr, true}, {backlog, 128}, {nodelay, true}, {exit_on_close, false}] }, {default_user, <<"guest">>}, {default_pass, <<"guest">>} ]}, {kernel, [ ]} , {rabbitmq_management, [ {listener, [ {port, 15672} ]} ]} , % Configure the LDAP authentication […]