Linux システムで Centos7 を使って ElasticSearch ミドルウェアと共通インターフェースを構築するデモ

Linux システムで Centos7 を使って ElasticSearch ミドルウェアと共通インターフェースを構築するデモ

1. ミドルウェアの紹介

1. 基本概念

ElasticSearch は Lucene をベースにした検索サーバーです。 RESTful Web インターフェースに基づく分散型マルチユーザー全文検索エンジンを提供します。 Elasticsearch は Java で開発され、Apache ライセンスの条件に基づいてオープンソースとしてリリースされています。これは、人気の高いエンタープライズ レベルの検索エンジンです。

2. 分散データベース

分散データベース システムでは、通常、より小規模なコンピュータ システムが使用されます。各コンピュータは、別々の場所に配置できます。各コンピュータには、DBMS の完全なコピーまたは部分的なコピーがあり、独自のローカル データベースがあります。さまざまな場所にある多数のコンピュータがネットワークを介して相互接続され、完全でグローバル、論理的に集中化され、物理的に分散された大規模なデータベースが形成されます。

3. コアロール

1) ノードとクラスター

クラスターはクラスターを表します。クラスターには複数のノードがあり、そのうちの 1 つがマスター ノードです。このマスター ノードは、選挙によって生成できます。マスター ノードとスレーブ ノードはクラスター内にあります。 ES の概念の 1 つは分散化です。これは文字通り、中央ノードがないことを意味します。これはクラスターの外部に関するもので、外部から見ると ES クラスターは論理的に 1 つの全体です。単一の Elastic インスタンスはノードと呼ばれます。ノードのグループがクラスターを形成します。

2) 破片

これはインデックス シャーディングの略です。Elasticsearch は完全なインデックスを複数のシャードに分割できます。これの利点は、大きなインデックスを複数のシャードに分割し、異なるノードに分散できることです。分散検索を構成します。シャードの数はインデックスの作成前にのみ指定でき、インデックスの作成後に変更することはできません。

3) 文書
インデックス内の単一のレコードはドキュメントと呼ばれます。多数のドキュメントがインデックスを構成します。ドキュメントは JSON 形式を使用して表されます。

4) 索引

Elastic はすべてのフィールドにインデックスを作成し、データを検索するときにインデックスを直接検索できます。各インデックスの名前 (データベース名として認識されます) は小文字にする必要があります。

5) タイプ

ドキュメントは、データベース テーブル名として理解されるドキュメントをフィルター処理するために、タイプに従って仮想的に論理的にグループ化できます。

2. ミドルウェアのインストール

1. インストール環境とバージョン

セントオス7
JDK1.8
エラスティックサーチ-6.3.2

2. ダウンロードして解凍する

ダウンロード パスは現在のディレクトリのフォルダー内にあります。または、ダウンロード パスを指定することもできます。 wget -P ディレクトリ URL。

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.zip を実行します。
[root@localhost roo]# mv elasticsearch-6.3.2.zip /usr/local/mysoft/
[root@localhost mysoft]# elasticsearch-6.3.2.zip を解凍します

3. ソフトウェアを起動する

[root@localhost mysoft]# cd elasticsearch-6.3.2/
[root@localhost elasticsearch-6.3.2]# ./bin/elasticsearch

1) エラーを報告する

org.elasticsearch.bootstrap.StartupException: 
java.lang.RuntimeException: Elasticsearch を root として実行できません

新しいユーザーグループとユーザーを作成する

[root@localhost]# useradd esroot
[root@localhost]# パスワード esroot
[root@localhost]# グループ追加 esgroup
[root@localhost]# usermod -g esgroup esroot

esroot ユーザー認証

chown esroot /usr/local/mysoft/elasticsearch-6.3.2 -R

esrootユーザーに切り替える

[root@localhost mysoft]# su - esroot
[esroot@localhost ~]$ su #ルートユーザーに戻る

2) エラー2

elasticsearchプロセスの最大ファイル記述子[4096]が低すぎます。 
少なくとも[65536]に増加

次のコマンドをルート権限で実行します。

[root@localhost roo]# vim /etc/security/limits.conf

コンテンツを追加

*ソフトnofile65536
* ハードnofile 65536

esrootユーザーに戻る

再起動しましたが、エラーメッセージは表示されません。

4. コマンドラインテストを開く

カール ローカルホスト:9200
[roo@localhost ~]$ curl localhost:9200
{
 「名前」:「YMS44oi」、
 「クラスター名」:「elasticsearch」、
 "クラスターUUID" : "2ZXjBnkJSjieV_k1IWMzrQ",
 「バージョン」: {
 "番号" : "6.3.2",
 "build_flavor" : "デフォルト",
 "ビルドタイプ" : "zip",
 "ビルドハッシュ": "053779d",
 「ビルド日付」:「2018-07-20T05:20:23.451332Z」、
 "build_snapshot" : 偽、
 "lucene_version" : "7.3.1",
 "最小ワイヤ互換性バージョン" : "5.6.0",
 "最小インデックス互換性バージョン" : "5.0.0"
 },
 「タグライン」:「検索用です」
}

このようにして、elasticsearch-6.3.2 環境が正常に構築されます。

