elasticsearch-62.3クラスタ構築


開発環境
私は当地windowsでデモをしています.linuxは大体同じです.外网の構築はちょっと違っています.特別に注釈します.
準備
対応バージョンのelasticsearchをダウンロードします.
住所:http://www.elastic.co/downloads/elasticsearch 私がダウンロードしたのは6.2.3です.クラスタに接続する必要があるので、解凍をダウンロードしてから、同じものを2つコピーしてローカルに置きます.
elastic search-headをダウンロードします.
住所:https://github.com/mobz/elasticsearch-head
このツールは主にesの動作状態を監視し、簡単なクエリを行うために使用されます.es5.0以上のバージョンは直接使用します.
npm install
npm run start
いいです
クラスタの設定を作成esディレクトリの下のconfigディレクトリにそれぞれ入って、elasticsearch.ymlファイルを修正して、直接コードのマスタノード構成を行います.
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: ooo-cluster
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
#    
node.name: node-master
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
#path.data: /path/to/data
#
# Path to log files:
#
#path.logs: /path/to/logs
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#    
network.host: 127.0.0.1
#
# Set a custom port for HTTP:
#
#http  
http.port: 9201
#tcp    
transport.tcp.port: 9330
#      
node.master: true
#        
node.data: false
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when new node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#    ,        9300
discovery.zen.ping.unicast.hosts: ["127.0.0.01:9330", "127.0.0.01:9331","127.0.0.01:9332"]
#
# Prevent the "split brain" by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):
#
#discovery.zen.minimum_master_nodes: 
#
# For more information, consult the zen discovery module documentation.
#
# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:
#
#gateway.recover_after_nodes: 3
#
# For more information, consult the gateway module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
#        ,   false
http.cors.enabled: true
##           ,(      )      
http.cors.allow-origin: /.*/  
データ1ノード構成:
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: ooo-cluster
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
#    
node.name: node-data1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
#path.data: /path/to/data
#
# Path to log files:
#
#path.logs: /path/to/logs
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#    
network.host: 127.0.0.1
#
# Set a custom port for HTTP:
#
#http  
http.port: 9202
#tcp    
transport.tcp.port: 9331
#      
node.master: false
#        
node.data: true
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when new node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#    ,        9300
discovery.zen.ping.unicast.hosts: ["127.0.0.01:9330", "127.0.0.01:9331","127.0.0.01:9332"]
#
# Prevent the "split brain" by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):
#
#discovery.zen.minimum_master_nodes: 
#
# For more information, consult the zen discovery module documentation.
#
# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:
#
#gateway.recover_after_nodes: 3
#
# For more information, consult the gateway module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
#        ,   false
http.cors.enabled: true
##           ,(      )      
http.cors.allow-origin: /.*/  
データノード2の構成:
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: ooo-cluster
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
#    
node.name: node-data2
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
#path.data: /path/to/data
#
# Path to log files:
#
#path.logs: /path/to/logs
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#    
network.host: 127.0.0.1
#
# Set a custom port for HTTP:
#
#http  
http.port: 9203
#tcp    
transport.tcp.port: 9332
#      
node.master: false
#        
node.data: true
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when new node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#    ,        9300
discovery.zen.ping.unicast.hosts: ["127.0.0.01:9330", "127.0.0.01:9331","127.0.0.01:9332"]
#
# Prevent the "split brain" by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):
#
#discovery.zen.minimum_master_nodes: 
#
# For more information, consult the zen discovery module documentation.
#
# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:
#
#gateway.recover_after_nodes: 3
#
# For more information, consult the gateway module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
#        ,   false
http.cors.enabled: true
##           ,(      )      
http.cors.allow-origin: /.*/  
外部ネットワークを使ってクラスタを構築する時は注意が必要です.network.host0.0.0.0に変更する必要があります.同時にあなたのネットアドレスを暴露したいです.コードは以下の通りです.
network.host: 0.0.0.0
network.publish_host: xx.xx.xx.xx
discovery.zen.ping.unicast.hostsは、各サーバの外部ネットワークアドレスと通信ポートに変更すれば良い.
起動ES
まず、メインノードesのディレクトリの下のbinディレクトリに入り、windowsを直接ダブルクリックしてelasticsearch.batを起動し、linuxは、非rootユーザがコマンドを使用して起動する必要がある.メインノードが起動されたら、同じ方法でサブノードを起動すればいいです.
クラスタの状況をチェックelasticsearch-headを起動して、起動方法は多くなくて、本当にgithubの上の説明を詳しく見ることができますか?任意のノードに接続されたhttpアドレス.
図(1)
成功しました.elasticsearchクラスタの構築はこんなに簡単です.