尝试将CSV文件导入Elasticsearch
在我尝试将用于分析的CSV文件导入Elasticsearch时的备忘录。
操作系统为OS X El Capitan。Java版本为1.8.0_05。
以下是我理解的简单角色介绍:
Embulk*1:用于CSV导入和解析。
Elasticsearch:用作导入目标。
Kibana:用于数据展示。
参考资料:
参考Elasticsearch文章:按照教程完成一遍。
https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html
Embulk参考链接:非常感谢帮助。
http://www.embulk.org/docs/recipe/scheduled-csv-load-to-elasticsearch-kibana4.html
安装
1. Elasticsearch 弹性搜索
请从这里下载ZIP文件并将其解压到工作文件夹中。确认版本为2.3.3以下。
$ elasticsearch-2.3.3 ./bin/elasticsearch --version
Version: 2.3.3, Build: 218bdf1/2016-05-17T15:40:04Z, JVM: 1.8.0_05
把这里方便的插件装进去。
$ elasticsearch-2.3.3 ./bin/plugin install mobz/elasticsearch-head
请确认操作:可以使用HTTP实现REST。默认端口是9200。请在浏览器中尝试以下访问:
http://localhost:9200/_plugin/head/
2. Embulk变壮
请根据本地操作指南,下载并解压Embulk到工作文件夹。
最新版本目前为V0.8.9。请确认版本为0.8.9以下。
$ curl --create-dirs -o ~/.embulk/bin/embulk -L "http://dl.embulk.org/embulk-latest.jar
$ echo 'export PATH="$HOME/.embulk/bin:$PATH"' >> ~/.bashr
$ source ~/.bashrc
$ embulk embulk --version
$ embulk 0.8.9
安装适用于Elasticsearch的插件。
$ embulk gem install embulk-output-elasticsearch
3. 安装Kibana
从这里下载并解压到工作文件夹。确认版本为4.5.1。
$ kibana-4.5.1-darwin-x64 ./bin/kibana --version
4.5.1
请在浏览器中尝试以下操作进行确认:通过以下链接访问Kibana,端口号为5601:
http://localhost:5601/
最初我使用了Logstash的csv插件。在使用一次导入的数据进行测试时,由于该插件的设计特性导致了不能再次导入已经导入过的数据,这让我感到困惑和失望…另外,由于分析用的CSV文件是从Windows复制过来的,存在字符编码和换行符的问题,所以我选择了Embulk。