Elasticsearchは、ApacheLucene上に構築された分散検索および分析エンジンです。分散型のマルチテナント対応の全文検索エンジンに、HTTPWebインターフェイスとスキーマフリーのJSONドキュメントを提供します。 Elasticsearchはすぐに最も人気のある検索エンジンになり、ログ分析、全文検索、セキュリティインテリジェンス、ビジネス分析、運用インテリジェンスのユースケースで一般的に使用されています。
関連コンテンツ
- Ubuntu20.04にElasticsearchをインストールして設定する方法
- Debian11にElasticsearchをインストールして設定する方法
- Ansibleを使用してUbuntu20.04にElasticsearchをインストールおよび構成する
前提条件
フォローするには、次のことを確認してください。
- 少なくとも2GBのRAMと2つのコアを備えた更新されたRockLinux8サーバー
- サーバーまたはsudoアクセス権を持つユーザーへのrootアクセス
- サーバーからインターネットへのアクセス
目次
- サーバーが最新であることを確認します
- サーバーへのJavaのインストール
- elasticsearchのgpgキーをインポートします
- RPMリポジトリからElasticsearchをインストールする
- Elasticsearchサービスを開始して有効にします
- Elasticsearchのインストールを確認する
- Elasticsearchで簡単な操作を実行する
1。サーバーが最新であることを確認する
先に進む前に、サーバーが最新であり、すべてのパッケージが最新バージョンであることを確認しましょう。これを実現するには、次のコマンドを使用します。
sudo dnf -y update
アップグレードするパッケージがある場合、上記のコマンドには数分かかる場合があります。
2。サーバーにJavaをインストールする
Elasticsearchの実行はJavaに依存しています。 java11ランタイムをインストールする
sudo dnf install java-11-openjdk
インストールされているバージョンを確認します。
$ java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
3。 ElasticsearchGPGキーをインポートする
Elasticsearchは、Elasticsearch署名キー(PGPキーD88E42B4、https://pgp.mit.eduから入手可能)を使用してすべてのパッケージに指紋で署名します:
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
公開署名キーをダウンロードしてインストールします:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
4。 RPMリポジトリからElasticsearchをインストールします
elasticsearch.repo
というファイルを作成します /etc/yum.repos.d/
にあります 。テキストエディタを使用してファイルを開きます:
sudo vim /etc/yum.repos.d/elasticsearch.repo
次に、次のコンテンツを追加します。
[elasticsearch] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md
これで、リポジトリを使用する準備が整いました。これでElasticsearchをインストールできます。
このコマンドを使用してelasticsearchをインストールします
sudo dnf install --enablerepo=elasticsearch -y elasticsearch
確認
$ rpm -qi elasticsearch
Name : elasticsearch
Epoch : 0
Version : 7.16.3
Release : 1
Architecture: x86_64
Install Date: Fri 14 Jan 2022 09:21:53 AM UTC
Group : Application/Internet
Size : 517226057
License : Elastic License
Signature : RSA/SHA512, Fri 07 Jan 2022 02:57:25 AM UTC, Key ID d27d666cd88e42b4
Source RPM : elasticsearch-7.16.3-1-src.rpm
Build Date : Thu 06 Jan 2022 11:49:11 PM UTC
Build Host : packer-virtualbox-iso-1636998457
Relocations : /usr
Packager : Elasticsearch
Vendor : Elasticsearch
URL : https://www.elastic.co/
Summary : Distributed RESTful search engine built for the cloud
Description :
Reference documentation can be found at
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
and the 'Elasticsearch: The Definitive Guide' book can be found at
https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html
5。 Elasticsearchサービスを開始して有効にします
Elasticsearchサービスはデフォルトでは開始されません。次のコマンドを使用して開始します:
sudo systemctl start elasticsearch
次のコマンドを使用してサービスステータスを確認します:
$ sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2022-01-14 09:22:41 UTC; 16min ago
Docs: https://www.elastic.co
Main PID: 68286 (java)
Tasks: 64 (limit: 23176)
Memory: 2.2G
CGroup: /system.slice/elasticsearch.service
├─68286 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=tr>
└─68485 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Jan 14 09:22:18 dev-rockysrv.inv.re systemd[1]: Starting Elasticsearch...
Jan 14 09:22:41 dev-rockysrv.inv.re systemd[1]: Started Elasticsearch.
上記の出力は、サービスが稼働中であることを示しています。次のコマンドを使用してサービスを有効にします:
sudo systemctl enable elasticsearch
Elasticsearchが何らかの理由で起動に失敗した場合、失敗の理由をSTDOUTに出力します。ログファイルは、/var/log/elasticsearch/
にあります。 。
デフォルトでは、Elasticsearchサービスはsystemd
に情報を記録しません ジャーナル。 journalctl
を有効にするには ロギング、--quiet
ExecStart
からオプションを削除する必要があります elasticsearch.service
のコマンドライン ファイル。
systemd
の場合 ロギングが有効になっている場合、ロギング情報はjournalctl
を使用して利用できます。 コマンド:
ジャーナルを調整するには:
sudo journalctl -f
Elasticsearchサービスのジャーナルエントリを一覧表示するには:
sudo journalctl --unit elasticsearch
特定の時間から開始するelasticsearchサービスのジャーナルエントリを一覧表示するには:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
6。 Elasticsearchのインストールを確認する
この時点で、ElasticSearchが開始され、ポート9200でリッスンしています。次のコマンドで確認できます。
ss -antpl | grep 9200
次の出力が表示されます。
$ ss -antpl | grep 9200 LISTEN 0 128 [::ffff:127.0.0.1]:9200 *:* LISTEN 0 128 [::1]:9200 [::]:*
次のコマンドを使用してElasticSearchを確認することもできます。
curl -X GET "localhost:9200/"
出力:
$ curl -X GET "localhost:9200/"
{
"name" : "dev-rockysrv.inv.re",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "td67jm-zSvKlKsnP4sIrxw",
"version" : {
"number" : "7.16.3",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "4e6e4eab2297e949ec994e688dad46290d018022",
"build_date" : "2022-01-06T23:43:02.825887787Z",
"build_snapshot" : false,
"lucene_version" : "8.10.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
7。 Elasticsearchで簡単な操作を実行する
以下に示すように、Curlコマンドを使用してElasticSearchにデータを追加できます。
curl -H 'Content-Type: application/json' -X POST 'http://localhost:9200/todo/task/1' -d '{ "name": "Go to the mall." }'
次の出力が表示されます。
{"_index":"todo","_type":"task","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
これで、GETリクエストを使用してデータを取得できます:
curl -X GET 'http://localhost:9200/todo/task/1'
次の出力が表示されます。
{"_index":"todo","_type":"task","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "name": "Go to the mall." }}
人間が読める形式でデータを取得するには、次のコマンドを実行します。
curl -X GET 'http://localhost:9200/todo/task/1?pretty'
次の出力が得られるはずです:
{ "_index" : "todo", "_type" : "task", "_id" : "1", "_version" : 1, "_seq_no" : 0, "_primary_term" : 1, "found" : true, "_source" : { "name" : "Go to the mall." } }
それでおしまい。このガイドでは、RockyLinux8サーバーにElasticSearchをインストールして使用する方法を学びました。 Elasticsearchでデータを簡単に追加、読み取り、削除、更新できるようになりました。