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は遅延読み込みによりページの応答速度を向上

推薦する

Reactでのイベントバインディングの実装は3つの方法を指しています

1. 矢印関数1. 矢印関数自体はこれをバインドしないという事実を利用します。 2. render(...

Linux\Nginx 環境での仮想ドメイン名の設定とテスト検証

Nginx 仮想ドメイン名設定を使用すると、ドメイン名を購入せずに特定のドメイン名を介してローカル ...

MySQL データベースのホットスタンバイにおける問題点の分析

以前、MySQL データベースのデュアルマシン ホット スタンバイの設定方法を紹介しました。ご興味の...

HTMLタグIDは変数にできる

<table id=" <%=var1%>">、var1...

mysql-8.0.17-winx64 のデプロイメント方法

1. 公式サイトからmysql-8.0.17-winx64をダウンロードし、Zipファイル形式を選択...

フローティングメニュー、上下スクロール効果を実現できます

コードはさらに合理化できますが、時間の制約があるため、まずはここで投稿して、自分で最適化してメニュー...

Redis を Docker コンテナとして素早くデプロイする方法

目次はじめるデータストレージサーバーを構成するRedis セキュリティの管理Redisインストールの...

画像ボタン送信とフォーム繰り返し送信の問題に関する議論

多くの場合、フォームを美しくするために、送信ボタンが画像に置き換えられます。ただし、細部に注意を払わ...

Linux の sudo 脆弱性により不正な特権アクセスが発生する可能性がある

Linux で新たに発見された sudo の脆弱性を悪用すると、特定のユーザーが root としてコ...

CSSリンクと@importの違いの詳細な説明

HTML に CSS を追加するにはどうすればいいですか? HTML で CSS を設定する方法は ...

効率的なMySQLページングの詳細な説明

序文通常、大量のデータを扱う MySQL クエリには「ページング」戦略が採用されます。ただし、ページ...

ラムダ式の原則と例

ラムダ式ラムダ式 (クロージャとも呼ばれる) は、Java 8 のリリースを推進した最も重要な新機能...

CSS で複数の境界線を実装するためのヒント

1. 複数の国境[1]背景: ボックスシャドウ、アウトライン使用シナリオの多様性を考慮すると、複数の...

フロントエンドの HTML 知識ポイントのまとめ (推奨)

1. HTMLの概要htyper テキスト マークアップ言語 ハイパーテキスト マークアップ言語ハ...

異なるインデックスを更新してMySQLのデッドロックルーチンを解決する

前回の記事では、ソース コードを使用してロック関連の情報をデバッグする方法を紹介しました。ここでは、...