插件emqx_bridge_rabbit无法启动

环境信息

  • EMQX 版本:2.4.2
  • 操作系统及版本:centos7.5
  • 其他

问题描述

配置了emqx_bridge_rabbit.conf后,通过UI页面start插件报错显示Network Error
通过 emqx_ctl plugins load emqx_bridge_rabbit 也显示load plugin error: {emqx_bridge_rabbit

配置文件及日志

emqx_bridge_rabbit.conf文件内容:

## Rabbit Brokers
bridge.rabbit.1.server = 10.94.4.71:5672
bridge.rabbit.1.pool_size = 4
bridge.rabbit.1.username = sanyqk
bridge.rabbit.1.password = sanyqk@2022
bridge.rabbit.1.virtual_host = /
bridge.rabbit.1.heartbeat = 0
# bridge.rabbit.2.server = 127.0.0.1:5672
# bridge.rabbit.2.pool_size = 8
# bridge.rabbit.1.username = guest
# bridge.rabbit.1.password = guest
# bridge.rabbit.1.virtual_host = /
# bridge.rabbit.1.heartbeat = 0

## Bridge Hooks
#bridge.rabbit.hook.client.subscribe.1 = {"action": "on_client_subscribe", "rabbit": 1, "exchange": "direct:emq.subscription"}
#bridge.rabbit.hook.client.unsubscribe.1 = {"action": "on_client_unsubscribe", "rabbit": 1, "exchange": "direct:emq.subscription"}
#bridge.rabbit.hook.message.publish.1 = {"topic": "$SYS/#", "action": "on_message_publish", "rabbit": 1, "exchange": "topic:emq.$sys"}
bridge.rabbit.hook.message.publish.1 = {"topic": "#", "action": "on_message_publish", "rabbit": 1, "exchange": "topic:emq.pub"}
#bridge.rabbit.hook.message.acked.1 = {"action": "on_message_acked", "rabbit": 1, "exchange": "topic:emq.acked"}

日志报错:

2022-08-04 15:37:42.625 [error] <0.8846.0>@amqp_gen_connection:terminate:239 gen_server <0.8846.0> terminated with reason: no function clause matching amqp_gen_connection:terminate({{case_clause,undefined},[{amqp_network_connection,inet_address_preference,0,[{file,"src/amqp_..."},...]},...]}, {<0.8845.0>,{amqp_params_network,<<"sanyqk">>,<<"sanyqk@2022">>,<<"/">>,"10.94.4.71",5672,0,0,0,...}}) line 239
2022-08-04 15:37:42.625 [error] <0.8846.0>@amqp_gen_connection:terminate:239 CRASH REPORT Process <0.8846.0> with 0 neighbours crashed with reason: no function clause matching amqp_gen_connection:terminate({{case_clause,undefined},[{amqp_network_connection,inet_address_preference,0,[{file,"src/amqp_..."},...]},...]}, {<0.8845.0>,{amqp_params_network,<<"sanyqk">>,<<"sanyqk@2022">>,<<"/">>,"10.94.4.71",5672,0,0,0,...}}) line 239
2022-08-04 15:37:42.626 [error] <0.8844.0>@amqp_gen_connection:terminate:239 Supervisor {<0.8844.0>,amqp_connection_sup} had child connection started with amqp_gen_connection:start_link(<0.8845.0>, {amqp_params_network,<<"sanyqk">>,<<"sanyqk@2022">>,<<"/">>,"10.94.4.71",5672,0,0,0,60000,none,[...],...}) at <0.8846.0> exit with reason no function clause matching amqp_gen_connection:terminate({{case_clause,undefined},[{amqp_network_connection,inet_address_preference,0,[{file,"src/amqp_..."},...]},...]}, {<0.8845.0>,{amqp_params_network,<<"sanyqk">>,<<"sanyqk@2022">>,<<"/">>,"10.94.4.71",5672,0,0,0,...}}) line 239 in context child_terminated
2022-08-04 15:37:42.626 [error] <0.8844.0> Supervisor {<0.8844.0>,amqp_connection_sup} had child connection started with amqp_gen_connection:start_link(<0.8845.0>, {amqp_params_network,<<"sanyqk">>,<<"sanyqk@2022">>,<<"/">>,"10.94.4.71",5672,0,0,0,60000,none,[...],...}) at <0.8846.0> exit with reason reached_max_restart_intensity in context shutdown
2022-08-04 15:37:42.626 [error] <0.8843.0> CRASH REPORT Process <0.8843.0> with 0 neighbours exited with reason: {{function_clause,[{amqp_gen_connection,terminate,[{{case_clause,undefined},[{amqp_network_connection,inet_address_preference,0,[{file,"src/amqp_network_connection.erl"},{line,169}]},{amqp_network_connection,gethostaddr,1,[{file,"src/amqp_network_connection.erl"},{line,176}]},{amqp_network_connection,connect,4,[{file,"src/amqp_network_connection.erl"},{line,119}]},{amqp_gen_connection,handle_call,3,[{file,"src/amqp_gen_connection.erl"},{line,171}]},{gen_server,try_handle_call,4,[{file,"g..."},...]},...]},...],...},...]},...} in gen_server:call/3 line 214
2022-08-04 15:37:42.626 [error] <0.8835.0>@emqx_plugins:start_app:227 load plugin emqx_bridge_rabbit error, cannot start app emqx_bridge_rabbit for {bad_return,{{emqx_bridge_rabbit_app,start,[normal,[]]},{'EXIT',{{badmatch,{error,{shutdown,{failed_to_start_child,{emqx_bridge_rabbit,1},{shutdown,{failed_to_start_child,worker_sup,{shutdown,{failed_to_start_child,{worker,1},{{function_clause,[{amqp_gen_connection,terminate,[{{case_clause,undefined},[{amqp_network_connection,inet_address_preference,0,[{file,"src/amqp_network_connection.erl"},{line,169}]},{amqp_network_connection,gethostaddr,1,[{file,"src/amqp_network_connection.erl"},{line,176}]},{amqp_network_connection,connect,4,[{file,"src/amqp_network_connection.erl"},{line,119}]},{amqp_gen_connection,handle_call,3,[{file,"src/amqp_gen_connection.erl"},{line,171}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,636}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,665}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]},{<0.8845.0>,{amqp_params_network,<<"sanyqk">>,<<"sanyqk@2022">>,<<"/">>,"10.94.4.71",5672,0,0,0,60000,none,[#Fun<amqp_auth_mechanisms.plain.3>,#Fun<amqp_auth_mechanisms.amqplain.3>],[],[]}}],[{file,"src/amqp_gen_connection.erl"},{line,239}]},{gen_server,try_terminate,3,[{file,"gen_server.erl"},{line,648}]},{gen_server,terminate,10,[{file,"gen_server.erl"},{line,833}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]},{gen_server,call,[<0.8846.0>,connect,60000]}}}}}}}}}},[{emqx_bridge_rabbit_app,start,2,[{file,"src/emqx_bridge_rabbit_app.erl"},{line,22}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,273}]}]}}}}
2022-08-04 15:37:42.626 [error] <0.8842.0> Supervisor {<0.8842.0>,ecpool_worker_sup} had child {worker,1} started with ecpool_worker:start_link(emqx_bridge_rabbit_pool1, 1, emqx_bridge_rabbit_ch, [{host,"10.94.4.71"},{port,5672},{pool_size,4},{username,"sanyqk"},{password,"sanyqk@2022"},{virtual_host,...},...]) at undefined exit with reason {{function_clause,[{amqp_gen_connection,terminate,[{{case_clause,undefined},[{amqp_network_connection,inet_address_preference,0,[{file,"src/amqp_network_connection.erl"},{line,169}]},{amqp_network_connection,gethostaddr,1,[{file,"src/amqp_network_connection.erl"},{line,176}]},{amqp_network_connection,connect,4,[{file,"src/amqp_network_connection.erl"},{line,119}]},{amqp_gen_connection,handle_call,3,[{file,"src/amqp_gen_connection.erl"},{line,171}]},{gen_server,try_handle_call,4,[{file,"g..."},...]},...]},...],...},...]},...} in context start_error
2022-08-04 15:37:42.626 [error] <0.8840.0> Supervisor {<0.8840.0>,ecpool_pool_sup} had child worker_sup started with ecpool_worker_sup:start_link(emqx_bridge_rabbit_pool1, emqx_bridge_rabbit_ch, [{host,"10.94.4.71"},{port,5672},{pool_size,4},{username,"sanyqk"},{password,"sanyqk@2022"},{virtual_host,...},...]) at undefined exit with reason {shutdown,{failed_to_start_child,{worker,1},{{function_clause,[{amqp_gen_connection,terminate,[{{case_clause,undefined},[{amqp_network_connection,inet_address_preference,0,[{file,"src/amqp_network_connection.erl"},{line,169}]},{amqp_network_connection,gethostaddr,1,[{file,"src/amqp_network_connection.erl"},{line,176}]},{amqp_network_connection,connect,4,[{file,"src/amqp_network_connection.erl"},{line,119}]},{amqp_gen_connection,handle_call,3,[{file,"src/amqp_gen_connection.erl"},{line,171}]},...]},...],...},...]},...}}} in context start_error
2022-08-04 15:37:42.627 [error] <0.8839.0> Supervisor emqx_bridge_rabbit_sup had child {emqx_bridge_rabbit,1} started with ecpool:start_pool(emqx_bridge_rabbit_pool1, emqx_bridge_rabbit_ch, [{host,"10.94.4.71"},{port,5672},{pool_size,4},{username,"sanyqk"},{password,"sanyqk@2022"},{virtual_host,...},...]) at undefined exit with reason {shutdown,{failed_to_start_child,worker_sup,{shutdown,{failed_to_start_child,{worker,1},{{function_clause,[{amqp_gen_connection,terminate,[{{case_clause,undefined},[{amqp_network_connection,inet_address_preference,0,[{file,"src/amqp_network_connection.erl"},{line,169}]},{amqp_network_connection,gethostaddr,1,[{file,"src/amqp_network_connection.erl"},{line,176}]},{amqp_network_connection,connect,4,[{file,"src/amqp_network_connection.erl"},{line,119}]},{amqp_gen_connection,handle_call,3,[{...},...]},...]},...],...},...]},...}}}}} in context start_error
2022-08-04 15:37:42.627 [error] <0.8837.0>@emqx_bridge_rabbit_app:start:22 CRASH REPORT Process <0.8837.0> with 0 neighbours exited with reason: no match of right hand value {error,{shutdown,{failed_to_start_child,{emqx_bridge_rabbit,1},{shutdown,{failed_to_start_child,worker_sup,{shutdown,{failed_to_start_child,{worker,1},{{function_clause,[{amqp_gen_connection,terminate,[{{case_clause,undefined},[{amqp_network_connection,inet_address_preference,0,[{file,"src/amqp_network_connection.erl"},{line,169}]},{amqp_network_connection,gethostaddr,1,[{file,"src/amqp_network_connection.erl"},{line,176}]},{amqp_network_connection,connect,4,[{file,"src/amqp_network_conn..."},...]},...]},...],...},...]},...}}}}}}}} in emqx_bridge_rabbit_app:start/2 line 22 in application_master:init/4 line 134
2022-08-04 15:37:42.627 [error] <0.8835.0> PUT /api/v2/nodes/emqx1@10.94.4.130/plugins/emqx_bridge_rabbit/load error: badarg
2022-08-04 15:37:42.627 [error] <0.8835.0> [{jsx_parser,value,4,[{file,"src/jsx_parser.erl"},{line,163}]},{minirest_handler,jsonify,4,[{file,"src/minirest_handler.erl"},{line,138}]},{minirest,handle_request,2,[{file,"src/minirest.erl"},{line,54}]},{mochiweb_http,headers,5,[{file,"src/mochiweb_http.erl"},{line,93}]}]

2.4.2 很久以前就已经退出维护和支持了,建议你升级到 4.4 或者 5.0 版本

:+1: 看来是老用户了… 2.x 我记得还是17年的版本,哈哈

建议升级到最新的 4.4.x 把,如果需要 bridge_kafka 的功能可以选择购入企业版,具体可以去群里找找商务