ポイント: Ubuntu 16.04 を使用して ElasticSearch バージョン 7 クラスターを設定するための手順が提供されており、サーバーの構成やソフトウェアのインストール手順が含まれています。トラブルシューティングのヒントや本番環境の準備のための次のステップも含まれています。
- 特定の構成で ElasticSearch と Kibana をインストールします。
- 操作のために必要なファイアウォールポートを開きます。
- クラスターの問題に対するトラブルシューティングオプションが詳細に説明されています。
- 次のステップには、メモリの調整やプロキシサーバーの構成が含まれます。
ここでは、Ubuntu 16.04 と ElasticSearch 7.0.1 を使用して ElasticSearch と Kibana をインストールします。下部にはいくつかのトラブルシューティングノートがあります。
ElasticSearch は現在、公開企業となり、IPO を行い、株式を販売しました。最初の行動の 1 つは、ElasticSearch バージョン 7 を作成することでした。残念ながら、バージョンのクラスターを設定するためのインストール手順が変更されました。そのため、新しい手順を作成しました。以下に記載したものとの主な違いは、ディスカバリプラグインを追加したり、それらを構成したりする必要がないことです。
したがって、これらの手順は、こちらで書いたバージョン 6 の手順を置き換えます。
サーバー名
この例では、2 つのサーバーがあります。名前と IP アドレスを環境に合わせて変更してください。ループバックアドレスは使用しないでください。2 台のサーバーのクラスターを作成します。その代わりに、それらの内部 IP アドレスを使用してください。
172.31.46.15 parisx
172.31.47.43 paris2x
そして、Kibana にインターネットからアクセスできるようにするために、このパブリック IP アドレスがあります:
ec2-35-180-186-122.eu-west-3.compute.amazonaws.com:5601
ファイアウォールポート
ファイアウォールポート 9200 (http インターフェース)、9300 (トランスポート)、および 5601 (Kibana) を開きます。
ソフトウェアのインストール
これらの手順を実行します:
トラブルシューティング
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.1-amd64.deb
sudo dpkg -i elasticsearch-7.0.1-amd64.deb
https://artifacts.elastic.co/downloads/kibana/kibana-7.0.1-linux-x86_64.tar.gz
sudo dpkg -i kibana-7.0.1-amd64.deb
ElasticSearch 構成ファイルの作成
paris サーバーのこのファイル /etc/elasticsearch/elasticsearch.yml を次のように置き換えます:
cluster.name: paris
node.name: parisx
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 172.31.46.15
discovery.seed_hosts: ["172.31.46.15", "172.31.47.43"]
cluster.initial_master_nodes: ["172.31.46.15"]
node.master: true
paris2 サーバーのこのファイル /etc/elasticsearch/elasticsearch.yml を下に示す内容で置き換えます。
cluster.name: paris
node.name: paris2x
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 172.31.47.43
discovery.seed_hosts: ["172.31.47.43","172.31.46.15"]
cluster.initial_master_nodes: ["172.31.46.15"]
各サーバーで ElasticSearch を起動します:
sudo service elasticsearch start
クラスターのステータスを確認します。すべてが正常に動作していれば、2 ノードが表示されるはずです。
curl -XGET http://172.31.46.15:9200/_cluster/health?pretty
{
"cluster_name" : "paris",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 2,
"number_of_data_nodes" : 2,
"active_primary_shards" : 2,
"active_shards" : 4,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}
Kibana の構成
config ファイル /etc/kibana/kibana.yml を次の内容に置き換えます:
server.host: "172.31.46.15"
server.name: "paris"
elasticsearch.hosts: ["http://172.31.46.15:9200"]
elasticsearch.preserveHost: false
logging.dest: stdout
logging.verbose: true
Kibana を起動します。起動するまでに 1 分以上かかる場合があります。
sudo service kibana start
Kibana コンソールを開く
http://ec2-35-180-186-122.eu-west-3.compute.amazonaws.com:5601/app/kibana
グラフィックのダウンロードと Kibana の起動に数分かかる場合があります。ダッシュボードが表示されます:
- どちらのノードもクラスターに参加できない場合は、/var/lib/elasticsearch フォルダーを削除してください。クラスター UUID が一致しない可能性があります。これは、誤って設定し、異なる設定でサーバーを再起動した場合に発生します。
- ポート 5601 が外向きの方向に開いていることを確認してください。ヨーロッパでは、GDPR 要件のため、企業はデフォルトで外向きのすべてのポートを開くのをやめました。
- ElasticSearch または Kibana をフォアグラウンドで実行したい場合は、それを行うことができます。これはトラブルシューティング目的のみです。上記の Kibana の設定は、出力を stdout に記録するように設定されているため、それを表示するにはフォアグラウンドで実行する必要があります。もしくは、ログをディスクに書き込むように設定してください。Kibana を root として実行できますが、ElasticSearch を root として実行することはできません。したがって、/usr/share/elasticsearch、/var/log/elasticsearch、および /var/lib/elasticsearch の所有権をユーザー ID に変更するか、elasticsearch ユーザーとしてログインしてフォアグラウンドで elasticsearch を実行する必要があります。両方のバイナリは /usr/share/kibana と /usr/share/elasticsearch フォルダーにあります。
- /var/log/elasticsearch/paris.log で ElasticSearch エラーを探します。ファイル名はノード名です。
curl http://172.31.47.43:9200
{
"name" : "paris2x",
"cluster_name" : "paris",
"cluster_uuid" : "uB_1NLmYRbKcVbKGPzsNSQ",
"version" : {
"number" : "7.0.1",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "e4efcb5",
"build_date" : "2019-04-29T12:56:03.145736Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.7.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
次のステップ
本番環境に移行する前の次のステップは、/etc/elasticsearch/jvm.options のメモリサイズをマシンのメモリの ½ に増やすことです (ElasticSearch によって推奨されています)。下の値を変更してください。
-Xms1g
-Xmx1g
この前にプロキシサーバーを配置して、基本認証と ssh を構成できるようにすることをお勧めします。(ElasticSearch でも ssh を構成できます。)
ElasticSearch ガイド
- 初心者のための ElasticSearch チュートリアル: ElasticSearch の基本
- ElasticSearch と Apache Hive の使用
- ElasticSearch と Apache Spark の使用
- Curl ElasticSearch コマンド チートシート
- Spark ElasticSearch Hadoop アップデートと Upsert の例および説明
- Python を使用して Apache Spark データを ElasticSearch に書き込む方法
- ElasticSearch 検索構文、ブール検索および集約検索
- ElasticSearch ネストされたクエリ: 埋め込まれたドキュメントの検索方法
- ElasticSearch ジョイン: Has_Child、Has_parent クエリ
- Elastic Version 7 クラスターの設定方法
- nginx と ElasticSearch 用の Filebeat の設定方法
- Beats と Logstash を使用してログを ElasticSearch に送信する
- Logstash を使用して CSV ファイルを ElasticSearch にロードする方法
- ElasticSearch の集約の説明
- ELK スタックとは何ですか?
- Logstash 101: データ処理パイプラインにおける Logstash の使用
- Kibana を使用して ElasticSearch で Lucene および Kibana クエリ言語を使ってクエリを実行する
- ElasticSearch 機械学習
- Elastic Enterprise Search のインストール方法
- GitHub と Elastic Enterprise Search の使用方法
これらの投稿は私自身のものであり、必ずしも BMC の立場、戦略、または意見を表すものではありません。