Elasticsearch 最少必要知识实战教程直播回放

1. 缘起

我接触 ES 的时间大约是2017年,最初是小打小闹,只是搭了个小的demo环境,用ES来存储给设备日志外加用Kibana做一些简单的可视化展示,自我娱乐和研究而已, 对于ES本身的知识也只是限于碎片化的学习。

2018~2019年是个逐渐井喷的阶段,那时候公司有几个千亿级日志收集和处理的项目开始上马,我作为项目架构师,自然要对Elastic stack玩得更加精深一点,于是便决心想要体系化的学习一下。正好在2019年7月极客时间推出了阮一鸣的ES7.1的视频课,那时便毫不犹豫的买了下来,2019年9月开始被assign到一个AIOps的项目中去,所以之后也只是断断续续的学习。

但也正是在那个AIOps的项目中,我对ES这个强大的数据平台及其与上下游周边系统的关系有了更加清晰的认识,今年年初老板同我谈起建设运维自动化平台的想法,于是想要拿下Elastic 认证的决心也就坚定了下来。

2. 准备过程

Elastic 认证在业内素来有着难通过的“恶名”,而且因为考的全是实操题,所以如果自己没有动手实践的经验是肯定不能通过考试的。3个小时10个大题,每个题目必须分秒必争,也就意味着必须对ES中的各种概念有着非常深刻的理念,并且知道他们出现在官方文档的什么位置才行。抱着这个认识,我的复习准备之路一共分为3个阶段。

2.1  5月16日 到6月15日 第一阶段

今年5/1考完CKA认证后,便决心攻下Elastic 认证。因为平时从事的是架构师方面的工作,所以工作侧重点比较多在ES的运维和容量规划等方面,而对于搜索,聚合这些,乃至写DSL语句等,操练的没有那么多,其中的有些概念之前也只是有个了解,所以第一阶段的复习我对自己的目标是“夯实基础”。

ES 的文档虽然很成体系,但也正因为文档繁多,所以新手直接盲目看文档会很容易迷失,造成越看越多,最后往往会不了了之。因此我复习时主要采用的是以下两个材料:

  • 阮一鸣在极客时间的ES视频课

  • B站上的中华石杉的的视频

阮老师的课优势在于覆盖面广,Elastic 认证考试的所有知识点全部都覆盖到了,而且偏重实践。但也许是因为受限于每个视频课的时间不能超过15分钟的关系,因此每堂课的节奏非常快,往往一节课里包含很多知识点,这对于之前没有太接触过某个知识点的话挑战会比较大,可能要反反复复观看才行。

遇到这种情况,中华石杉的讲解就是一个很好的辅助。中华石衫的课相对更加是理论和实践并重,所以有些知识点讲解的比较透,等看完了,理解了,再回去看阮一鸣的课,就会有高屋建瓴的感觉。

在观看课程以后,我也做了大量的笔记。。Elastic 认证考试的覆盖面是相当广泛的,比如光是DSL查询语句在各种情况下的用法这一个知识点就很复杂,牵涉面很广。这个时候,做笔记是个很重要的帮助自己理解和消化的过程 。Microsoft Onenote是个很好的笔记软件,各个设备之间同步很方便,方便随时随地查阅。

光看,光记,但不动手是绝对不行的。任何一个IT技术都是实践动手的过程。阮一鸣的每堂课上的测试用例是很好的练习素材,我对自己的要求是每个case的代码至少敲过3遍以上, Kibana提供的3个sample data也是很好的数据源,方便来练习查询和聚合。

就这样反反复复,在不停的观看——练习——观看——练习——查阅——练习的过程中,一个月的时间过去了,等到了6月中的时候,我把对Elastic 认证的主要考点都基本过了一遍,到最后几乎可以摆脱文档来徒手写各种查询,聚合和API操作语句。基本实现了最初定下的“夯实基础”这一目标。

2.2   6月中旬到6月25日,集中练习

因为平时工作比较忙,所以练习的时间大多集中在晚上10点到凌晨1点这3个小时里。这里要特别感谢铭毅在“知识星球”上建立的“死磕Elasticsearch”这个版块,汇聚了大量的同道学友,以及许多针对性的练习,特别是德国博士的那个几十页的练习材料是非常有帮助的,价值不言而喻。

这段时间里我基本上就是把德国博士的这套练习题完整做了一遍,并且对照铭毅的答案进行了比对和强化,有时候我的想法和思路和铭毅的不完全一致,我会私下和铭毅交流,很多时候大家是殊途同归,只是哪种方法更加严谨而已。交流和练习的过程是一个迅速提升的过程,在此也要再次感谢铭毅给到的帮助。

2.3  冲刺收官 (端午节3天)

