Confluence のインストール時に Confluence is vacant エラーが生成される
プラットフォームについて: サーバーと Data Center のみ。この記事は、サーバーおよび Data Center プラットフォームのアトラシアン製品にのみ適用されます。
問題
atlassian-confluence.log
と catalina.out.
に次の内容が記録される。
2015-09-09 16:41:24,964 ERROR [http-nio-8090-exec-4] [[Standalone].[localhost].[/].[jsp]] log Servlet.service() for servlet jsp threw exception com.atlassian.confluence.tenant.VacantException: Confluence is vacant, a call to tenanted [public abstract net.sf.hibernate.connection.ConnectionProvider net.sf.hibernate.engine.SessionFactoryImplementor.getConnectionProvider()] is not allowed.
診断
環境
- クリーン インストールを行った Linux オペレーティング システム
ホスト名が IP アドレスに解決されない。これは次のコマンドを実行することで確認できます (マシンのホスト名が
ubuntu
の場合)。$ ping `cat /etc/hostname` ping: unknown host ubuntu
診断ステップ
- クリーンな Linux 仮想マシンをインストールします
- ホスト名を
/etc/hostname
に追加するか、sudo hostname <hostname>
経由で追加します /etc/hosts
にホスト名が存在する場合はそれを取り除き、次の情報のみが残るようにします127.0.0.1 localhost
- 最新の Confluence をインストールします
<confluence_install>/bin/start-confluence.sh
を実行します- ブラウザでホームページを開きます
- [Trial version] を選択します
- [No add-ons] を選択します
- トライアル用のライセンス キーを入力します
この時点でログにエラーが記録されます。外部データベースが利用されている場合や他のオプションが提供されている場合はエラーとともに他のクラスが表示されます。ただし、Confluence is vacant
は一貫して記録されます。
原因
ホスト名が IP アドレスに解決されない。
ソリューション
この問題は、ホスト名を IP アドレスに解決できるようにすることで修正できます。
次のいずれかの操作を行います。
/etc/hosts
を編集してホスト名を追加します127.0.0.1 localhost <hostname>
DNS にホスト名を追加します
ホスト名が IP アドレスに解決されるのを確認するには、ホスト名 (ここでは ubuntu
) を ping します。
$ ping `cat /etc/hostname`
PING ubuntu (127.0.1.1) 56(84) bytes of data.
64 bytes from somepc (127.0.1.1): icmp_seq=1 ttl=64 time=0.027 ms
64 bytes from somepc (127.0.1.1): icmp_seq=2 ttl=64 time=0.041 ms
その他の注意事項
エラーが次のようになる場合があります。
2018-03-06 15:42:15,612 ERROR [http-nio-6641-exec-3] [[Standalone].[localhost].[/c641].[noop]] log Servlet.service() for servlet [noop] in context with path [/c641] threw exception
com.atlassian.confluence.tenant.VacantException: Confluence is vacant, a call to tenanted [public abstract org.hibernate.Session org.hibernate.SessionFactory.getCurrentSession() throws org.hibernate.HibernateException] is not allowed.
これは単に Confluence がデータベースに接続できないことを意味します。atlassian-confluence.log
を詳細に分析することで、このエラーの他の原因を確認できます。
このエラーは、データベースのエンコーディングが適切に設定されていない場合にも表示されることがあります。