磨刀不误砍柴工,要学习Elasticsearch,首先要搭建起来一套学习环境,本文为手把手教你在MacOS上面搭建Elasticsearch学习环境。
1.1 Elasticsearch安装
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。详情可查看:https://www.elastic.co/cn/elasticsearch/
1.1.1 Elasticsearch安装
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
选择相应的版本进行下载:
解压到~ Develop目录
cd命令进入到elasticsearch-7.10.2/bin:执行./elasticsearch
即可启动。
浏览器访问http://localhost:9200/,说明Elasticsearch启动成功。
1.1.2 Elasticsearch目录结构
目录 | 描述 |
---|---|
bin | 脚本文件,包括启动Elasticsearch,安装插件等 |
config | 集群配置文件 |
JDK | Java运行环境 |
data | 数据文件 |
lib | Java类库 |
modules | 模块目录 |
plugins | 插件目录 |
1.1.3 Elasticsearch插件安装
查看已经安装插件:./elasticsearch-plugin list
安装插件:./elasticsearch-plugin install analysis-icu
查看已经安装的插件:./elasticsearch-plugin list
或者浏览器访问:http://localhost:9200/_cat/plugins
1.1.4 Elasticsearch多实例启动
进入Elasticsearch的bin目录:
./elasticsearch -E node.name=node1 -E cluster.name=james -E path.data=mode1_data -d
./elasticsearch -E node.name=node2 -E cluster.name=james -E path.data=mode2_data -d
./elasticsearch -E node.name=node3 -E cluster.name=james -E path.data=mode3_data -d
在浏览器访问:http://localhost:9200/_cat/nodes ,可以查看正在运行的节点信息:
1.2 Kibana安装
Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。详情可查看:https://www.elastic.co/cn/kibana/
1.2.1 Kibana安装
Kibana安装与启动方式与Elasticsearch基本相同:
下载地址:https://www.elastic.co/cn/downloads/kibana
选择相应的版本进行下载,解压,进入bin目录,启动kibana
浏览器访问:http://localhost:5601/
1.2.2 Kibana插件安装
安装插件:bin/kibana-plugin install plugin_location
查看已装插件:bin/kibana-plugin list
移除插件:bin/kibana remove
1.3 Logstash安装
Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。详情可查看:https://www.elastic.co/cn/logstash/
1.3.1 Logstash安装
Logstash安装与启动方式与Elasticsearch基本相同:
下载地址:https://www.elastic.co/cn/downloads/logstash
选择相应的版本进行下载,解压,进入bin目录,启动logstash
1.3.2 Logstash导入数据
下载最MovieLens最小测试数据集:https://grouplens.org/datasets/movielens/
进入logstash安装目录的bin目录,添加logstash.conf文件:
path为movie.csv的路径。
input {
file {
path => "/Users/sgh/Develop/data/movies.csv"
start_position => "beginning"
sincedb_path => "null"
}
}
filter {
csv {
separator => ","
columns => ["id","content","genre"]
}
mutate {
split => { "genre" => "|" }
remove_field => ["path", "host","@timestamp","message"]
}
mutate {
split => ["content", "("]
add_field => { "title" => "%{[content][0]}"}
add_field => { "year" => "%{[content][1]}"}
}
mutate {
convert => {
"year" => "integer"
}
strip => ["title"]
remove_field => ["path", "host","@timestamp","message","content"]
}
}
output {
elasticsearch {
hosts => "http://localhost:9200"
index => "movies"
document_id => "%{id}"
}
stdout {}
}
启动logstash:sudo logstash -f logstash.conf
在kibana界面可以看到movies数据集已经导入到了Elasticsearch中,完毕。
至此,Elasticsearch的环境搭建已经完成,下面可以正式进入快乐的Elasticsearch学习之旅了,各位加油~