0

私は mongooseIM を初めて使用し、新しいノード ( mongooseim@myhostname.com) を作成したいと考えていますが、このコマンドを実行しようとすると:

bin/mongooseimctl add_to_cluster mongooseim@myhostname.com 

次のエラーが表示されます。

エラー: /usr/lib/mongooseim/Mnesia.mongooseim@localhost は既に存在します。続行する前にディレクトリ全体を削除してください。

デフォルトのノードを削除せずに新しいノードを作成するにはどうすればよいmongooseim@localhostですか?

私は次の構成を持っています:

私のetc/vm.args構成ファイルでは:

-sname mongooseim@myhostname.com

ファイルetc/ejabberd.cfg内:

{hosts, ["myhostname.com”] }.

私のmongooseIMディレクトリ:

/usr/lib/mongooseim
 bin
 erl_crash.dump
 erts-6.0
 etc
 lib
 log
 Mnesia.mongooseim@localhost
 releases
 var
sudo bin/mongooseimctl status
The node mongooseim@localhost is started with status: started

MongooseIM バージョン 1.5.0 がそのノードで実行されています。

4

1 に答える 1

0

ejabberd のクラスタリングは Mnesia に基づいています。Mnesia で特定のノード名のスキーマが作成されると、後で変更することはできません。

あなたの場合、localhostホスト名を使用してノード名を定義しました。これは、そのマシンに対してローカルなクラスター (複数の Erlang ノード) のみを作成できることを意味します。これはおそらくあなたが望むものではありません。

そのため、ejabberd ノード名を変更する場合は、Mnesia データベースからデータをエクスポートし、Mnesia データベース フォルダーを削除し、クラスター ノード名を新しい名前に変更して、データを再インポートする必要があります。ejabberd のチュートリアルは次のとおりです: http://docs.ejabberd.im/admin/guide/managing/#change-computer-hostname

于 2015-09-28T09:30:26.357 に答える