Elasticsearchは、オープンソースのフルテキスト検索および分析エンジンです。 RESTful操作をサポートし、大量のデータをリアルタイムで保存、検索、分析できるようにします。 Elasticsearchは、大規模なeコマースストアや分析アプリケーションなど、複雑な検索要件を持つアプリケーションを強化できる最も人気のある検索エンジンの1つです。
この記事では、主にCentOS8にElasticsearchをインストールします。
ElasticsearchはJavaアプリケーションであるため、最初のステップはJavaをインストールすることです。
rootまたは別のsudoユーザーとして次のコマンドを実行して、OpenJDKパッケージをインストールします。
sudo dnf install java-11-openjdk-devel
Javaバージョンを印刷して、Javaのインストールを確認します。
java -version
出力は次のようになります。
openjdk version "11.0.5"2019-10-15 LTS
OpenJDK Runtime Environment 18.9(build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9(build 11.0.5+10-LTS, mixed mode, sharing)
Elasticsearchは、標準のCentOS8ソースでは使用できません。 ElasticsearchRPMソースからインストールします。
rpm
コマンドを使用して、ソースGPGをインポートします。
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
テキストエディタを開き、 / etc / yum.repos.d
ディレクトリにソースファイルを作成します。
sudo nano /etc/yum.repos.d/elasticsearch.repo
次のコンテンツをファイルに貼り付けます。
[ elasticsearch-7.x]
name=Elasticsearch repository for7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
ファイルを保存して、テキストエディタを閉じます。
ソースが有効になったので、Elasticsearchパッケージをインストールして、次のように入力します。
sudo dnf install elasticsearch
インストールプロセスが完了したら、次のサービスを開始して有効にします。
sudo systemctl enable elasticsearch.service --now
Elasticsearchが実行されていることを確認するには、 curl
コマンドを使用してHTTP要求をローカルポート9200に送信します。
curl -X GET "localhost:9200/"
出力は次のようになります。
{" name":"centos8.localdomain","cluster_name":"elasticsearch","cluster_uuid":"V_mfjn2PRJqX3PlZb_VD7w","version":{"number":"7.6.0","build_flavor":"default","build_type":"rpm","build_hash":"7f634e9f44834fbc12724506cc1da681b0c3b1e3","build_date":"2020-02-06T00:09:00.449973Z","build_snapshot":false,"lucene_version":"8.4.0","minimum_wire_compatibility_version":"6.8.0","minimum_index_compatibility_version":"6.0.0-beta1"},"tagline":"You Know, for Search"}
サービスの開始には5〜10秒かかります。 「curl:(7)localhostポート9200への接続に失敗しました:接続が拒否されました」と表示された場合は、数秒待ってから再試行してください。
Elasticsearchサービスに関する情報を表示するには、次のコマンドを使用します。
sudo journalctl -u elasticsearch
この時点で、CentOSサーバーにElasticsearchがインストールされています。
Elasticsearchデータは / var / lib / elasticsearch
ディレクトリに保存され、構成ファイルは / etc / elasticsearch
にあります。
デフォルトでは、Elasticsearchはlocalhostでのみリッスンするように構成されています。クライアントが接続するデータベースが同じホスト上にあり、シングルノードクラスターをセットアップする場合、デフォルトの構成ファイルを変更する必要はありません。
Elasticsearchはそのままでは認証を実装していないため、HTTPAPIを介して誰でもアクセスできます。 Elasticsearchサーバーへのリモートアクセスを許可する場合は、ファイアウォールを構成し、信頼できるクライアントのみがポート9200を介してElasticsearchにアクセスできるようにする必要があります。
たとえば、 192.168.121.80
からのアクセスのみを許可するには、次のコマンドを入力します。
次のコマンドを実行して、リモートの信頼できるIPアドレスからポート 9200
へのアクセスを許可します。
sudo firewall-cmd --new-zone=elasticsearch --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=elasticsearch --add-source=192.168.121.80/32--permanent
sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent
sudo firewall-cmd --reload
することを忘れないでください`192.168.121.80`リモートIPアドレスに変更します。
後で、他のIPアドレスからのアクセスを許可する場合は、次を使用します。
sudo firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS>--permanent
sudo firewall-cmd --reload
ファイアウォールが構成されたら、次のステップはElasticsearch構成ファイルを変更し、Elasticsearchが外部接続を監視できるようにすることです。
これを行うには、 elasticsearch.yml
構成ファイルを開きます。
sudo nano /etc/elasticsearch/elasticsearch.yml
検索には network.host
が含まれ、コメントを削除して次のように変更します。
network.host:0.0.0.0
複数のネットワークインターフェイスがある場合は、インターフェイスのIPアドレスを指定して、Elasticsearchが指定されたネットワークインターフェイスでのみリッスンするようにします。
Elasticsearchサービスを再起動して、変更を有効にします。
sudo systemctl restart elasticsearch
それでおしまい。これで、離れた場所からElasticsearchサーバーに接続できます。
CentOS8にElasticsearchをインストールする方法を示しました。
Recommended Posts