我已经阅读了这些页面和其他相关链接,以便在hadoop上安装和配置elasticsearch。 Install and Configure elasticsearch on hadoop?
但是,我还没有提出一些问题。
我正在分别使用elasticsearch和spark / hadoop;具体来说,我正在使用cloudera hadoop和elasticsearch正在其他Linux机器上运行。 在hadoop中,我有一个边缘节点提交spark作业,并且作业通过带有config的执行程序在其他6个节点上运行。
(1)当我在每个节点上安装elasticsearch-hadoop二进制文件时,Elasticsearch会在HDFS上保留索引吗? (2)如果是这样,我需要把jar二进制文件放在哪里? elasticsearch-spark_2.11-2.2.0.jar elasticsearch-Hadoop的2.2.0.jar
实际上,使用elasticsearch-hadoop-2.2.0.jar,我可以在/从运行在linux机器上的elasticsearch读取/写入文件。
sc.makeRDD(docs).saveToEs(indexname + "/" + typename, Map( "es.nodes" -> ES_HOSTN_ODE_ADDRESS, "es.port" -> ES_HOST_PORT))
(3)如何设置hdfs的数据路径? 目前elasticsearch已配置为
path.data: /data1,/data2,/data3,/data4
(4)还有其他一些好的文件/页面可供参考吗?
elasticsearch-hadoop binaries can be obtained either by downloading them from the elastic.co site as a ZIP (containing project jars, sources and documentation) or by using any Maven-compatible tool with the following dependency:
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch-hadoop</artifactId>
<version>2.2.0</version>
</dependency>
jar above contains all the features of elasticsearch-hadoop and does not require any other dependencies at runtime; in other words it can be used as is. elasticsearch-hadoop binary is suitable for both Hadoop 1.x and Hadoop 2.x (also known as YARN) environments without any changes.
在spark上使用scala,我可以从elasticsearch查询文档,但查询的数据并不是每个执行者的并行化。 如果我使用elasticsearch-hadoop和查询来自hdfs的数据,数据将自动并行化(RDD),如镶木地板文件,而不必
sc.parallelize(数据);
对我来说,推送/拉动大数据对于使用Kibana等多种工具进行可视化非常重要。 对弹性搜索有弹性搜索有什么强大的优势吗?
答案 0 :(得分:4)
来自Elasticsearch的{{3}}
Elasticsearch for Apache Hadoop是一个开源的,独立的,自包含的小型库,允许Hadoop作业(无论是使用Map / Reduce还是基于它构建的库,如Hive,Pig或Cascading或新的即将推出的库,如Apache Spark)与Elasticsearch交互。人们可以将其视为允许数据双向流动的连接器,以便应用程序可以透明地利用Elasticsearch引擎功能来显着丰富其功能并提高性能。
根据我对你的问题的理解答案:
(1)当我在每个节点上安装elasticsearch-hadoop二进制文件时,Elasticsearch会在HDFS上保留索引吗?
不,Elasticsearch-Hadoop是一个库,Hadoop作业可以通过它从Elasticsearch加载或存储数据。
(2)如果是这样,我需要把jar二进制文件放在哪里? elasticsearch-spark_2.11-2.2.0.jar elasticsearch-hadoop-2.2.0.jar
这些库必须存在于Spark的类路径中:website 或Hadoop:Add exteranl jars to classpath作业。
(3)我如何设置hdfs的数据路径?
我不认为在Hadoop / Spark Job中访问elasticsearch数据需要此步骤。
(4)还有其他一些好的文件/页面可以参考吗?
为了我的目的,我提到了Add exteranl jars to classpath。
- 在spark上使用scala,我可以从elasticsearch查询文档,但查询的数据并不是每个执行程序的并行化。如果我使用elasticsearch-hadoop和查询来自hdfs的数据,数据会像镶木地板文件一样自动并行化(RDD),而不必 sc.parallelize(数据);
醇>
是的,你是对的。使用Elasticsearch-Hadoop&amp; amp; Elasticsearch-spark over Elasticsearch Java / Scala Client与使用Hadoop或Spark的固有优势相同,即在群集上分配处理负载。
- 对我来说,推送/拉动大数据对于使用Kibana等多种工具进行可视化非常重要。 elasticsearch-hadoop对弹性搜索有什么强大的优势吗?
醇>
如前所述'elasticsearch-hadoop'只是一个图书馆。