我正在尝试使用cli rabbitmqadmin连接到远程rabbitmq主机。
我尝试执行的命令是:
rabbitmqadmin --host=$RABBITMQ_HOST --port=443 --ssl --vhost=$RABBITMQ_VHOST --username=$RABBITMQ_USERNAME --password=$RABBITMQ_PASSWORD list queues
在您提问之前:环境变量RABBITMQ_HOST、RABBITMQ_VHOST等已设置......我已经反复检查了这一点。
返回的错误是:
Traceback (most recent call last):
File "/usr/local/sbin/rabbitmqadmin", line 1007, in <module>
main()
File "/usr/local/sbin/rabbitmqadmin", line 413, in main
method()
File "/usr/local/sbin/rabbitmqadmin", line 588, in invoke_list
format_list(self.get(uri), cols, obj_info, self.options)
File "/usr/local/sbin/rabbitmqadmin", line 436, in get
return self.http("GET", "%s/api%s" % (self.options.path_prefix, path), "")
File "/usr/local/sbin/rabbitmqadmin", line 475, in http
self.options.port)
File "/usr/local/sbin/rabbitmqadmin", line 451, in __initialize_https_connection
context = self.__initialize_tls_context())
File "/usr/local/sbin/rabbitmqadmin", line 467, in __initialize_tls_context
self.options.ssl_key_file)
TypeError: coercing to Unicode: need string or buffer, NoneType found
从最后一行我假设这是一个与python相关的问题,我当前的python版本是2.7.12,如果我尝试连接到rabbitmq的本地示例
rabbitmqadmin list queues
一切正常。任何帮助都非常感谢,谢谢:)
2条答案
按热度按时间4nkexdtk1#
那些env变量前面不应该有一个
$
,而params前面不应该有=
吗?也许
=
并不重要,但我非常肯定您需要在env变量前面使用$
6pp0gazn2#
验证您使用的rabbitmqadmin版本是否与您的远程托管代理版本相同。使用不匹配的rabbitmqadmin版本将导致该错误(例如rabbitmqadmin 3.6.4查询3.5.7服务器)。
浏览到http://server-name:15672/cli/并从那里下载正确的工具。
https://github.com/rabbitmq/rabbitmq-management/issues/299