GNU/Linux >> Linux の 問題 >  >> Rocky Linux

RockyLinux8にElasticsearchをインストールして設定する方法

Elasticsearchは、ApacheLucene上に構築された分散検索および分析エンジンです。分散型のマルチテナント対応の全文検索エンジンに、HTTPWebインターフェイスとスキーマフリーのJSONドキュメントを提供します。 Elasticsearchはすぐに最も人気のある検索エンジンになり、ログ分析、全文検索、セキュリティインテリジェンス、ビジネス分析、運用インテリジェンスのユースケースで一般的に使用されています。

関連コンテンツ

  • Ubuntu20.04にElasticsearchをインストールして設定する方法
  • Debian11にElasticsearchをインストールして設定する方法
  • Ansibleを使用してUbuntu20.04にElasticsearchをインストールおよび構成する

前提条件

フォローするには、次のことを確認してください。

  • 少なくとも2GBのRAMと2つのコアを備えた更新されたRockLinux8サーバー
  • サーバーまたはsudoアクセス権を持つユーザーへのrootアクセス
  • サーバーからインターネットへのアクセス

目次

  1. サーバーが最新であることを確認します
  2. サーバーへのJavaのインストール
  3. elasticsearchのgpgキーをインポートします
  4. RPMリポジトリからElasticsearchをインストールする
  5. Elasticsearchサービスを開始して有効にします
  6. Elasticsearchのインストールを確認する
  7. 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でデータを簡単に追加、読み取り、削除、更新できるようになりました。


Rocky Linux
  1. RockyLinux8にElasticsearchをインストールして構成する

  2. Ubuntu20.04にElasticsearchをインストールして設定する方法

  3. RockyLinux8およびCentOS8にMonoをインストールして構成する方法

  1. Rocky Linux /Centos8でdockerをインストールして構成する方法

  2. Rocky Linux /CentOS8にAnsibleをインストールして構成する方法

  3. Rocky Linux / AlmaLinux8にMemcachedをインストールして構成する方法

  1. LinuxにElasticsearchとKibanaをインストールする方法

  2. DockerとDockerをインストールする方法-RockyLinux8で作成する

  3. RockyLinux8にTensorFlowをインストールして設定する方法