Linux で分散型全文検索エンジンをインストールして展開する方法

Linux で分散型全文検索エンジンをインストールして展開する方法

Elasticsearch は、オープンソースの分散型全文検索および分析エンジンです。 RESTful 操作をサポートし、大量のデータをリアルタイムで保存、検索、分析できます。 Elasticsearch は、大規模な電子商取引ストアや分析アプリケーションなど、複雑な検索要件を持つアプリケーションを強化する最も人気のある検索エンジンの 1 つです。

このガイドでは、Ubuntu 20.04 に Elasticsearch をインストールする方法について説明します。

Elasticsearchをインストールする

Ubuntu に Elasticsearch をインストールするのは非常に簡単です。 Elasticsearch リポジトリを有効にし、リポジトリ GPG キーをインポートして、Elasticsearch サーバーをインストールします。

Elasticsearch パッケージには OpenJDK のバンドルバージョンが付属しているため、Java をインストールする必要はありません。

まず、パッケージ インデックスを更新し、新しい HTTPS リポジトリを追加するために必要な依存関係をインストールします。

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update  
  2. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install apt-transport-https ca-certificates wget

リポジトリの GPG キーをインポートします。

  1. linuxmi@linuxmi:~/www.linuxmi.com$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-keyを追加 -

上記のコマンドは OK を出力するはずです。これは、キーが正常にインポートされ、このリポジトリからのパッケージが信頼できるパッケージとみなされることを意味します。

次に、次のコマンドを実行して、Elasticsearch リポジトリをシステムに追加します。

  1. linuxmi@linuxmi:~/www.linuxmi.com$ 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 をインストールします。

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install elasticsearch

インストールプロセスが完了した後、Elasticsearch サービスは自動的に起動しません。サービスを開始して実行できるようにするには:

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable --now elasticsearch.service  
  2. elasticsearch.service の状態を /lib/systemd/systemd-sysv-install の SysV サービス スクリプトと同期しています。  
  3. 実行中: /lib/systemd/systemd-sysv-install enable elasticsearch  
  4. /etc/systemd/system/multi-user.target.wants/elasticsearch.service → /lib/systemd/system/elasticsearch.service のシンボリックリンクを作成しました。

Elasticsearch が実行中であることを確認するには、curl を使用して、localhost のポート 9200 に HTTP リクエストを送信します。

  1. linuxmi@linuxmi:~/www.linuxmi.com$ curl -X GET "localhost:9200/"

次のような画面が表示されます。

  1. {  
  2. 「名前」:「linuxmi」、  
  3. 「クラスター名」:「elasticsearch」、  
  4. "クラスタUUID" : "VnSPAJorQXiyYUTtCzoEQQ",  
  5. 「バージョン」: {  
  6. "番号" : "7.8.1",  
  7. "build_flavor" : "デフォルト",  
  8. "ビルドタイプ" : "deb",  
  9. "ビルドハッシュ" : "b5ca9c58fb664ca8bf9e4057fc229b3396bf3a89",  
  10. 「ビルド日付」:「2020-07-21T16:40:44.668009Z」、  
  11. "build_snapshot" : 偽、  
  12. "lucene_version" : "8.5.1",  
  13. "最小ワイヤ互換性バージョン" : "6.8.0",  
  14. "最小インデックス互換性バージョン" : "6.0.0-beta1"  
  15. },  
  16. 「タグライン」:「検索用です」  
  17. }

サービスの起動には 5 ~ 10 秒かかる場合があります。 curl: (7) ローカルホストのポート9200への接続に失敗しました: 接続が拒否されました と表示された場合は、数秒待ってからもう一度お試しください。

Elasticsearch サービスによって記録されたメッセージを表示するには、次のコマンドを使用します。

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo journalctl -u elasticsearch

[sudo] linuxmi パスワード:

  1. -- ログは 2020-05-28 14:51:20 CST に始まり、2020-07-30 04:03:45 CS に終わります>    
  2. 7月30日 03:43:33 linuxmi systemd[1]: Elasticsearchを起動しています...  
  3. 7月30日 03:44:30 linuxmi systemd[1]: Elasticsearchを開始しました。

はい、以上です。 Elasticsearch が Ubuntu サーバーにインストールされました。

Elasticsearch を構成する

Elasticsearch データは /var/lib/elasticsearch ディレクトリに保存されます。設定ファイルは /etc/elasticsearch にあり、Java 起動オプションは /etc/default/elasticsearch ファイルで設定できます。

デフォルトでは、Elasticsearch はローカルホストでのみリッスンするように設定されています。データベースに接続するクライアントも同じホスト上で実行されており、単一ノード クラスターを設定している場合は、デフォルトの構成ファイルを変更する必要はありません。

リモートアクセス

