为了在 AWS 环境中对 rabbitmq 进行集群,我尝试了所有可以想到的组合。但回顾一下:
主机名不匹配是唯一的难题。节点本身认为它的主机名分别是“q1”或“q2”。当我尝试将容器的主机名设置为主机的私有 dns 名称(以便它可以连接到另一个节点)时,容器中的兔子实例崩溃了。不低于如何hostname
产生q2
但我炮击了亚马逊私人 dns?
root@q2:~# hostname
q2
root@q2:~# exit
christian@q2:~$ logout
Connection to ip-10-0-3-101.us-west-2.compute.internal closed.
Run Code Online (Sandbox Code Playgroud)
我正在使用最新的rabbitmq docker 镜像。
docker run -d --restart always --hostname q1 --name rabbitmq -p 4369:4369 -p 15671:15671 -p 25672:25672 -p 15672:15672 -p 5672:5672 -e RABBITMQ_HIPE_COMPILE=1 -e RABBITMQ_ERLANG_COOKIE='ilikecookies' rabbitmq:3-management
Run Code Online (Sandbox Code Playgroud)
服务启动就好了
root@q1:~# curl -I localhost:15672
HTTP/1.1 200 OK
Content-Length: 1419
Content-Type: …
Run Code Online (Sandbox Code Playgroud) 我正在设置 RHEL 6.X 服务器来容纳我的 RabbitMQ 测试环境。我需要安装 Erlange 16 或更高版本才能与最新版本的 RabbitMQ(我相信是 3.6.x)正常工作。不过,我目前的系统上有 Erlang 14。我尝试通过 yum 删除它,但是 yum 说它没有安装。
yum remove erlang
Run Code Online (Sandbox Code Playgroud)
然而当我跑步时
$ erl -v
Run Code Online (Sandbox Code Playgroud)
我得到以下内容
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:0] [kernel-poll:false]
Eshell V5.8.5 (abort with ^G)
Run Code Online (Sandbox Code Playgroud)
并且存在一个erlang目录
/usr/lib64/erlang/
Run Code Online (Sandbox Code Playgroud)
具有以下子目录
bin erts-5.8.5 lib man releases usr
Run Code Online (Sandbox Code Playgroud)
我应该如何卸载此版本的 Erlang 以便安装新版本?一条可能有用的信息。第一次成功安装旧版本后,我实际上运行了 yum remove 并且它似乎可以工作。然而,当我尝试安装较新的版本时,它指出存在冲突,然后我找到了上述目录。