如何在Hadoop上配置elasticsearch?

时间:2015-01-14 10:57:39

标签: hadoop elasticsearch sandbox

我想在hadoop和hive上配置弹性搜索。弹性搜索在我的本地计算机上运行,​​Hadoop在另一台计算机上运行。我正在使用Sandbox HDP 2.2版。我该如何配置?沙盒中还提供了哪些UI?

1 个答案:

答案 0 :(得分:2)

这些是在hadoop上配置弹性搜索的步骤。

第1步

创建一个您想要添加数据的表

CREATE TABLE logs (type STRING, time STRING, ext STRING, ip STRING, req STRING, res INT, bytes INT, phpmem INT, agent STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

第2步

向表中添加数据(此处为日志文件apache.log)

LOAD DATA INPATH '/user/apache/apache.log' OVERWRITE INTO TABLE logs;

第3步

将Jar文件添加到类路径中(注意版本2.1.0.BUILD-SNAPSHOT.jar)

ADD JAR elasticsearch-hadoop-2.1.0.BUILD-SNAPSHOT.jar;

第4步

创建要在localhosts elasticsearch

中使用的表eslog
CREATE EXTERNAL TABLE eslogs (time STRING, extension STRING, clientip STRING, request STRING, response INT, agent STRING)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' TBLPROPERTIES('es.resource' = 'test/test','es.mapping.names' = 'time:@timestamp', 'es.nodes' = 'IP_ON_WHICH_ELASTICSEARCH_IS_RUNNING:9200');

第5步

将数据添加到日志表中的eslogs

INSERT OVERWRITE TABLE eslogs SELECT s.time, s.ext, s.ip, s.req, s.res, s.agent FROM logs s;

可以参考此link