如何在 Hadoop 上配置弹性搜索?
How to configure elastic search on Hadoop?
我想在hadoop 和hive 上配置弹性搜索。 Elastic search 在我的本地机器上 运行 而 Hadoop 在另一台机器上。我正在使用 Sandbox HDP 2.2 版。我该如何配置?沙盒里有没有提供UI?
这些是在 hadoop 上配置弹性搜索的步骤。
第 1 步
创建一个您要添加数据的 table,
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 步
将数据添加到 table(这是一个日志文件 apache.log)
LOAD DATA INPATH '/user/apache/apache.log' OVERWRITE INTO TABLE logs;
第 3 步
添加Jar文件到class路径(注意版本2.1.0.BUILD-SNAPSHOT.jar)
ADD JAR elasticsearch-hadoop-2.1.0.BUILD-SNAPSHOT.jar;
第 4 步
创建一个你想在本地主机弹性搜索中使用的 table eslogs
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 table
INSERT OVERWRITE TABLE eslogs SELECT s.time, s.ext, s.ip, s.req, s.res, s.agent FROM logs s;
可以参考这个link.
我想在hadoop 和hive 上配置弹性搜索。 Elastic search 在我的本地机器上 运行 而 Hadoop 在另一台机器上。我正在使用 Sandbox HDP 2.2 版。我该如何配置?沙盒里有没有提供UI?
这些是在 hadoop 上配置弹性搜索的步骤。
第 1 步
创建一个您要添加数据的 table,
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 步
将数据添加到 table(这是一个日志文件 apache.log)
LOAD DATA INPATH '/user/apache/apache.log' OVERWRITE INTO TABLE logs;
第 3 步
添加Jar文件到class路径(注意版本2.1.0.BUILD-SNAPSHOT.jar)
ADD JAR elasticsearch-hadoop-2.1.0.BUILD-SNAPSHOT.jar;
第 4 步
创建一个你想在本地主机弹性搜索中使用的 table eslogs
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 table
INSERT OVERWRITE TABLE eslogs SELECT s.time, s.ext, s.ip, s.req, s.res, s.agent FROM logs s;
可以参考这个link.