CentOS 8 における Elasticsearch 7.9.2 のインストール手順

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 クラスターを監視します。

タグ: Elasticsearch centos8 java11 jvm-gc sysctl

7月7日 21:20 投稿