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 生成方法を一​​気に述べたときに少し困惑しました。

推薦する

2019 年のソーシャル メディア トレンドのプレビュー、気になる情報はすべてここにあります。

海外メディアの報道によると、2018年も終わりに近づき、コンテンツ業界は過去1年を振り返り、来年のト...

Kubernetes でのマイクロサービス アーキテクチャの実装

[編集者注] この記事は、マイクロサービス メッシュ シリーズの第 2 部です。最も人気のあるマイク...

クラウドネイティブ時代が到来すると、クラウド セキュリティ テクノロジーはどこに向かうのでしょうか?

数年にわたる実装を経て、クラウドネイティブのコンセプトはエンタープライズ市場で広く認知され、エンター...

Baidu K-station後の奇妙なSEO現象

ここで、Xiao Kは6月22日のBaidu K Stationでの自身の経験に基づいて、いくつかの...

ウェブサイトの閲覧者数を増やすことがキーワードランキングの鍵

ウェブサイトのユーザーは、ウェブサイトの忠実なユーザー グループ、つまりウェブサイトのファンとも呼ば...

鉄鋼ウェブサイトでは、コスト削減の選択肢としてスポット取引プラットフォームを頻繁に宣伝している。

早報の研修記者、胡素敏鉄鋼業界が過剰生産能力に直面し、製鉄所がわずかな利益、あるいは損失に直面してい...

ピアオ兄弟:百度とウェブマスターは2008年に隠れんぼをした

2008年1月はまだ終わっていませんが、Baiduは更新活動を増やし、その深さを強化しています。これ...

10億レベルのトラフィックアーキテクチャのための分散トランザクションのアイデアと方法

分散トランザクションと分散ロックは、分散システムにおける難しい点です。分散トランザクションについては...

信じられないかもしれませんが、インターネットプロモーションは単なる1つのトリックです

インターネットプロモーションというのは実に簡単なことです。しかし、どこから始めればよいかわからない部...

Apple App Store では悪意のあるレビューの投稿が広まり、大手メーカーのゲームが多数攻撃されています。

ひどい扱いを受けている? App Storeで悪質なレビュー操作が蔓延Game Gyroは、Appl...

serverfield: 台湾 VPS - 「非直接中国ルート」シリーズ VPS をレビューして、その仕組みを確認する

serverfield は、新しい「非直接中国ルート」シリーズの VPS を追加しました。これは、実...

onetechcloud: 高速 VPS が 20% オフ、最低 21 元、オプション ルート:「香港 CN2/香港 CMI/米国 CN2/米国 CU2」

onetechcloudのVPSクラウドサーバーは現在、全製品で20%割引(四半期支払いのみ)を提供...

Huawei Honor 9iの発売日と構成が明らかに、6月6日の記者会見で発表される予定

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますA5 St...

ウェブサイトのトラフィックを増やしたい場合は、ウェブサイトを構築するときにこれらの点に注意する必要があります。

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますウェブサイ...

Jidong.comの呂文勝:残された動画サイトオーナーの反省

口頭 | Lv Wensheng記者のヘ・ヤンがまとめた資金調達は遅すぎますか? 300~400の動...