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可視化
使用案例
第十六節: 綜合案例
海量數據搜索分析系統設計要點
綜合案例
|