标签: rabbitmq

为什么 RabbitMQ 在 EC2/Ubuntu Lucid 上不尊重我的主机名?

我在rabbitmq-serverLucid EC2 实例上进行了全新安装。主机名设置正确,但 rabbitmq 不会获取主机名,并坚持调用自身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.
Run Code Online (Sandbox Code Playgroud)

hostname rabbitmq

3
推荐指数
1
解决办法
985
查看次数

无法在 Ubuntu 10.04 中删除 RabbitMQ

我想在 Ubuntu 10.04 上卸载 RabbitMQ,并发出以下命令:

sudo apt-get --purge autoremove rabbitmq-server
Run Code Online (Sandbox Code Playgroud)

它卸载了所有依赖项,例如 erlang 库,但未能删除 rabbitmq-server 本身。

当我重复上面的命令时,我得到:

(Reading database ... 26297 files and directories currently installed.)
Removing rabbitmq-server ...
 * Stopping message broker rabbitmq-server                                              
 * message broker already stopped
                                                                                [ OK ]
invoke-rc.d: initscript rabbitmq-server, action "stop" failed.
dpkg: error processing rabbitmq-server (--purge):
 subprocess installed pre-removal script returned error exit status 3
 * Starting message broker rabbitmq-server                                              
 * FAILED - check /var/log/rabbitmq/startup_\{log, _err\}
                                                                                [fail]
invoke-rc.d: initscript rabbitmq-server, action "start" failed.
dpkg: …
Run Code Online (Sandbox Code Playgroud)

ubuntu uninstall ubuntu-10.04 rabbitmq apt

3
推荐指数
1
解决办法
1万
查看次数

RabbitMQ:为什么是默认的 ha-sync-mode 手册?

我已经设置了一个 RabbitMQ 集群,并且正在遵循有关设置镜像队列(高可用队列)的文档。它说:

通过将 ha-sync-mode 策略键设置为自动,可以将队列设置为自动同步。ha-sync-mode 也可以设置为手动。如果未设置,则假定为手动。

为什么手动同步是默认设置?手动同步有哪些用例?

同时,我使用了:

rabbitmqctl set_policy ha-all ".*" '{"ha-mode":"all", "ha-sync-mode": "automatic"}'

rabbitmq

3
推荐指数
1
解决办法
5472
查看次数

Apache mod_proxy 背后的 RabbitMQ 无法解析深层链接

我在 Apache mod_proxy 后面运行了 RabbitMQ,因此我可以通过端口 80 访问 Web 管理界面:

<VirtualHost *:80>
    ServerName rabbit.example.com

    ProxyRequests Off
    ProxyPreserveHost On

    <Proxy *>
       Order deny,allow
       Allow from all
    </Proxy>

    ProxyPass / http://localhost:15672/
    ProxyPassReverse / http://localhost:15672/

    <Location />
       Order allow,deny
       Allow from all
    </Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

但是,这似乎有效,例如,当我转到“队列”页面并单击列出的队列之一时,我会看到一个“未找到”页面和一个如下所示的 URL:

http://rabbit.example.com/#/queues/%2F/myqueue
Run Code Online (Sandbox Code Playgroud)

同样的事情也适用于连接、频道等。我似乎只能访问首页,但任何更深的页面似乎都会导致未找到。

在 Apache mod_proxy 后面配置 RabbitMQ 的正确方法是什么?

mod-proxy rabbitmq apache-2.2

3
推荐指数
1
解决办法
3580
查看次数

Sensu API 没有响应。内轮:连接错误。Sensu API 是否正在运行?Redis问题

我一直在按照官方文档一遍又一遍地在 CentOS7.2 上设置 sensu 但是我一直无法让它工作:

我似乎无法连接到 API。Uchiwa 给出了错误:

