Elasticsearchは、オープンソースの分散型全文検索および分析エンジンです。 RESTful操作をサポートし、大量のデータをリアルタイムで保存、検索、分析できるようにします。 Elasticsearchは、大規模なeコマースストアや分析アプリケーションなど、複雑な検索要件を持つアプリケーションを強化する最も人気のある検索エンジンの1つです。
このガイドでは、Ubuntu20.04にElasticsearchをインストールする方法について説明します。
Elasticsearchのインストール#
UbuntuへのElasticsearchのインストールはかなり簡単です。 Elasticsearchリポジトリを有効にし、リポジトリGPGキーをインポートして、Elasticsearchサーバーをインストールします。
ElasticsearchパッケージにはOpenJDKのバンドルバージョンが付属しているため、Javaをインストールする必要はありません。
まず、パッケージインデックスを更新し、新しいHTTPSリポジトリを追加するために必要な依存関係をインストールします。
sudo apt update
sudo apt install apt-transport-https ca-certificates wget
リポジトリのGPGキーをインポートします:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
上記のコマンドはOK
を出力するはずです 、これは、キーが正常にインポートされたことを意味し、このリポジトリからのパッケージは信頼できると見なされます。
次に、次のコマンドを発行して、Elasticsearchリポジトリをシステムに追加します。
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
以前のバージョンのElasticsearchをインストールする場合は、7.x
を変更します 上記のコマンドで、必要なバージョンを使用します。 リポジトリが有効になったら、次のように入力してElasticsearchをインストールします:
sudo apt update
sudo apt install elasticsearch
インストールプロセスが完了した後、Elasticsearchサービスは自動的に開始されません。サービスを開始してサービスの実行を有効にするには:
sudo systemctl enable --now elasticsearch.service
Elasticsearchが実行されていることを確認するには、curl
を使用します HTTPリクエストをポート9200
に送信します ローカルホスト:
curl -X GET "localhost:9200/"
これに似たものが表示されるはずです:
{
"name" : "vagrant",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "IJqDxPfXSrmFQ27KbXbRIg",
"version" : {
"number" : "7.8.0",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date" : "2020-06-14T19:35:50.234439Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
サービスの開始には5〜10秒かかる場合があります。 curl: (7) Failed to connect to localhost port 9200: Connection refused
、数秒待ってからもう一度お試しください。
Elasticsearchサービスによってログに記録されたメッセージを表示するには、次のコマンドを使用します。
sudo journalctl -u elasticsearch
それでおしまい。 ElasticsearchがUbuntuサーバーにインストールされました。
Elasticsearchの構成#
Elasticsearchデータは/var/lib/elasticsearch
に保存されます ディレクトリ。構成ファイルは/etc/elasticsearch
にあります およびJava起動オプションは、/etc/default/elasticsearch
で構成できます。 ファイル。
デフォルトでは、Elasticsearchはローカルホストでのみリッスンするように設定されています。データベースに接続しているクライアントも同じホストで実行されており、単一ノードクラスタを設定している場合は、デフォルトの構成ファイルを変更する必要はありません。
すぐに使用できるElasticsearchは認証を実装していないため、HTTPAPIにアクセスできるすべての人がアクセスできます。
Elasticsearchサーバーへのリモートアクセスを許可するには、ファイアウォールを構成し、TCPポート6379を開く必要があります。
通常、特定のIPアドレスまたはIP範囲からのみRedisサーバーへのアクセスを許可する必要があります。たとえば、192.168.121.0/24
からの接続のみを許可するには サブネットの場合、次のコマンドを実行します:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
ファイアウォールが構成されたら、次のステップはElasticsearch構成を編集し、Elasticsearchが外部接続をリッスンできるようにすることです。
これを行うには、elasticsearch.yml
を開きます 構成ファイル:
sudo nano /etc/elasticsearch/elasticsearch.yml
network.host
を含む行を検索します 、コメントを外し、値を0.0.0.0
に変更します :
network.host: 0.0.0.0
マシンに複数のネットワークインターフェースがある場合は、インターフェースのIPアドレスを指定して、Elasticsearchが特定のインターフェースのみをリッスンするようにします。
変更を有効にするためにElasticsearchサービスを再起動します:
sudo systemctl restart elasticsearch
それでおしまい。これで、リモートの場所からElasticsearchサーバーに接続できます。