orenoblog

エンジニアになりたいExcel方眼紙erの物語

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 Linuxsensu-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.