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

推薦する

STO と JD.com が「決裂」: スペアパーツ倉庫物流入札で JD.com を非難

1社は民間の宅配便大手、もう1社は物議を醸す電子商取引界の大物だ。外の世界では「不可分」とみなされて...

スクリプト ステーションから 2 か月で 2000 の IP を取得するにはどうすればよいでしょうか?

今日、A5の記事を読んでいて、「個人ウェブマスターの悲劇:独創性を守るために何ができるか」という記事...

Kafka のプロデューサー、コンシューマー、ブローカーの基本概念

Kafka は、パブリッシングおよびサブスクリプションベースのメッセージング システムです。一般的に...

クラウドストレージの5つの利点

5G 時代では、ますます多くの企業がクラウドにデータを保存することを選択するようになっています。 I...

クラウド コンピューティング ベンダーのセキュリティ ガイド: 時間をかける価値はありますか?

この記事では、AWS、Azure、Google Cloud が提供するクラウド セキュリティ ガイド...

おすすめ: oplink.net の大幅割引 (XEN/SSD)

Oplink も古いブランドで、1999 年に設立されたベテラン IDC で、テキサス州ヒューストン...

百度による医療ウェブサイトのランキングに関する意見

SEOをやっている人達は気づいているかどうか分かりませんが、特に医療業界に携わっている人達は、このよ...

実名登録は単なるマーケティング戦略。出会い系サイトは信頼の危機に直面している

ネット恋愛や結婚、電子商取引、その他のオンラインコミュニケーションなど、実名登録は発展のトレンドにな...

AIでクラウド移行が簡単に

クラウド移行の旅にまだ着手していない組織にとって、1 つ明らかなことは、傍観者でいる時間は終わったと...

AzzaVPS - 1g メモリ/65g ハードディスク/50M 無制限/月額 6 USD

1024M メモリ、65G ハードディスク、50M 無制限、1 IPV4、openvz ベース、so...

低価格のVPSにこだわらず、自分に合ったものを選びましょう

なぜそんなことを言うのですか?まず、最低限のポイントは、私が VPS マーチャントである場合、私の目...

サーバーレス クラウド セキュリティ: サーバーレス コンピューティングを保護する方法

サーバーレス コンピューティングは、クラウド コンピューティングの開発トレンドの 1 つであり、最も...

カナダのクラスターサーバー: yesuphost、1台のサーバーで4つのCセグメント、最大10Gbpsの帯域幅を取得可能

カナダのホスティング会社yesuphost(yesupのブランドで、1999年に設立されました。詳細...

Bing ウェブマスター ツール ユーザー ガイド

いくつかの大手検索エンジン (Baidu、GOOGLE、Bing) が独自のウェブマスター ツールを...

分散データベースにおける複雑な障害をエレガントに解決する方法

障害の説明ACID はトランザクションの 4 つの特性であり、そのうち D (Duration) は...