端午节放假3天,我闷头在家敲了3天的代码,主要是把几个前辈的考试经验贴全部看了一遍,对于他们帖子里提到的题目和考点,自问自答的回想了一遍,并且在Kibana中敲出代码,最后做到可以完全不依赖查询官方文档徒手写出。

这里要提下ES的Painless脚本。很多人把写无痛脚本视为畏途。也许是因为早在读书的时候就学习了好几个语言,有一些编程基础,和数据结构基础,所以我倒并没有觉得Painless脚本有多难。其实搞懂3种场景下的用法就足以应对考试中的要求了,我差不多花了半天的时间把这块全部看完,重点是看了官方文档上的“walk through with painless script”章。另外特别推荐如下两篇文章, 是官方文档以外,特别值得参考学习的。

  1. 铭毅的Elasticsearch7.X Scripting脚本使用详解

https://mp.weixin.qq.com/s/PUXVdc5QKt7avXZeugjejA

  1. 虎哥的Painless script在ElasticSearch 中的使用的一些问题

https://www.jianshu.com/p/7518dccc0bcf

3. 临场考试重要tips:

3.1 油管上有ES官方的两个视频,介绍了考试的环境,考查的知识点。

建议考前一定要看,对于熟悉考试环境很有帮助。

3.2 只要条件允许,一定要用外接的大屏幕显示器。

不要问为什么。我能说我这次考试几乎就差点栽在了没有大屏幕显示器上,用笔记本上的小屏幕去参加考试,3小时下来,几乎把我眼睛都看瞎了。

考试环境是用Chrome浏览器链接到一个虚拟桌面上,但不知是不是刻意的限制,那个虚拟桌面的分辨率很低,从笔记本的小屏幕上看考题几乎是模糊一片。加上考官会要求你不能离电脑做的太近,这就造成题目更加看的不是很清楚。

我这次就因为经常凑近屏幕看考题,被考官中断考试3次,最后警告说坐得如果再不端正,就terminate我的考试。于是我在及其不舒服的坐姿,以及朦朦胧胧的视觉效果中,花了2个小时才完成了考试。只能说幸亏考前准备的充足,几乎做到可以完全摆脱文档,否则如果还要用哪个那么低的分辨率的虚拟桌面来查阅文档,会是雪上加霜。

3.3  考试中我用Kibana图形界面来添加RBAC和用户总是报“unauthorized ”的错误。

但我可以肯定elastic和Kibana这两个账号的密码是设置正确了的。

考试中这个问题困扰了我一段时间,乃至不得不跳过先做其他的题目。等做完所有的考题再回头来想,灵机一动,图形界面不行,那干嘛不试试直接调用 Xpack API呢。最后通过命令行解决完成这个RBAC赋权的题目。

4. 重要题目回顾

  • Shard allocation filter配置,ES集群冷热配置,最终目标是确保分片在规定的节点上,并保证集群是Green

  • 启用ES的安全配置功能,修改内置账号的密码,创建一个第三方的用户,并且为该用户赋权。

  • 聚合。找出每个月的最大震级和深度

  • 一个布尔查询,要求高亮查询结果,并且对指定关键字进行排序。注意match phrase

  • 一个多字段查询,返回的评分结果是各个字段的总和。注意boost针对特定索引的作用。

  • Pipeline + Update_by_query, 对某个索性增加一个字段,该字段的内容是其他3个字段的连接

  • Reindex+自定义分词,确保对两个不同的term,返回的评分和结果数量是一致的。重点是Char_filter, 和自定义mapping。

  • Dynamic mapping template

5.  后记

5.1  考过了只是万里长征走完了第一步。

如果这一步也值得骄傲的话,那是比较渺小的。考过了只能说明实践能力强,最多还能说明学习能力强。离成为一个ES专家还有很多的距离,「学无止境」,更高的目标还在前面。

5.2  下一步的学习计划:

把中华石衫的视频中的理论部分在深入研究一下,对于提高对 ES 的整体理解很有帮助。

源码解析和实战这本书需要攻读。

把所学的运用到工作实践和给客户的设计中,「学以致用」这个是永远的“王道”。

争取拿下Kibana Data analyst认证。因为运维自动化平台的建设中的重点之一就是数据可视化,取得这个认证也是检验自己学识的体现。

更多经验分享参考:死磕 Elastic 认证

短时间 快习得 多干货

中国 1/5 的 Elastic 认证工程师出自于此!