ALERT
Datacenter site1 returned:
Connection error. Is the Sensu API running?`
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我试过:curl -I http://localhost:4567/clients ...我没有得到回应。

这是/var/log/sensu/sensu-api.log http://pastebin.com/wHEHE0bH

我一直在创建一个脚本以使设置可重复。请参阅下面显示我的配置 的脚本:http : //pastebin.com/QEt5Msku 如果您在 CentOS7 上运行该脚本,它应该会重复这个问题。

使固定:

问题在下面的回答中。在遵循在新 VM 上成功安装 sensu 的非官方指南之后,我比较了两个设置步骤,并在新 VM 上进行了几次构建后,一点一点地交换了步骤,我想出了用非官方指南中的一个替换 repo指向一个稍微不同的 URL 修复了我的问题(CentOS6 的 repo 但它适用于 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
Run Code Online (Sandbox Code Playgroud)

monitoring rabbitmq redis sensu centos7

3
推荐指数
1
解决办法
3908
查看次数

RabbitMQ:找不到erl

尝试使用时rabbitmqctl,出现以下错误:

$ which rabbitmqctl
/usr/sbin/rabbitmqctl
$ sudo rabbitmqctl status
/usr/lib/rabbitmq/bin/rabbitmqctl: line 29: exec: erl: not found
Run Code Online (Sandbox Code Playgroud)

/usr/sbin/rabbitmqctl最有可能/usr/lib/rabbitmq/bin/rabbitmqctl在其来源中调用:/usr/lib/rabbitmq/bin/${SCRIPT}- guessing${SCRIPT}评估为rabbitmqctl

但是,当简单地erl从 shell访问时,我按预期到达了 erlang shell

$ which erl
/usr/local/bin/erl
$ ls -la /usr/local/bin/erl
lrwxrwxrwx 1 root root 21 Jul 18 02:03 /usr/local/bin/erl -> ../lib/erlang/bin/erl
$ erl
Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:16:16] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.9.1  (abort with ^G)
1>
Run Code Online (Sandbox Code Playgroud)

设置信息:

  • CentOS 6.2
  • Erlang R15B01 编译自 otp_src_R15B01.tar.gz
  • RabbitMQ …

rabbitmq

1
推荐指数
1
解决办法
1万
查看次数

增加RabbitMQ上的最大消费者数量

我在一个相当大的服务器(32GB RAM、duel SSD、Octa Core Intel 等)上运行一个 RabbitMQ 实例,并且有大量的应用程序从 RabbitMQ 发布和消费,没有任何问题。

今天早上在部署另一个应用程序时,它根本不会开始抱怨它无法连接。我减少了我的应用程序中的消费者数量,它连接得很好。查看我的 RabbitMQ 仪表板,我可以看到消费者数量固定为 900;再次增加我的应用程序中的使用者数量,并且该应用程序抛出各种无法连接到 RabbitMQ 的异常。

所以看看固定在 900 的消费者数量和我看到的行为,我猜我已经达到了某种消费者限制。

服务器闲置在 1% 并查看可用的 Erlang 进程,我看到了1048576 available,因此服务器上剩余大量容量。

我如何增加 900 名消费者的人为限制?

rabbitmq

1
推荐指数
1
解决办法
6426
查看次数

如何永久删除节点?

我使用以下命令删除了节点:

rabbitmqctl -n mynode@hostname stop_app
rabbitmqctl stop_app;
rabbitmqctl -n mynode@hostname reset
rabbitmqctl start_app;
Run Code Online (Sandbox Code Playgroud)

当我签入集群时,节点不再存在:

rabbitmqctl cluster_status
Run Code Online (Sandbox Code Playgroud)

问题是当我检查重置节点的状态时,节点仍然存在:

rabbitmqctl -n mynode@G2dev2 status
Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何永久删除节点?

手册页上没有关于此的信息:https : //www.rabbitmq.com/man/rabbitmqctl.1.man.html

谢谢

rabbitmq

1
推荐指数
2
解决办法
7154
查看次数