Ejabberdを設定しましたが、コマンドラインからejabberdを実行すると、正常に実行され、接続したり、他の人とチャットしたりできます。
走ると
service ejabberd start
すべてが正常に実行されますが、サービスは起動しません。
走ると
ejabberdctl start
ejabberdは、ノードがダウンしていて、それ以上の情報を提供しないと言います。
走ると
serivce ejabberd live
私は実際にいくつかの出力を取得します!これが私が得たものです...
Erlang R15B01 (erts-5.9.1) [source] [64-bit] [async-threads:0] [kernel-poll:false]
Eshell V5.9.1 (abort with ^G)
(ejabberd@gcmysql)1> Mnesia(ejabberd@gcmysql): Data may be missing, Corrupt logfile deleted: "/var/lib/ejabberd/LATEST.LOG", {file_error,
"/var/lib/ejabberd/LATEST.LOG",
eacces}
=ERROR REPORT==== 30-Jan-2013::12:51:30 ===
Mnesia(ejabberd@gcmysql): ** ERROR ** (core dumped to file: "/var/lib/ejabberd/MnesiaCore.ejabberd@gcmysql_1359_568290_621095")
** FATAL ** {error,{"Cannot open dets table",offline_msg,
[{file,"/var/lib/ejabberd/offline_msg.DAT"},
{type,bag},
{keypos,2},
{repair,true}],
{file_error,"/var/lib/ejabberd/offline_msg.DAT",eacces}}}
=ERROR REPORT==== 30-Jan-2013::12:51:40 ===
Mnesia(ejabberd@gcmysql): ** ERROR ** mnesia_event got unexpected event: {'EXIT',
<0.67.0>,
killed}
=INFO REPORT==== 30-Jan-2013::12:51:40 ===
application: mnesia
exited: killed
type: permanent
{error_logger,{{2013,1,30},{12,51,41}},crash_report,[[{initial_call,{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}},{pid,<0.39.0>},{registered_name,[]},{error_info,{exit,{bad_return,{{ejabberd_app,start,[normal,[]]},{'EXIT',{"{application_terminated,mnesia,killed}",{gen_server,call,[application_controller,{load_application,crypto},infinity]}}}}},[{application_master,init,4,[{file,"application_master.erl"},{line,138}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}},{ancestors,[<0.38.0>]},{messages,[{'EXIT',<0.40.0>,normal}]},{links,[<0.38.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,987},{stack_size,24},{reductions,153}],[]]}
{"Kernel pid terminated",application_controller,"{application_terminated,mnesia,killed}"}
Crash dump was written to: /var/log/ejabberd/erl_crash.dump
Kernel pid terminated (application_controller) ({application_terminated,mnesia,killed})
私は今一週間頭を悩ませてきましたが、どこにも行きません。助けてください!
更新:これを捨てるだけです。ローカルユーザーにはコマンドを起動するためのアクセス権がないため、上記のコマンドをrootとして実行しています。 mnesiaデータベース(ファイル?)がroot:rootに変更されている可能性はありますか?
実行後
find / -name ejabberd
/ var/lib/ejabberdに出くわしました。ディレクトリにCDを挿入すると、mnesiaファイルがrootに変更されていることがわかりました。ファイルをejabberd:ejabberdに再変更し、実行しました
service ejabbered start
そしてそれは問題なく起動しました。再起動後、サービスは通常どおり再開されました。
うまくいけば、これはアップのままで、奇妙なノードダウンの問題に遭遇した人は誰でもこれを見つけて何が起こっているのかを理解するでしょう。