一个 70 后运维老兵的 Elastic 认证工程师之路相关推荐

  1. 潜心一技、做到极致!——Elastic认证工程师之路

    Elasticsearch 最少必要知识实战教程直播回放 20年2月3日我参加Elastic认证工程师考试,2020年2月5日中午得到认证结果:通过考试. 趁热打铁,将Elastic认证工程师考试相关 ...

  2. 干货 | 95后运维小哥20天+通过Elastic认证考试经验分享

    题记 早上,收到95后的星友[在路上(昵称)]发的动态,得知其已经通过了Elastic认证考试. 仔细一看,他准备时间只有20天左右,真厉害!为他高兴和点赞. 运维小哥第一时间在星球做了分享,我特意邀 ...

  3. 【转】腾讯十年运维老兵:运维团队的五个“杀手锏”

    ---------------------------------------------------------------------------------------------------- ...

  4. 腾讯十年运维老兵:运维团队的五个“杀手锏”

    回顾运维十年,如有一次重来的机会,什么才是最重要的?什么才是团队需要优先做的?才能在未来支撑我们更好的前行. 赵建春 赵建春,腾讯社交网络运营部助理总经理.技术运营通道会长.专家工程师.04年加入腾讯 ...

  5. 作为一个linux系统运维师必须掌握的定期任务执行命令cront

    定期执行任务的相关命令 作为一个linux系统运维师,在我们工作的时候需要定期去执行一些脚本或是命令,比如早上几点我们要开启什么服务,我们不可能守在计算机旁等到那个时候去手动执行那些需要脚本或是命令, ...

  6. 在知乎上看到的一个关于Linux运维工程师必知的几点,希望对有志于从事运维工作的你有帮助

    作者:Shanker Lee 链接:https://www.zhihu.com/question/19855127/answer/13816874 来源:知乎 著作权归作者所有.商业转载请联系作者获得 ...

  7. 我的一个学生在运维工作中写的自动日志清理脚本程序

    本文是我的一个学生在运维工作中写的自动日志清理脚本程序,我这里不评价该shell脚本写的好与坏,只是发出来,和大家做一个分享,如果能给大家带来一点点思路上的参考就够了. 自动日志清理脚本程序 #!/b ...

  8. 资深运维给你讲:一个小白的运维成长故事

    资深运维给你讲:一个小白的运维成长故事 主讲人:yatlantis 上课时间:12月4日 晚8点30--10点 YY频道:68389850 他,来自于计算机边缘专业,进过电子厂,做过维修工,在0基础的 ...

  9. 一个70后伪中产的焦虑:下半辈子贫穷来袭?

    一个70后伪中产的焦虑:下半辈子贫穷来袭? 原创 2016-07-25 刘黎平刘备我祖 我一直是个有着忧患感,却始终未走出忧患的人. 每到夜深,我忽然像传说的土财主一样,战战兢兢翻开自己的宝藏,那脆弱 ...

最新文章

  1. 2021年大数据Flink(二十九):Flink 容错机制 Savepoint
  2. Appium环境搭建python篇(mac系统)
  3. java自带数据库_Derby-jdk自带数据库的使用 - Java天堂
  4. flink入门_Flink从入门到放弃-入门篇
  5. 手机数控模拟器安卓版_CNC模拟器安卓中文版下载
  6. seaborn无法下载数据的问题
  7. 关于(backgroundImages -120 0 no-repeate)
  8. 冯唐易老,李广难封——2010世界杯印象之五星巴西队
  9. R语言使用order函数对dataframe数据进行排序、基于单个字段(变量)进行升序排序(ASCENDING)
  10. SAT写作例子之Frank Lloyd Wright
  11. 数字网络监控和传统模拟监控的区别
  12. html中如何实现倒计时
  13. 计算机英语的词汇量,英语词汇量多少才够用
  14. Visual Basci中的几个函数split(),ubound(),lbound(),instr(),mid().
  15. 惯导系列(二):滤波相关的算法
  16. 移植ffplay媒体播放器和sdl2到Android平台
  17. 第 1 天|基于 AI 进行游戏开发:5 天创建一个农场游戏!
  18. 使用Syncthing搭建自己的私人网盘
  19. 未来6G网络内生智能的探讨与分析
  20. Webview加载本地图片的方案对比

热门文章

  1. Android百度地图屏蔽油站,怎么用android百度地图api获取离当前位置最近的加油站...
  2. 百度地图java计算2个坐标建距离_Java开发之百度地图2 :计算两地之间的距离
  3. matlab如何创建table,创建和使用表 - MATLAB Simulink - MathWorks 中国
  4. flex 教程_完整的flex教程
  5. c语言设计实验报告答案,武汉理工大学《C语言程序设计》实验报告答案
  6. Python之文章生成器
  7. Android手机实时视频监控
  8. App Store--心酸的上线路,说说那些不可思议的被拒理由
  9. 数数字Digit Counting(Python)
  10. 【Virus Analysis】插入Unicode控制字符-RLO