尝试将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。