如何系统学习ElasticSearch:死磕 Elasticsearch 方法论(初学者必看)

2020-05-22 00:00:00 优先级 场景 系统 检索 主要包括

一、ELK Stack 的应用场景

场景一:使用 ES 作为业务系统的后端。

此时,ES 的作用类似传统业务系统中的 MySQL、PostgreSQL、Oracle 或者 Mongo 等的基础关系型数据库或非关系型数据库的作用。
我们举例说明。使用 ES 对基础文档进行检索操作,如将传统的 word 文档、PDF 文档、PPT 文档等通过 Openoffice 或者 pdf2htmlEX 工具转换为 HTML,再将 HTML 以JSON 串的形式录入到 ES,以对外提供检索服务。

场景二:在原有系统中增加 ES、Logstash、Kibana等。

原有的业务系统中存在 MySQL、Oracle、Mongo 等基础数据,但想实现全文检索服务,就在原有业务系统基础的加上一层 ELK。
举例一,将原有系统中 MySQL 中的数据通过 logstashinputjdbc 插件导入到 ES 中,并通过 Kibana 进行图形化展示。
举例二,将原有存储在 Hadoop HDFS 中的数据导入到 ES 中,对外提供检索服务。

场景三:使用 ELK Stack 结合现有工具对外提供服务。

举例一,日志检索系统。将各种类型的日志通过 Logstash 导入 ES 中,通过 Kibana 或者 Grafana 对外提供可视化展示。
举例二,通过 Flume 等将数据导入 ES 中,通过 ES 对外提供全文检索服务。

场景四:其他综合业务场景

主要借助 ES 强大的全文检索功能实现,如分页查询、各类数据结果的聚合分析、图形化展示(饼图、线框图、曲线图等)。
举例说明,像那些结合实际业务的场景,如安防领域、金融领域、监控领域等的综合应用。

二、ELK Stack 学习的优先级

1、我建议 Elasticsearch 为优先级。

(1)掌握 Elasticsearch 的基本概念,主要包括:
(2)掌握 Elasitcsearch 的基本操作,主要包括:
(3)掌握 Elasticsearch 操作,主要包括:
(4)掌握 Elasticsearch Java/Python 等API,主要包括:
(5)Elasticsearch 结合场景开发实战,主要包括:

2、第二学习优先级为 Kibana

3、第三学习优先级为 Logstash

三、ES和Kibana在docker中的安装

ES:
1、在docker环境下安装ElasticSearch
docker pull elasticsearch:6.4.2
2、查看镜像
docker images
3、启动ElasticSearch
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name MyEs(别名) -d e47ebd7ec3ee(镜像id)
说明:
  • -d 后台启动
  • -p 9200:9200 将虚拟机9200端口映射到elasticsearch的9200端口(web通信默认使用9200端口)
  • -p 9300:9300 将虚拟机9300端口映射到elasticsearch的9300端口(分布式情况下,各个节点之间通信默认使用9300端口)
  • --name MyEs 指定一个名字(MyEs 随意指定)


Kibana
1、安装
docker pull docker.elastic.co/kiban
2、运行
docker run -d -p 5601:5601 --name kb02 --link MyEs(已启动的Es名称):elasticsearch f64d082f5f08(kibana镜像id)

写在后,ELK的学习,建议直接阅读官方文档。
elastic.co/guide/cn/ela ElasticSearch中文参考文献(2.0版)
elastic.co/guide/en/ela ElasticSearch新版
elastic.co/guide/cn/kib Kibana中文版用户手册
elastic.co/guide/en/log Logstash新版

后附上方才兄的ElasticSearch学习记录图:

后续小编会持续输出ElasticSearch技术系列文章,敬请期待。

【欢迎关注公众号:方才编程,系统学习ES——学编程,一定要系统化】

相关文章