Elasticsearch 6.1のインストール

: Elasticsearch 6.1.xはLiferay DXP 7.1でサポートされている検索エンジンですが、サポートされている最新バージョンではありません。初めてElasticsearchをインストールする場合は、デプロイメントガイドのはじめにあるElasticsearch 6.5.xのインストール手順に従うことを検討してください。

Liferay DXPはElasticsearchを使用してそのコンテンツを索引付けします。デフォルトでは、埋め込みサービスとしてインストールされています。本番環境の運用ではサポートしていません。 テスト環境、開発環境での使用は問題ありませんが、本番環境に移行する際には、Liferayとは別の仮想/物理サーバー上にElasticsearchを設定する必要があります。 インフラ設計において拡張性など様々な利点があります。Elasticsearch用に物理/仮想サーバーを専有で割り当てられる場合は、検索エンジンのサーバリソースを Liferay DXPから独立させることで、パフォーマンスの向上に寄与します。予算上の制約がある場合は、 Liferayとは別JVMを利用することでパフォーマンスを向上できます。

Liferay DXPへのElasticsearchインストールは、以下の6つのステップで完了します。

  1. Liferay DXPに付属しているElasticsearchのバージョンを確認して、Elasticのウェブサイトから該当のバージョンをダウンロードします。

  2. アーカイブを稼働させるフォルダ内にElasticsearchを解凍、インストールします。

  3. 必要なElasticsearch プラグインをインストールします。

  4. Elasticsearchクラスタ名を決めます。

  5. Liferay DXPをElasticseachクラスターに接続する設定をします。

  6. Liferay DXPを再起動して、インデックスを作成します。

:続行する前に、JAVA_HOME環境変数を設定したことを確認してください 。 複数のJDKがインストールされている場合は、ElasticsearchとLiferay DXPが同じバージョンとディストリビューションを使用していることを確認してください(例:Oracle Open JDK 1.8.0_201)。 これは[Elasticsearch Home]/bin/elasticsearch.in.shで指定できます。:

以下の手順で設定後、本番環境用のLiferay DXPインスタンスが作成されます。

ステップ1: ELASTICSEARCHの使用バージョンを探す

Liferay DXPが起動していない場合は起動してください。

ローカルホストのポート 9200から Embedded モードのElasticsearchにアクセスします。

http://localhost:9200

JSONドキュメントは下記のようなJSONレスポンスが表示されます。

{
"name" : "g0m223N",
"cluster_name" : "LiferayElasticsearchCluster",
"cluster_uuid" : "Ii6STs04Tg-XzTVV5h7M2Q",
"version" : {
"number" : "6.1.3",
"build_hash" : "af51318",
"build_date" : "2018-01-26T18:22:55.523Z",
"build_snapshot" : false,
"lucene_version" : "7.1.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

"number"フィールドにある数値がElasticsearchのバージョンです。 上記の例では 6.1.3です。

必要な Elasticsearchが分かったら、Elasticのウェブサイトに行って該当するバージョンをダウンロードします。

ステップ2: ELASTICSEARCHのインストール

ここの設定によって、Elasticsearchの起動場所が決定されます。 Liferay DXPを同じサーバー上で起動させるか、独立したサーバーで起動させるかは、利用可能なリソースとインストールのサイズが重要になります。いずれの方法でも個別に調整可能な検索システムを構築できます。

正しいバージョンのElasticsearchを取得したら、起動させるサーバ上で圧縮ファイルを解凍します。これで設定が完了しました。

ステップ2はこれで完了です。

必要なElasticsearch プラグインをインストールします。

  • analysis-icu
  • analysis-kuromoji
  • analysis-smartcn
  • analysis-stempel

このプラグインをインストールするにはElasticsearch Homeへ行き、以下を入力します。

./bin/elasticsearch-plugin install [plugin-name]

*[plugin-name]*にElasticsearch プラグイン名を入力します。

ステップ4: ELASTICSEARCHクラスタの名前指定

Elasticsearch内のクラスタは、シャードのクラスタ名で認識されるノード(サーバー)の集合体です。これらのノードがデータ及びワークロードを分散します。ここでは1ノードクラスターでの設定を説明していますが、複数ノードのクラスター構築に関しては Elasticの書類を参照ください。

Elasticsearchのインストールが完了すると、[Elasticsearch Home]という名前のフォルダに配置されます。クラスタに名前を付けるには、ElasticsearchとLiferay DXPの両方で指定します。まずは Elasticで指定する為に、下記のファイルを編集します。

[Elasticsearch Home]/config/elasticsearch.yml

cluster.nameの部分をアンコメントします。 お好きな名前を入力します。

cluster.name: LiferayElasticsearchCluster

この時指定する名前は覚えやすい名前に指定することを推奨します。ファイルを保存します。

Elasticsearchを起動します。ご使用のオペレーティングシステムの[Elasticsearch Home]/bin フォルダーから実行するファイルを起動します

./elasticsearch

Elasticが起動したら、ステータスメッセージに下記のようなトランスポートアドレスが記載されます。

[2018-04-03T15:34:19,784][INFO ][o.e.t.TransportService   ] [g0m223N] publish_address {127.0.0.1:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300}

Liferay DXPサーバーがネットワーク内でElasticを検知できるようにこのアドレスは必ず記録をしておきます。

ステップ5: Liferay DXPをELASTICクラスターに接続

次のステップはLiferay DXPの設定です。Liferay DXPを起動し、ログインをし、 [Control Panel] > [Configuration] > [System Settings] > [Search]とページを辿り、Elasticsearch 6を検索バーで探し、設定のリストからElasticsearch 6をクリックします。設定をします。下記のオプションを変更します。

Cluster Name: Elasticsearchで指定した通りにクラスター名を入力します。

Operation Mode: デフォルトではEMBEDDEDになっています。 REMOTEに設定して独立した Elasticsearchに接続します。

Transport Addresses: Elasticノード用にトランスポートアドレスの制限リストを入力します。ここで起動した Elasticサーバーのトランスポートアドレスを入力します。デフォルト値はlocalhost:9300です。このデフォルト値でも稼働します。

完了したら、保存をクリックします。

ステップ6: Liferay DXPの再起動、インデックスの再構築

Liferay DXPを一度停止して、再起動します。再起動できたら、管理ユーザーとしてログインして、[Control Panel] > [Configuration] > [Search] へ行き、[Reindex all search indexes(インデックスの再構築)]の Executeをクリックします。その後、Elasticseachログにメッセージが表示されるはずです。

詳細については、Elasticsearchインストールガイドを参照してください。

« ElasticsearchのバックアップLiferay Elasticsearch Connector (6.1)の設定 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています