2. Elasticsearch のセットアップ for Windows¶
ここでは Windows環境へのElasticsearchのセットアップ方法を説明します。
コラム
Elasticsearchの動作にはJava VM が必要です。必要となるJava VM のバージョンについては、下記のURLより確認してください。(2019年3月時点においては、java 8が推奨されているようです。)
https://www.elastic.co/guide/en/elasticsearch/guide/current/_java_virtual_machine.html
注意
Elasticsearchは、オープンソースまたはベーシックサブスクリプションでは通信の暗号化や認証機能が使用できません。また、IM-BPMは、暗号化や認証機能が設定されたElasticsearchとの連携はできません。IM-BPMとの連携を行うElasticsearchは、セキュアなネットワーク上にて運用されることを推奨します。
2.1. ファイルの展開¶
「Elasticsearch の取得」でダウンロードした、<elasticsearch-x.x.x .zip>ファイルを任意のパスに展開します。
コラム
本書では、例として次のディレクトリを指定します。「C:/elasticsearch-x.x.x」Elasticsearchを展開したディレクトリを以後、%ELASTICSEARCH_HOME% と略します。
2.2. 各種設定¶
- Elasticsearchを起動する前に、必要に応じて以下の設定を行ってください。
2.2.1. Elasticsearch の設定¶
- Elasticsearchの設定が記載されている、<%ELASTICSEARCH_HOME%/config/elasticsearch.yml>ファイルをエディタで開き、編集を行います。
クラスタ名の指定
「cluster.name」 プロパティに任意のクラスタの名称を指定します。cluster.name: 'im-bpm-cluster'注意
Elasticsearchサーバが複数存在する場合、クラスタ名で同一クラスタのElasticsearchであるか判断され、クラスタが組まれてしまう場合があるため、初期値を変更することを推奨します。ノード名の指定
「node.name」 プロパティに任意のノードの名称を指定します。node.name: node-1以下のように記述することで、サーバのホスト名をノードの名称として指定することもできます。node.name: ${HOSTNAME}データの保存場所の指定
「path.data」 プロパティにデータファイルを格納するディレクトリのパスを指定します。未指定の場合、<%ELASTICSEARCH_HOME%/data>にデータファイルが格納されます。パスを複数指定することもできます。path.data: /var/data/elasticsearchpath: data: - /mnt/elasticsearch_1 - /mnt/elasticsearch_2 - /mnt/elasticsearch_3コラム
複数のデータディレクトリを指定した場合でも、単一のシャードに紐づくデータファイルはすべて同一のパスに格納されます。
注意
データディレクトリを未指定のまま運用すると、Elasticsearchバージョンアップなどに伴う更新の際にデータディレクトリが削除されてしまう危険性があるため、データディレクトリは適切に指定して運用されることを推奨します。ログの格納場所の指定
「path.logs」 プロパティにログファイルを格納するディレクトリのパスを指定します。未指定の場合、<%ELASTICSEARCH_HOME%/log>にログファイルが格納されます。path.logs: /var/log/elasticsearchホスト名、ポートの指定
「network.host」および、「http.port」プロパティにホスト名、ポート名を指定します。指定しない場合、network.hostはループバックアドレス(IPv4では127.0.0.1、IPv6では[::1])に、http.portは9200にそれぞれ紐づけられます。network.host: 192.168.xxx.xxx(任意のIPアドレス) http.port: 9200注意
ホスト名、ポート番号を変更した場合、「IM-BPM/Elasticsearch コネクタ」モジュールに適切な値を設定する必要があります。詳しくは、「 IM-BPM 設定ファイルリファレンス 」-「 IM-BPM Elasticsearch コネクタ設定 」を参照してください。コラム
開発モードと運用モード
network.hostの設定を行っていない場合、Elasticsearchは開発モードとなり、各種の設定に誤りがあった場合でも、ワーニングがログに記載されるのみで起動が行われますが、network.hostの設定を行っている場合、Elasticsearchは開発モードから運用モードに移行されたと判断し、設定に誤り等があった場合、ワーニングではなく例外として処理し、起動できません。network.hostの設定を行う場合は、他の設定に関しても適切な値の指定を行ってください。
2.2.2. メモリの設定¶
インストール環境に応じたメモリ値を指定します。ElasticsearchのJavaヒープサイズの設定が記載されている、<%ELASTICSEARCH_HOME%/config/jvm.options>ファイルをエディタで開き、編集を行います。-Xms1g -Xmx1g注意
Javaヒープサイズの最小値と最大値は必ず同じサイズを指定してください。また、インストール環境のメモリサイズの半分を上限とし、JVMが許容する範囲で指定してください。
2.2.3. 環境変数の設定¶
Windows環境変数に JDKをインストールしたホームディレクトリを追加します。
変数 JAVA_HOME 値 JDK をインストールしたホームディレクトリ コラム
事前にJDKがインストールされている必要があります。