我刚刚使用以下内容在AWS EC2-Instance(CentOS)上安装了RabbitMQ,
sudo yum install erlang
sudo yum install rabbitmq-server
然后我可以使用
成功启用它sudo chkconfig rabbitmq-server on
sudo /sbin/service rabbitmq-server start
...and
sudo /sbin/service rabbitmq-server stop
sudo sudo rabbitmq-server run in foreground;
但是现在我正在尝试修改/usr/local/etc/rabbitmq/rabbitmq-env.conf
文件,以便我可以更改NODE_IP_ADDRESS
,但文件无处可找。
没有rabbitmq文件夹,
[ec2-user@ip-0-0-0-0 sbin]$ ls /usr/local/etc
[ec2-user@ip-0-0-0-0 sbin]$
/etc
下有一个rabbitmq文件夹,但其中没有任何内容,
[ec2-user@ip-0-0-0-0 rabbitmq]$ pwd
/etc/rabbitmq
[ec2-user@ip-0-0-0-0 rabbitmq]$ ls
[ec2-user@ip-0-0-0-0 rabbitmq]$
我的环境变量中唯一可以用于rabbitmq的是
[ec2-user@ip-0-0-0-0 rabbitmq]$ printenv | grep rabbit
PWD=/etc/rabbitmq
我能够访问rabbitmq日志的位置并找到此信息,
root@ip-0-0-0-0
[/var/log/rabbitmq]# pwd
/var/log/rabbitmq
root@ip-0-0-0-0
[/var/log/rabbitmq]# ls -al
total 20
drwxr-x--- 2 rabbitmq rabbitmq 4096 Jun 7 17:28 .
drwxr-xr-x 10 root root 4096 Jun 7 17:23 ..
-rw-r--r-- 1 rabbitmq rabbitmq 3638 Jun 7 17:33 rabbit@ip-0-0-0-0.log
-rw-r--r-- 1 rabbitmq rabbitmq 0 Jun 7 17:25 rabbit@ip-0-0-0-0-sasl.log
-rw-r--r-- 1 root root 0 Jun 7 17:28 shutdown_err
-rw-r--r-- 1 root root 65 Jun 7 17:28 shutdown_log
-rw-r--r-- 1 root root 0 Jun 7 17:25 startup_err
-rw-r--r-- 1 root root 385 Jun 7 17:28 startup_log
cat rabbit@ip-0-0-0-0.log
=INFO REPORT==== 7-Jun-2018::17:29:01 ===
node : rabbit@ip-0-0-0-0
home dir : /var/lib/rabbitmq
config file(s) : (none)
cookie hash : W/uaA12+PF+KOIbCmdKTkw==
log : /var/log/rabbitmq/rabbit@ip-0-0-0-0.log
sasl log : /var/log/rabbitmq/rabbit@ip-0-0-0-0-sasl.log
database dir : /var/lib/rabbitmq/mnesia/rabbit@ip-0-0-0-0
/var/lib/rabbitmq
包含此内容,
[/var/lib/rabbitmq/mnesia]# cd /var/lib/rabbitmq/
root@ip-0-0-0-0
[/var/lib/rabbitmq]# ls
mnesia
和
[/var/lib/rabbitmq/mnesia]# pwd
/var/lib/rabbitmq/mnesia
root@ip-0-0-0-0
[/var/lib/rabbitmq/mnesia]# ls -al
total 20
drwxr-xr-x 4 rabbitmq rabbitmq 4096 Jun 7 17:29 .
drwxr-x--- 3 rabbitmq rabbitmq 4096 Jun 7 17:25 ..
drwxr-xr-x 4 rabbitmq rabbitmq 4096 Jun 7 17:35 rabbit@ip-0-0-0-0
-rw-r--r-- 1 rabbitmq rabbitmq 5 Jun 7 17:28 rabbit@ip-0-0-0-0.pid
drwxr-xr-x 2 rabbitmq rabbitmq 4096 Jun 7 17:29 rabbit@ip-0-0-0-0-plugins-expand
root@ip-0-0-0-0
和
[/var/lib/rabbitmq/mnesia/rabbit@ip-0-0-0-0]# pwd
/var/lib/rabbitmq/mnesia/rabbit@ip-0-0-0-0
root@ip-0-0-0-0
[/var/lib/rabbitmq/mnesia/rabbit@ip-0-0-0-0]# ls -al
total 100
drwxr-xr-x 4 rabbitmq rabbitmq 4096 Jun 7 17:35 .
drwxr-xr-x 4 rabbitmq rabbitmq 4096 Jun 7 17:29 ..
-rw-r--r-- 1 rabbitmq rabbitmq 59 Jun 7 17:29 cluster_nodes.config
-rw-r--r-- 1 rabbitmq rabbitmq 160 Jun 7 17:35 DECISION_TAB.LOG
-rw-r--r-- 1 rabbitmq rabbitmq 99 Jun 7 17:35 LATEST.LOG
drwxr-xr-x 2 rabbitmq rabbitmq 4096 Jun 7 17:29 msg_store_persistent
drwxr-xr-x 2 rabbitmq rabbitmq 4096 Jun 7 17:29 msg_store_transient
-rw-r--r-- 1 rabbitmq rabbitmq 29 Jun 7 17:29 nodes_running_at_shutdown
-rw-r--r-- 1 rabbitmq rabbitmq 1123 Jun 7 17:29 rabbit_durable_exchange.DCD
-rw-r--r-- 1 rabbitmq rabbitmq 2422 Jun 7 17:32 rabbit_durable_exchange.DCL
-rw-r--r-- 1 rabbitmq rabbitmq 8 Jun 7 17:25 rabbit_durable_queue.DCD
-rw-r--r-- 1 rabbitmq rabbitmq 8 Jun 7 17:25 rabbit_durable_route.DCD
-rw-r--r-- 1 rabbitmq rabbitmq 8 Jun 7 17:25 rabbit_runtime_parameters.DCD
-rw-r--r-- 1 rabbitmq rabbitmq 3 Jun 7 17:29 rabbit_serial
-rw-r--r-- 1 rabbitmq rabbitmq 344 Jun 7 17:35 rabbit_user.DCD
-rw-r--r-- 1 rabbitmq rabbitmq 193 Jun 7 17:29 rabbit_user_permission.DCD
-rw-r--r-- 1 rabbitmq rabbitmq 461 Jun 7 17:35 rabbit_user_permission.DCL
-rw-r--r-- 1 rabbitmq rabbitmq 134 Jun 7 17:29 rabbit_vhost.DCD
-rw-r--r-- 1 rabbitmq rabbitmq 289 Jun 7 17:32 rabbit_vhost.DCL
-rw-r--r-- 1 rabbitmq rabbitmq 19108 Jun 7 17:25 schema.DAT
-rw-r--r-- 1 rabbitmq rabbitmq 233 Jun 7 17:25 schema_version
最后但并非最不重要的是,日志显示没有配置文件,
[/var/log/rabbitmq]# cat rabbit\@ip-0-0-0-0.log | grep config
config file(s) : (none)
config file(s) : (none)
RabbitMQ版本:{rabbit,"RabbitMQ","3.1.5"}
有谁知道这里发生了什么?当我开始rabbitmq-server
时,我没有看到任何错误,我感到很惊讶。我是否只是自己创建配置文件?
更新
我正在为我的Apache Airflow设置一个集群环境,因此我使用CeleryExecutor配置它并将Queue设置为RabbitMQ。事实证明我正在使用不包含systemd的Amazon Linux 1运行我的EC2实例,因此我无法正确安装RabbitMQ。如果我使用亚马逊Linux 2或Ubuntu,或任何其他没有糟糕的Linux,我可能有可能进一步安装RabbitMQ并让它与Airflow一起工作。所以我继续将AWS SQS用于我的队列,然后我运行了into this error。所以到现在为止我已经浪费了两天半的时间试图排队与Celery和Airflow合作,我读了this article,其中说Airbnb(Airflow的创造者)正在使用Celery和Redis作为他们的队列。所以我尝试了它,它实际上花了我三分钟做它并且它完美地工作....我所做的只是使用sudo yum install redis
下载Redis然后bam我安装了Redis。 I started Redis using redis-server
。然后我将airflow.cfg
broker_url字段更改为broker_url = redis://
,运行airflow initdb
,重新启动调度程序airflow scheduler
,然后启动了一个工作程序airflow worker
和BAM我的DAG开始运行Redis队列和CeleryExecutor。 HALLELUJAH只是使用Redis作为你的队列....
答案 0 :(得分:1)
RabbitMQ团队监控the rabbitmq-users
mailing list,有时只回答StackOverflow上的问题。
您应该使用最新版本的RabbitMQ(3.7.5
)和Erlang 19.3
或更高版本。版本3.1.5
非常非常非常老。有关如何在基于rpm的发行版上安装最新RMQ的说明,请参阅this document。
之后,您将自己创建rabbitmq-env.conf
。