Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Elasticsearch如何利用集群?_Apache Spark_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logstash_Kibana - Fatal编程技术网 elasticsearch,logstash,kibana,Apache Spark,elasticsearch,Logstash,Kibana" /> elasticsearch,logstash,kibana,Apache Spark,elasticsearch,Logstash,Kibana" />

Apache spark Elasticsearch如何利用集群?

Apache spark Elasticsearch如何利用集群?,apache-spark,elasticsearch,logstash,kibana,Apache Spark,elasticsearch,Logstash,Kibana,将单节点群集更改为多节点群集后,您是否需要采取任何措施来利用群集 例如,我们的应用服务器使用单个ip/port(我们单个节点的ip/port)来搜索文档。 此外,logstash、kibana、spark都指向单个ip/端口 我应该放置一个负载平衡器来利用多节点吗?或者我可以免费得到一些东西吗 我遵循以下docker文件(只是将网络模式更改为主机,并部署在多台主机上) 在Elasticsearch中,您不需要做任何特殊的事情来利用并行化。当集群中有一个包含多个分片的索引时,Elasticsear

将单节点群集更改为多节点群集后,您是否需要采取任何措施来利用群集

例如,我们的应用服务器使用单个
ip/port
(我们单个节点的ip/port)来搜索文档。
此外,logstash、kibana、spark都指向单个ip/端口

我应该放置一个
负载平衡器来利用多节点吗?或者我可以免费得到一些东西吗

我遵循以下docker文件(只是将网络模式更改为主机,并部署在多台主机上)


在Elasticsearch中,您不需要做任何特殊的事情来利用并行化。当集群中有一个包含多个分片的索引时,Elasticsearch将尝试平衡集群中每个索引的主分片,并且当您进行查询时,它会将查询发送到保存每个分片的主副本的节点。然后,每个节点将对该碎片执行查询,并将结果返回给协调节点,协调节点执行任何排序或聚合,并将结果集返回给客户端


如果单个节点发生故障,使用负载平衡器是一个好主意,但一般来说,除了每个索引有多个碎片外,您不需要做任何事情。

将集群放在同一台机器上没有任何意义。他们将共享资源。如果每个节点使用一个单独的磁盘,那么您可以利用的唯一优势就是磁盘IO。否则,它可能会更慢。除非您的ram超过64GB,否则它将没有任何优势。请参阅elasticsearch论坛上的这篇文章:我在3台主机上运行3个ES,我想您假设我在1台主机上运行3个ES?由于您的docker compose文件,我假设您在同一台机器上运行(物理上,而不是虚拟上)我看到许多与ES相关的客户端(如elasticsearch py、spark)允许您为ES主机设置[host1、host2]。我想知道为这些es客户端提供更多主机是否有好处?Elasticsearch客户端使用多个主机进行群集拓扑发现。客户端将尝试主机,直到找到活动主机,然后询问该主机的当前群集拓扑。这有助于确保对集群的弹性客户端访问,但不会对性能产生任何影响。
  es-log-00:
   build:
     context: .
     dockerfile: ./compose/elasticsearch/Dockerfile
     args:
       - VERSION=${VERSION}
       - ELASTICSEARCH_NETWORK_HOST=${ELASTICSEARCH_NETWORK_HOST}
       - ELASTICSEARCH_PORT=${ELASTICSEARCH_PORT}
       - MEM=${MEM}
       - ENV=${ENV}
   container_name: es-log-00
   network_mode: host
   environment:
       - node.name=node-master
       - discovery.seed_hosts=node1,node2
       - cluster.initial_master_nodes=node-master,node1,node2
       - bootstrap.memory_lock=true
       - cluster.name=littlehome-log
       - network.publish_host=192.168.1.105
   volumes:
    - /etc/localtime:/etc/localtime:ro
    - /var/lib/elasticsearch:/usr/share/elasticsearch/data
    - /var/lib/elasticsearch-backup:/var/lib/elasticsearch-backup
   ulimits:
     memlock:
       soft: -1
       hard: -1
     nofile:
       soft: 65536
       hard: 65536

   es-log-01:
   restart: always
   build:
     context: .
     dockerfile: ./compose/elasticsearch/Dockerfile
     args:
       - VERSION=${VERSION}
       - ELASTICSEARCH_NETWORK_HOST=${ELASTICSEARCH_NETWORK_HOST}
       - ELASTICSEARCH_PORT=${ELASTICSEARCH_PORT_SEARCH}
       - MEM=${MEM1}
       - ENV=${ENV}
   container_name: es-log-01
   network_mode: host
   environment:
       - node.name=node1
       - discovery.seed_hosts=node-master,node2
       - cluster.initial_master_nodes=node-master,node1,node2
       - bootstrap.memory_lock=true
       - cluster.name=littlehome-log
       - network.publish_host=192.168.1.123
   volumes:
    - /etc/localtime:/etc/localtime:ro
    - data-log1:/usr/share/elasticsearch/data
   ulimits:
     memlock:
       soft: -1
       hard: -1
     nofile:
       soft: 65536
       hard: 65536