CentOS6.Xではrabbitmq-serverがSSL modeで起動せず冬休みにsensu入門できなかった
1/1にハマってたのが、リトライしたら動いたーと思ったのもつかの間
まーたハマったので一先ずまとめました。 ハマりはCentOS 6.3, 6.4(いずれもx86_64)で確認しました。 sensu入門できなかった...
エラー内容
sensu-chefでsensu serverを稼働させようと 必要なコンポーネントをrecipeで丼したところ、rabbitmq-serverが以下エラーで起動せずsensu入門できなかった話。
"load_failed, Failed to load NIF library: '/usr/lib64/erlang/lib/crypto-3.2/priv/lib/crypto.so: undefined symbol: EC_GROUP_new_curve_GF2m'"
原因
OpenSSLの特定バージョン?とerlang R16系が出会った時発生する問題の模様です。
ちなみにsensu-chefをepel repositoryにある rabbitmq-server + erlang R14で代替するとrabbitmq-server起動時にこのようなエラーが...
BOOT FAILED =========== Error description: {could_not_start,rabbit, {bad_return, {{rabbit,start,[normal,[]]}, {'EXIT', {rabbit,failure_during_boot, {error, {cannot_start_application,asn1, {"no such file or directory","asn1.app"}}}}}}}} Log files (may contain more information): /var/log/rabbitmq/rabbit@<hostname>.log /var/log/rabbitmq/rabbit@<hostname>-sasl.log {"init terminating in do_boot",{rabbit,failure_during_boot,{could_not_start,rabb it,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot,{ error,{cannot_start_application,asn1,{"no such file or directory","asn1.app"}}}} }}}}}}
('A`)
- とりあえずの対応
これ以上の深堀りはやめて Amazon Linuxでsensu-chefのrecipeを実行して sensu serverを稼働させることができたのでこちらで試してみようと思います。
現時点でどうしてもCentOS 6.3/6.4でsensu serverを稼働させたい時はrabbitmq+erlang R15がいいのかな??
冬休み終了...
以下参考
- run list
{ "run_list":["recipe[sensu]", "recipe[sensu::rabbitmq]", "recipe[sensu::redis]", "recipe[sensu::server_service]", "recipe[sensu::api_service]", "recipe[sensu::dashboard_service]"] }
- recipe適用
orenomac$ knife solo cook -F ssh-config ec2.centos63 〜〜 省略 〜〜 Recipe: rabbitmq::default * service[rabbitmq-server] action restart ================================================================================ Error executing action `restart` on resource 'service[rabbitmq-server]' ================================================================================ Mixlib::ShellOut::ShellCommandFailed ------------------------------------ Expected process to exit with [0], but received '1' ---- Begin output of /sbin/service rabbitmq-server start ---- STDOUT: Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err} rabbitmq-server. STDERR: ---- End output of /sbin/service rabbitmq-server start ---- Ran /sbin/service rabbitmq-server start returned 1
- /var/log/rabbit/rabbit@
.log
※こちらのエラーはerlang CLI(erl)起動してcrypto:start().実行でも確認できる
=ERROR REPORT==== 2-Jan-2014::00:03:55 === Unable to load crypto library. Failed with error: "load_failed, Failed to load NIF library: '/usr/lib64/erlang/lib/crypto-3.2/priv/lib/crypto.so: undefined symbol: EC_GROUP_new_curve_GF2m'" OpenSSL might not be installed on this system.