ポート 9200 を要求すると、Elastic は現在のノード、クラスター、バージョンなどの情報を含む JSON オブジェクトを返します。
Ctrl + C を押すと、Elastic の実行が停止します。

5. 外部アクセスを構成する

デフォルトでは、Elastic はローカル アクセスのみを許可します。リモート アクセスが必要な場合は、Elastic インストール ディレクトリの config/elasticsearch.yml ファイルを変更し、network.host のコメントを解除して、その値を 0.0.0.0 に変更してから、Elastic を再起動します。

[esroot@localhost config]$ cd /usr/local/mysoft/elasticsearch-6.3.2/config
[esroot@localhost 設定]$ vim elasticsearch.yml 
ネットワークホスト: 0.0.0.0

6. IK中国語単語セグメンテーションをインストールする

ルートユーザーに切り替える

[root@localhost elasticsearch-6.3.2]$ ./bin/elasticsearch-plugin 
インストール 
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip

3. はじめに

インデックスの作成と削除

1. インデックスを作成する

[esroot@localhost ~]$ curl -X PUT 'localhost:9200/esindex01'
# データを返す {
 「承認済み」:true、
 「shards_acknowledged」: true、
 "インデックス": "esindex01"
}

サーバーは JSON オブジェクトを返し、acknowledged: true フィールドは操作が成功したことを示します。

2. インデックスを削除する

[esroot@localhost ~]$ curl -X DELETE 'localhost:9200/esindex01'
{"承認済み":true}

acknowledged: true フィールドは、操作が成功したことを示します。

4. ソースコードアドレス

GitHub アドレス: Cicadasmile https://github.com/cicadasmile
コードクラウドアドレス: Cicadasmile https://gitee.com/cicadasmile

要約する

上記は、編集者が紹介した Linux システムの Centos7 で ElasticSearch ミドルウェアと共通インターフェースを構築するデモです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux DMAインターフェースの知識ポイントの詳細な説明
  • Linux で利用可能なネットワーク インターフェイスを表示する方法
  • LinuxシステムはPythonを使用してネットワークインターフェースを監視し、ネットワークの入出力を取得します。
  • Linux での BSD ソケット開発の基礎入門
  • Linux オペレーティングシステムでの BSD ソケット開発の基礎入門
  • Linux /etc/network/interfaces 設定インターフェース方法

<<:  MySQL での実行計画の explain コマンド例の詳細な説明

>>:  Vueは遅延読み込みによりページの応答速度を向上

推薦する

ウェブサイトを高速化する

パフォーマンスは本当に重要ですか?パフォーマンスは重要であり、誰もがそれを知っています。なぜ私たちは...

Mysql マルチテーブル結合クエリの実行の詳細について簡単に説明します。

まず、このブログのケースデモンストレーション テーブルを作成します。 create table a(...

MySQLのスリープ関数の特殊現象例の詳しい説明

序文MySQL のスリープ システム機能は、実用的な適用シナリオが少なく、通常は実験的なテストに使用...

MySQL 5.7.18 無料インストールバージョンの設定チュートリアル

MySQL 5.7.18 無料インストール版のインストールチュートリアルMySQL は現在、世界で最...

Centos 7にmysql5.7.24バイナリバージョンをインストールする方法と解決方法

MySQLバイナリのインストール方法mysqlをダウンロード参考: 1. パッケージを解凍する ta...

CSSの省略記号とパディングを組み合わせた場合の問題の詳細な説明

CSS によるテキストの切り捨てテキストを自動的に切り捨てるスタイル コードを実装するには、次のコー...

Linux システムでキャッシュをクリアする方法の概要

1) キャッシュメカニズムの紹介Linux システムでは、ファイルシステムのパフォーマンスを向上させ...

Vite+ElectronでVUE3デスクトップアプリケーションを素早く構築

目次1. はじめに2. Viteプロジェクトを作成する1. viteをインストールする2. プロジェ...

WeChatアプレットはシンプルな手書き署名コンポーネントを実装します

目次背景:必要:効果1. アイデア2. 実装1. ページとスタイル2. 初期化3. クリックすると4...

Win10 64 ビットで圧縮パッケージを使用して最新の MySQL 8.0.18 をインストールするチュートリアル (画像とテキスト付き)

WIN10 64ビットに最新のMySQL8.0.18をインストールダウンロード公式サイトから最新バ...

MySQL での正規表現の使用に関する詳細

目次1. はじめに2. 製品テーブルを準備する2.1 ステートメントの順序2.2 大文字と小文字の区...

ネイティブ JavaScript を使用した Web 計算機の実装

この記事では、参考までに、計算機のWebバージョンを実装するためのJavaScriptの具体的なコー...

HTML+CSS で div タグの右上隅に削除アイコンを追加するサンプルコード

1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...

シンプルなメッセージボードケースを実現するJavaScript

参考までに、Javascriptを使用してメッセージボードの例(メッセージ削除あり)を実装します。具...

Centos8 (最小インストール) Python3.8+pip のインストール方法に関するチュートリアル

Python8のインストールを最小化した後、Python3.8.1をインストールしました。オンライン...