Elasticsearch はそのままでは認証を実装していないため、HTTP API にアクセスできるユーザーなら誰でもアクセスできます。

Elasticsearch サーバーへのリモート アクセスを許可するには、ファイアウォールを構成し、TCP ポート 6379 を開く必要があります。

通常、特定の IP アドレスまたは IP 範囲からの Redis サーバーへのアクセスのみを許可します。たとえば、192.168.135.0/24 サブネットからの接続のみを許可するには、次のコマンドを実行します。

  1. sudo ufw は 192.168.135.0/24 から任意のポート 6379 へのプロトコル tcp を許可します。

ファイアウォールが設定されたら、次のステップは Elasticsearch 設定を編集し、Elasticsearch が外部接続をリッスンできるようにすることです。

これを行うには、elasticsearch.yml 構成ファイルを開きます。

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo nano /etc/elasticsearch/elasticsearch.yml

network.host を含む行を検索し、コメントを解除して、値を 0.0.0.0 に変更します。

ネットワークホスト: 0.0.0.0

マシンに複数のネットワーク インターフェイスがある場合は、インターフェイスの IP アドレスを指定して、Elasticsearch が指定されたインターフェイスのみをリッスンするように強制します。

変更を有効にするには、Elasticsearch サービスを再起動します。

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl elasticsearchを再起動します

わかりました。これで、リモートの場所から Elasticsearch サーバーに接続できるようになりました。

要約する

Ubuntu 20.04 に Elasticsearch をインストールする方法を説明しました。

Elasticsearch の詳細については、公式ドキュメント ページをご覧ください。

<<:  クラウドコンピューティング業界の観点から見た同国の「新インフラ」

>>:  面接官は、9 つ​​の分散 ID 生成方法を一​​気に述べたときに少し困惑しました。

推薦する

個々のユーザーはどのようにして安全にソフトウェアを選択できるのでしょうか?

中国のパソコンユーザーにとって、パソコンにインストールされているソフトウェアのほとんどはおそらくフリ...

ネットのゴミを一掃するという百度の決意は揺るがない

最近、ネット上で広く流布されている「6月22日」事件と「6月28日」事件をめぐっては、大きな論争が巻...

ウェブサイトの最適化はSEOから始まります。優れたウェブサイトを作成するための8つの重要な要素

不完全な統計によると、毎秒 3.6 の Web サイト ページが更新され、少なくとも 2.8 のキー...

Orange VPS: 50% オフのプロモーション、3 つのネットワークへの直接接続 (CN2 を返す) + DDOS 保護、ネイティブ米国 IP で「Ne​​tflix」のロックを解除

中国の新商人Juzi VPSは、米国ロサンゼルスのVPSに注力しており、発信ルートは3つのネットワー...

2019年上半期海外モバイルアプリケーション市場動向レポート

序文2019年上半期、海外のモバイル市場は依然としてさまざまなブルーオーシャンユーザーグループと新興...

文化省は、違法または不法なオンライン音楽およびアニメウェブサイト185件を調査し、処罰するために動員した。

文化部は文化市場の知的財産権保護に注力するため、最近、地方の文化行政部門と文化市場の総合的な法執行機...

スマートホストはどうですか?サンノゼの「カリフォルニア - 米国 - 北部」データセンターの VPS のレビュー

スマートホストはどうですか?スマートホストに最適な VPS を提供するデータセンターはどれですか? ...

次世代データベースのトリプルプレイ: クラウド、サービスとしてのプラットフォーム、オープンソース

今日、ますます多くの組織が次世代データベース アーキテクチャをサーバーではなくソリューションに移行し...

テンセントテクノパーク開発者会議ブロックチェーンフォーラム:テンセントクラウドブロックチェーンプラットフォームが業界統合を促進

12月20日、テンセントテックパーク開発者会議サブフォーラム「デジタル文明のための信頼フレームワーク...

エッジコンピューティングとは具体的に何を意味するのでしょうか?

「エッジ」という言葉は、モノのインターネットの世界では新たな意味を与えられています。 5G時代の到来...

地元のサイトを守る4つの盾

ローカル Web サイトの構築は、常に多くの幸運を伴う問題です。いくつかのローカル Web サイトは...

ジュフアサンの総経理が拘束され、共同購入業界のグレーな利権連鎖が表面化

共同購入業界におけるグレーな利害関係の連鎖が明るみに出ている。アリババグループは昨日、杭州警察が巨華...

入札ページとは何ですか? 入札ページに何を反映させるべきですか?

多くの友人は、入札単ページについて聞いたことがあるはずです。さらに、医療業界であろうとタオバオであろ...

AWS が Amazon EC2 向け Apple macOS インスタンスを開始

本日正式に開始された AWS re:Invent カンファレンスにおいて、Amazon Web Se...