Elastic Stack是当前企业广泛使用的一套大数据解决方案, 具备完整的数据采集、处理和分析生态链。主要包括Elasticsearch、Kibana、Logstash和Beats等,其中Elastisearch是Elastic Stack的核心,Elasticsearch是当前流行的分布式的RESTful风格的搜索和数据分析引擎,具备高性能、易于扩展、安全稳定的特点。
课程基于Elastic Stack的6.x版本,从理论到实践,深度实战Elastic Stack,由浅入深详解Elasticsearch、Kibana、Logstash和Beats原理和使用技巧。
1. 从零开始,以案例实战驱动,覆盖面广,包含了大量的实践案例。
2. 既有基础功能的详细讲解, 也包含了业务模型设计、集群规划调优和Elastic Stack生产环境部署等高级内容。
3. 将Elasticsearch和Hadoop/Spark2大数据平台整合, 增强Elasticsearch的功能。
4. 基于多种主流的API操作实践Elasticsearch等,可以根据需要完成各种系统的开发。
第一节: Elasticsearch入门
ES 核心概念和在6.x中的新变化
ES安装、测试集群快速搭建
Kibana安装
Head插件在线和离线安装
REST服务
集群健康查看、列出所有的index、创建index、查询、删除等
数据修改(更新、删除、批量删除更新等)
搜索API、DSL查询语言、查询、过滤、聚合
倒排索引原理与实现流程
Lucene 与 ElasticSearch
ElasticSearch的工作流程
第二节: Mapping
Mapping简介
Mapping创建
数据类型(核心数据类型、复杂数据类型、地理数据类型、专用数据类型、Multi-fields)
Meta字段(_id/_all/_source/_uit/_meta/_routing等)
Mapping参数详解:analyzer、index_options、boost、copy_to、doc_values、null_values、dynamic、enabled、store等)
Dynamic Mapping
第三节: Index和Document操作
索引管理(创建、删除、查看索引、判断索引是否存在、Open/Close索引、Shrink 索引、Split索引、Rollover索引)
Mapping管理(增加Mapping、获取Mapping、获取字段Mapping、Type是否存在)
应对故障转移和水平扩容的索引构建
索引文档、索引分片、数据路由
别名管理和使用场景
索引设置(更新索引设置、获取配置、索引分析、索引模板)
监控(索引状态、索引段、索引恢复、索引分片存储)
状态管理(清除缓存、refresh、flush、强制合并)
更新索引设置
单文档的CURD
多文档的CURD
Reindex
批量导入大量数据Bulk的操作与优化
第四节:分词和搜索(一)
分词器的作用
分词器工作流程
停用词
内置分词器(standard、simple、whitespace等)
自定义分词
测试分词器
分词的两种使用方式
中文分词器
Search的两种形式(URI Search、Request Body Search)
URI Search详解
Query DSL
第五节:分词和搜索(二)
全文搜索
字段查询
高亮搜索
关联查询(Nested Query、Parent-Child查询)
路由策略
查询和filter的区别
深度分页问题
分页的方案和使用场景
使用scroll实现大数据量导出
相关度分数计算
应用不重启重建索引
Elasticsearch返回记录数和排名问题
bulk操作与优化
第六节: 聚合查询
聚合分类
聚合原理分析
Metric聚合分析
Bucket聚合分析
Pipeline聚合分析
Matrix聚合分析
准确度问题
聚合caching
第七节: ElasticSearch集群管理与调优
硬件优化
具备容错和故障转移的集群规划
角色规划
架构设计
集群健康
脑裂问题和解决方案
segment、merge、shard、alias优化等
shard和副本的设计
集群异常处理
Elasticsearch性能测试
第八节: 模型设计与业务调优
Mapping字段设置优化
大文档存储优化
doc_values、fielddata优化
是否检索优化
ES数据写入优化
ES数据查询优化
第九节: SQL on Elasticsearch
ElasticSearch 6.x自带SQL简介
约定和相关术语
SQL Rest API
SQL Translate API
SQL JDBC
SQL Cli
SQL函数与操作符
SQL命令
SQL数据类型
ElasticSearch-sql第三方插件安装
ElasticSearch-sql第三方插件使用
第十节: Elasticsearch for Apache Hadoop and Spark
配置安装
ElasticSearch与Hadoop相关组件(Hive、Mapreduce等整合)
Spark2整合Elasticsearch的配置
Spark2读取Elasticsearch的几种方式与案例实践
Spark2写Elasticsearch的几种方式与案例实践
性能优化
第十一节: ElasticSearch客户端(一)
Java Rest Client(Java Low Level REST Client、Java High Level REST Client)
Java API(Maven仓库配置、文档API、Search API、聚合、Query DSL、索引管理、集群管理API)
Java Rest Client与Java API对比与未来发展
第十二节: ElasticSearch客户端(二)
Jest 操作Elasticsearch
Python API(安装、实践)
第十三节: Beat使用
Beat简介
FileBeat
Packetbeat
Hearbeat
Beat使用案例
第十四节: Logstash
Logstash配置
Logstash插件详解
Logstash的架构
Logstash与pipline
input详解
output输出
logstash使用案例
第十五节: Kibana
Kibana高级使用详解
Kibana可视化
使用案例
第十六节: 综合案例
海量数据搜索分析系统设计要点
综合案例
|