Elasticsearchクラスタ構築
12853 ワード
以前のCDNのログ処理モデルはlogstash agent=>>redis=>>logstash index=>>elasticsearch=>>kibana 3から、elasticsearchクラスタ構築に対してインデックスをスライス記憶することができ、1つのインデックスはいくつかのスライスに分けてクラスタに格納することができ、クラスタ内の負荷が均衡し、コピーが割り当てられ、インデックス動的等化(ノードの増加または減少に応じて)はelasticsearch自身の内部で行われ,場合によっては再割り当てされる.次に、elasticsearchに関するいくつかの名詞clusterが1つのクラスタを表し、クラスタには複数のノードがあり、そのうち1つのプライマリノードがあり、このプライマリノードは選挙によって生成することができ、プライマリスレーブノードはクラスタ内部にとってである.Esの1つの概念は中心化することであり、字面的には中心ノードがないことを理解している.これはクラスタの外部にとって、外部から見るとesクラスタは論理的に全体であり、あなたとどのノードとの通信とesクラスタ全体との通信は等価であるからだ.shardsはインデックススライスを表し、esは1つの完全なインデックスを複数のスライスに分割することができ、このような利点は1つの大きなインデックスを複数に分割し、異なるノードに分布することができる.分散検索を構成します.スライス数は、インデックスの作成前にのみ指定でき、インデックスの作成後には変更できません.replicasはインデックスコピーを表し、esは複数のインデックスのコピーを設定することができます.コピーの役割は、システムのフォールトトレランスを向上させ、ノードのスライスが破損したり、失われたりした場合にコピーから回復することができます.二つ目はesのクエリー効率を向上させ、esは自動的に検索要求に対して負荷均衡を行う.recoveryはデータリカバリまたはデータ再分布を表し、esはノードが追加または終了した場合にマシンの負荷に基づいてインデックススライスを再割り当てし、掛けたノードが再起動した場合にもデータリカバリを行う.riverはesの1つのデータソースを表し、他のストレージ方式(例えば、データベース)がesにデータを同期する方法でもある.プラグイン方式で存在するesサービスで、riverのデータを読み出してesにインデックスすることで、公式のriverにはcouchDB、RabbitMQ、Twitter、Wikipedia、riverという機能が後述するファイルで重点的に説明されます.gatewayはesインデックスの永続化ストレージ方式を表し、esのデフォルトはインデックスをメモリに保存し、メモリがいっぱいになったときにハードディスクに永続化します.このesクラスタが閉じて再起動するとgatewayからインデックスデータが読み出されます.Esは、ローカルファイルシステム(デフォルト)、分散ファイルシステム、HadoopのHDFS、amazonのs 3クラウドストレージサービスなど、さまざまなタイプのgatewayをサポートしています. discovery.zenはesの自動発見ノードメカニズムを表し、esはp 2 pベースのシステムであり、まずブロードキャストによって存在するノードを探し、マルチキャストプロトコルによってノード間の通信を行い、同時にポイント対ポイントの相互作用をサポートする.Transportはes内部ノードまたはクラスタとクライアントとのインタラクションを表し、デフォルトでは内部でtcpプロトコルを使用してインタラクションを行うとともに、httpプロトコル(jsonフォーマット)、thrift、servlet、memcached、zeroMQなどの転送プロトコル(プラグインによる統合)をサポートします.
簡単な検索クラスタです.共有してください.
OS環境:Red Hat 4.8.2-16
elasticsearch :elasticsearch-1.4.1
クラスタ構築方式:1台の仮想マシン上の2つのノード.
クラスタ格納パス:/export/search/elasticsearch-cluster
必須環境:java実行環境
クラスタ構築の例:
1.tarパッケージを解凍し、クラスタノードを作成する
2.クラスタ構成情報の作成:
Elasticsearchプロファイルの説明は、次のとおりです.http://blog.csdn.net/an74520/article/details/10175603
3.headカードのインストール
プラグインのインストールが完了すると、esノードbinパスの同級にpluginsディレクトリが作成され、インストールされたプラグインが保存されます.
4.構成されたノードをelasticsearch-node 2にコピーする
5.ノード2におけるクラスタ構成情報の変更
説明:
上の構成はクラスタに2つのノードがあることを示し、ノード名は「es-node 1」と「es-node 2」であり、同じクラスタ「elasticsearch-cluster-centos」に属する.
ノード2のポートは構成する必要がなく、esは起動時に検出し、ターゲットポートが占有する場合、次のポートを検出する.2つのノードが同じ日に仮想マシンに配備するため、ここでは問題をよりよく説明するために、対応するポートを手動で構成する.
対応する起動情報とポートバインド情報をes対応ログ()から表示できます.
6.ノードを別々に起動する
以上のように、ノード1を起動するコマンドについて、esは構成関連ログを起動してelasticsearch-cluster-centosを表示する.logでいいです.
7.これで我々の簡易クラスタ構成が完了する.クラスタの表示
headプラグインがインストールされているので、このプラグインで表示できます.仮想マシンipは192.168.1.1088です.
http://www.tuicool.com/articles/FreqUv
http://www.360doc.com/content/15/0806/10/18167315_489830240.shtml
簡単な検索クラスタです.共有してください.
OS環境:Red Hat 4.8.2-16
elasticsearch :elasticsearch-1.4.1
クラスタ構築方式:1台の仮想マシン上の2つのノード.
クラスタ格納パス:/export/search/elasticsearch-cluster
必須環境:java実行環境
クラスタ構築の例:
1.tarパッケージを解凍し、クラスタノードを作成する
#
[root@localhost elasticsearch-cluster]# pwd
/export/search/elasticsearch-cluster #
[root@localhost elasticsearch-cluster]# ls
elasticsearch-1.4.1 [root@localhost elasticsearch-cluster]# mv elasticsearch-1.4.1 elasticsearch-node1 #
[root@localhost elasticsearch-cluster]# cd elasticsearch-node1/config/
[root@localhost config]# ls
elasticsearch.yml logging.yml
2.クラスタ構成情報の作成:
# elasticsearch-node1 #
cluster.name: elasticsearch-cluster-centos #
node.name: "es-node1"
# ( 9300)
transport.tcp.port: 9300
# HTTP ( 9200)
http.port: 9200
Elasticsearchプロファイルの説明は、次のとおりです.http://blog.csdn.net/an74520/article/details/10175603
3.headカードのインストール
# bin
[root@localhost bin]# pwd
/export/search/elasticsearch-cluster/elasticsearch-node1/bin [root@localhost bin]# ./plugin -install mobz/elasticsearch-head
プラグインのインストールが完了すると、esノードbinパスの同級にpluginsディレクトリが作成され、インストールされたプラグインが保存されます.
4.構成されたノードをelasticsearch-node 2にコピーする
[root@localhost elasticsearch-cluster]# ls
elasticsearch-node1 elasticsearch-node2
5.ノード2におけるクラスタ構成情報の変更
# elasticsearch-node2 #
cluster.name: elasticsearch-cluster-centos #
node.name: "es-node2"
# ( 9300)
transport.tcp.port: 9301
# HTTP ( 9200)
http.port: 9201
説明:
上の構成はクラスタに2つのノードがあることを示し、ノード名は「es-node 1」と「es-node 2」であり、同じクラスタ「elasticsearch-cluster-centos」に属する.
ノード2のポートは構成する必要がなく、esは起動時に検出し、ターゲットポートが占有する場合、次のポートを検出する.2つのノードが同じ日に仮想マシンに配備するため、ここでは問題をよりよく説明するために、対応するポートを手動で構成する.
対応する起動情報とポートバインド情報をes対応ログ()から表示できます.
6.ノードを別々に起動する
[root@localhost bin]# pwd
/export/search/elasticsearch-cluster/elasticsearch-node1/bin [root@localhost bin]# ./elasticsearch -d -Xms512m -Xmx512m
以上のように、ノード1を起動するコマンドについて、esは構成関連ログを起動してelasticsearch-cluster-centosを表示する.logでいいです.
[root@localhost logs]# pwd
/export/search/elasticsearch-cluster/elasticsearch-node2/logs [root@localhost logs]# ls
elasticsearch-cluster-centos_index_indexing_slowlog.log elasticsearch-cluster-centos.log elasticsearch-cluster-centos_index_search_slowlog.log
7.これで我々の簡易クラスタ構成が完了する.クラスタの表示
headプラグインがインストールされているので、このプラグインで表示できます.仮想マシンipは192.168.1.1088です.
http://192.168.1.108:9200/_plugin/head/ ( 1) http://192.168.1.108:9201/_plugin/head/ ( 2)
http://www.tuicool.com/articles/FreqUv
http://www.360doc.com/content/15/0806/10/18167315_489830240.shtml