Java 環境の設定
Elasticsearch 7.x は Java 11 以降が必要です。バージョン確認を実施します。
yum list available | grep -iE 'java-11-openjdk'
Java 11 をインストールします。
sudo yum install -y java-11-openjdk-11.0.10
環境変数を設定します。
sudo vi /etc/profile
末尾に追加:
export JDK_HOME=/usr/lib/jvm/java-11-openjdk-11.0.10
export PATH=$PATH:$JDK_HOME/bin
設定を反映します。
source /etc/profile
java -version
Elasticsearch パッケージの取得
公式サイトからパッケージをダウンロードします。
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-cluster.tar.gz
tar -xzf elasticsearch-7.9.2-cluster.tar.gz
sudo mv elasticsearch-7.9.2-cluster /opt/es-cluster
起動と動作確認
インストール先ディレクトリに移動し、起動します。
cd /opt/es-cluster
./bin/elasticsearch
ブラウザで
http://localhost:9200 にアクセスし、次のようなレスポンスを確認します。
{
"name" : "localhost",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "7.9.2",
"build_hash" : "d34da0ea4a966c4e49417f2da2f244e3e97b4e6e"
},
"tagline" : "You Know, for Search"
}
設定トラブルシューティング
5.1 root ユーザーでの実行制限
Elasticsearch は root で実行できません。
sudo useradd esadmin
sudo chown -R esadmin:esadmin /opt/es-cluster
sudo su - esadmin
5.2 リモート接続の有効化
config/elasticsearch.yml を編集します。
network.bind_address: 0.0.0.0
cluster.initial_master_nodes: ["node-1"]
5.3 ファイルディスクリプタ不足
システム設定を変更します。
sudo vi /etc/sysctl.conf
追加:
vm.max_map_count=655360
反映:
sudo sysctl -p
5.4 JVM ガベージコレクションの設定
config/jvm.options を編集し、GC モードを変更します。
-XX:+UseG1GC
5.5 メモリ設定の調整
jvm.options を編集します。
-Xms512m
-Xmx512m
5.6 ElasticHD による可視化ツールの追加
ElasticHD をインストールします。
wget https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/download/1.4/elastic_hd_linux_amd64.zip
unzip elastic_hd_linux_amd64.zip
chmod +x elastic_hd
./elastic_hd -p 0.0.0.0:9800
ブラウザで
http://:9800 にアクセスし、ES クラスターを監視します。