ホームページ > php教程 > php手册 > Elasticsearch の単一マシン 2 ノード クラスターのデプロイメントを理解する方法

Elasticsearch の単一マシン 2 ノード クラスターのデプロイメントを理解する方法

坏嘻嘻
リリース: 2018-09-14 16:03:42
オリジナル
12372 人が閲覧しました

この記事では、引き続き Elasticsearch で CRUD を実行する方法についての基本的な学習を行います。

#Elasticsearch スタンドアロン デュアルノード クラスターのデプロイメント

环境:CentOS 7.2       JDK 1.8.0_74
ログイン後にコピー


##1. 最初の ElasticSearch (マスター ノード) をインストールします

1. es ユーザーを作成します。

useradd es
passwd es
ログイン後にコピー

root ユーザーは、/home/es ディレクトリに入ります。 ElasticSearch インストール パッケージ。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.2.tar.gz
ログイン後にコピー

3. 解凍して名前を変更します (クラスタリング時に別の ES と区別しやすくするため)

tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node2
ログイン後にコピー

4. 設定ファイルを変更します。

vi elasticsearch-node2/config/elasticsearch.yml
ログイン後にコピー

次の内容をファイルの末尾に追加して、接続ヘッドに正常性値が表示されるようにします (コードの各行の前にスペースを入れないでください)

cluster.name: my-application      
  各节点此名称必须一致node.name: node-2           
        节点名称,不能与其他节点相同        
         network.host: ***.***.***.***   
        自己的服务器IPhttp.port: ****         
           访问端口transport.tcp.port: ****  
    集群各节点间的通讯端口 discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]
ログイン後にコピー

5. 起動

http.cors.enabled: truehttp.cors.allow-origin: "*"
ログイン後にコピー
ログイン後にコピー
sh elasticsearch-node2/bin/elasticsearch
ログイン後にコピー

正常に起動します。ブラウザに「

IP:access port##」と入力します。

#Webページには、展開が成功したことを示す次のコンテンツが表示されます

[2018-01-24T15:36:41,990][INFO ][o.e.n.Node               ] [KMyyO-3] started
[2018-01-24T15:36:41,997][INFO ][o.e.g.GatewayService     ] [KMyyO-3] recovered [0] indices into cluster_state
ログイン後にコピー

6、エラー報告とその処理

[タイプ 1]

{
  "name" : "node-2",
  "cluster_name" : "my-application",
  "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",    
  "version" : {
    "number" : "6.1.2",
    "build_hash" : "5b1fea5",
    "build_date" : "2018-01-10T02:35:59.208Z",
    "build_snapshot" : false,
    "lucene_version" : "7.1.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"}
ログイン後にコピー
この問題は、es の実行に root ユーザーを使用できないため、es ユーザーに切り替えてもう一度開始してください

Caused by: java.lang.RuntimeException: can not run elasticsearch as root
ログイン後にコピー

[タイプ 2]

chown -R es:es elasticsearch-node2/su - es
sh elasticsearch-node2/bin/elasticsearch
ログイン後にコピー

ソリューション、root ユーザーに戻り、構成ファイルを変更します

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
ログイン後にコピー

[タイプ 3]

vi /etc/security/limits.conf#在最后面追加下面内容es hard nofile 65536es soft nofile 65536
ログイン後にコピー

ソリューション、元のユーザーに戻します。 root ユーザーにして設定ファイルを変更します。

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ログイン後にコピー

2. 2 番目の ElasticSearch (セカンダリ ノード) をインストールします。

インストール方法は最初と同じです。2 つは一貫しているので注意してください。構成ファイルの変更

root ユーザーは /home/es ディレクトリに入ります

1。解凍して名前を変更します

vi /etc/sysctl.conf 
#在最后面追加下面内容vm.max_map_count=655360#执行命令:sysctl -p
ログイン後にコピー

2。内容は次のとおりです。

tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node3
ログイン後にコピー
また、ファイル
vi elasticsearch-node3/config/elasticsearch.yml
ログイン後にコピー

3 の最後に次のコードを追加します。

cluster.name: my-application      
  各节点此名称必须一致node.name: node-3      
               节点名称,不能与其他节点相同network.host: ***.***.***.***   
                   自己的服务器IPhttp.port: ****          
                              访问端口(注意不要与第一个端口重复)                              transport.tcp.port: ****            集群各节点间的通讯端口(注意不要与第一个端口重复)discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]
ログイン後にコピー

ブラウザを起動し、

IP を入力します。ブラウザのポート

にアクセスします。

Webページには、2番目のデプロイが成功したことを示す次のコンテンツが表示されます。

http.cors.enabled: truehttp.cors.allow-origin: "*"
ログイン後にコピー
ログイン後にコピー

3. Elasticsearch-headプラグインをインストールします

1. head プラグインをインストールする前に、node.js をインストールする必要があります

sh elasticsearch-node3/bin/elasticsearch
ログイン後にコピー

インストールが完了したら、コマンドを実行してノードと npm のバージョンを表示します

{
  "name" : "node-3",
  "cluster_name" : "my-application",
  "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",
  "version" : {
    "number" : "6.1.2",
    "build_hash" : "5b1fea5",
    "build_date" : "2018-01-10T02:35:59.208Z",
    "build_snapshot" : false,
    "lucene_version" : "7.1.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"}
ログイン後にコピー
#2。 git
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs
ログイン後にコピー

3 からヘッド プラグインを解凍します (操作を容易にするために名前を変更できます)

[root@host]# node -vv8.12.0[root@host]# npm -v6.4.1
ログイン後にコピー

4. 設定ファイルを変更します。ヘッドのポート番号

wget https://github.com/mobz/elasticsearch-head/archive/master.zip
ログイン後にコピー
unzip master.zip
mv elasticsearch-head-master/ head
ログイン後にコピー
ヘッドのリンク アドレスを変更します
vi head/Gruntfile.js
ログイン後にコピー

5. ヘッドを開始します

connect: {          server: {
                   options: {
                              port: ****,    改为head访问端口
                              base: '.',
                              keepalive: true                             }
                    }
          }
ログイン後にコピー

6. ブラウザのログイン ヘッド

URL 入力サーバー IP: ヘッド アクセス ポート

マスター ノードのアクセス アドレスなどのリンク アドレス入力

7. ヘッドのインストール時によくあるエラー

[タイプ 1] 正常に起動しましたが、Web ページを起動できません。 accessed

解決策

サーバー ファイアウォールをオフにする

vi head/_site/app.js
ログイン後にコピー

[タイプ 2]クラスターの正常性値が接続されていません

次のコードを elasticsearch.yml に追加します (スペースを含めないでください。コードの前)

init: function(parent) {
                        this._super();                        this.prefs = services.Preferences.instance();                        this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://主节点IP:访问端口";
ログイン後にコピー

Q: ES ノードがノード 2 とノード 3 を使用するのはなぜですか? Elasticsearch の単一マシン 2 ノード クラスターのデプロイメントを理解する方法回答: 以前にクラスター化されていない ES のセットを構築するためにノード 1 を使用したため、後続のクラスターには 2 と 3 を使用しました。

関連する推奨事項:


Yii2 の使用方法エラスティックサーチ、ああ?

Elasticsearch の CRUD


以上がElasticsearch の単一マシン 2 ノード クラスターのデプロイメントを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
es
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート