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

推薦する

ロングテールキーワードの価値を3つの側面から判断する

ウェブサイトの最適化において、ロングテールキーワードはさらなるメリットをもたらす秘密兵器です。特に販...

APPプロモーション丨主流プロモーションチャネルの長所と短所の分析

01トラフィック評価による分類編集者は、主流チャネルからのトラフィックのソースを3つの陣営に分類して...

主要な情報フロープラットフォームの実際のトラフィックはどの程度でしょうか?最新のデータを見ればわかります!チャンネル必須!

情報フローを作成する際に、最適化技術の他に最も注意すべきことはトラフィックです。交通量は多いですか?...

北京地域ウェブサイト共同噂反駁プラットフォームが改訂:グローバルリアルタイム検索

モーニングポストニュース(劉洋記者)「北京地域ウェブサイト共同噂反駁プラットフォーム」は、公開から2...

SEOの第2領域におけるロングテールキーワード最適化の基本操作

多くの人々は長い間SEOを勉強していますが、常に最初の段階にあります。つまり、キーワードは非常によく...

推奨: globalfrag/CN2 ネットワーク/$10/512M メモリ/50g ハードディスク/500g トラフィック/ロサンゼルス

globalfrag.com の魔法の割引コードが再び登場しました。どの VPS を購入しても永久に...

米軍がサイバー戦争ソフトウェアDshellをGitHubで公開

米軍の研究所がスーパーツールDshellをリリースしました。公式紹介では「Dshellはネットワーク...

VMwareは持続可能なイノベーションを推進し続けます

暗号通貨、機械学習、ビッグデータなどの計算集約型テクノロジーの急速な導入により、データセンターの電力...

新しいウェブマスターがBaiduを正しく理解できるように支援する

私は何年もウェブサイトを構築してきました。この数年間、大した成果はあげていませんが、ウェブマスターと...

Baidu Lee: 検索クロールの習慣に合ったウェブサイトの構築

以前、Baidu ウェブマスターの Lee が検索クロール システムの動作原理を紹介しました。この動...

推奨: アトランティック クラウド VPS-256Mkvm/1T トラフィック/月額 5 USD (2 か月間無料トライアル)

これまでHostCatでも3回ご紹介させていただいたAtlanticは、1994年創業の実績豊富な会...

inceptionhosting 128M xen VPS 年間19.76ドル

私は何度も inceptionhosting を推薦してきました。評判が良く、VPS の品質が保証さ...