Elasticsearch 无疑是是目前世界上最为流行的大数据搜索引擎。世界上很多著名的 IT 公司都是我们的客户。这些客户包括微软,甲骨文,Adobe,Salesforce, Uber,苹果,沃尔玛等等这些跨国公司。在中国也有很多的用户,比如腾讯,阿里,360,滴滴,抖音,美团,联想,CCTV,银行公司,保险公司,电信公司,汽车制造商,手机制造商等等。我们常用到的 github,linkedin,wikipedia 等上面的搜索都是使用 Elasticsearch 来完成的。 根据 DB - Engines 的统计, Elasticsearch 雄踞排行榜第一名,并且市场还在不断地扩大:
能够成为一名 Elastic 认证工程师也是很多开发者的梦想。这个代表了 Elastic 的最高认证,在业界也得到了很高的认知度。得到认证的工程师,必须除了具有丰富的 Elastic Stack 知识,而且必须有丰富的操作及有效的解决问题的能力。拥有这个认证证书,也代表了个人及公司的荣誉。针对个人的好处是,你可以拥有一个更为广阔的职业生涯。在我去年11月份去加拿大参加公司的活动时,全球只有 400 多位认证工程师,其中包含 Elastic 的120多位认证工程师。这个认证的证书的有效时间为2年。
在今天的文章中,对于想参加认证的工程师来说,我来讲述一下如何来准备及应试这个认证考试。希望这里所讲的对大家也有所帮助。在今天所讲的很多内容,可以在地址 https://www.elastic.co/training/certification 找到。
Elastic 认证种类
目前 Elastic 认证证书分为三类:
Elastic Certified Engineer
这个证书是针对开发及实操而设的。该证书是为能够安装和管理 Elasticsearch 集群以及开发用于搜索和分析其索引数据的解决方案的全能 Elasticsearch 专家设计的。 为了准备考试,我们建议参加 Elasticsearch Engineer I 和 Engineer II 培训。
尽管你可以不参加 Engineer I 及 Engineer II 的培训,而直接去购买认证考试 Elastic Certified Engineer Exam,但是我个人强烈建议去参加这两个课程的学习。特别是这两个课程的 labs。那些 labs 非常有用,你需要非常熟练得掌握每一道题的解答,并非常快速地解答。一般来说那些 labs 几乎涵盖了考试的所有内容,尽管考题和这些不一样。特别要注意的那些标注为 EXAM PREP 的一些 labs。你可以在 Elastic Certified Engineer Exam 链接的下方找到详细的考试的要求。
Elastic Certified Analyst
这个认证是针对分析及洞察而设计的。经过认证的分析师是使用 Kibana 进行数据可视化和分析的专家。 从创建功能强大的仪表板到分析时间序列数据再到开发机器学习作业,他们都可以做到。 为了准备考试,我们建议你参加 Data Analysis with Kibana 培训。
如果你想参加这个认证,你需要购买这个认证的考试 https://www.elastic.co/training/elastic-certified-analyst-exam。你可以在这个链接找到考试的具体的要求。和上面讲的一样,强烈建议你参加那个认证的培训,尽管那个培训不是必须的。
Elastic Certified Observability Engineer
这个课程是为统一的可观察性而设的。Elastic 认证的可观测性工程师可以清楚地了解整个生态系统中正在发生的事情。 通过将其大规模的日志,指标和 APM 跟踪整合到一个堆栈中,他们可以监视和响应环境中发生的事件。 为了准备这次考试,我们建议你参加 Elastic Observability Engineer 培训。
如果你想参加这个证书的认证,那么你可以直接在地址 Learn about the Elastic Certified Observability Engineer exam 了解这个认证的一些信息。截止目前,这个认证还没有正式开启。
如何参加考试
当你成功地购买 Elastic 认证考试后,你将收到一封标题为 “Elastic Certified Engineer Registration Successful!” 的邮件。如果你没有收到的话,请检查你的垃圾邮件信箱,并寻找
相应的邮件。邮件的内容如下:
你依据上面的要来进行创建账号,并预约相应的时间来进行考试。如果你想改变时间或取消,你需要至少提前 48 小时并进行操作。否则你的考试费用将不予退还。你千万要注意自己的考试时间,如果你迟到 15 分钟,你的考试资格将被取消。在预约时间时,一定要记得选择中国的时区 CST。等你选择完后,在页面会显示考试时间的倒计时。千万不要搞错时间。
如何参加培训
对于一些开发者来说,如果你想参加 Elastic 的一些培训的话,那么你可以通过如下的方式来得到所需要的培训。你首先打开网站 https://cloud.elastic.co:
如果你还没有自己的账号,你可以使用你自己的 google 账号或者点击 Sign up 链接来创建一个新的账号:
你只需要填入你自己的企业邮件地址,并设置相应的密码,你就可以创建一个属于自己的账号了。当然如上图所示,你也可以选择使用你自己的 google 账号进行登录。
当我们登录进去以后,我们会看到如下的画面:
我们可以点击上面的 Elastic Learning Portal 链接来进行查看:
我们可以点击上面的 Elastic Training Catalog 来查看想要的课程。我们接着向下滚动屏幕:
我们在上面可以找到一些免费的培训教程。很多大概是2个小时的培训。它们对于我们了解 Elastic 的一些最基本的知识非常有效。
我们点击上面的那个 Elastic Training Catalog 链接:
我接着就可以在上面的页面点击我们想要的课程的链接来进行购买。
考试的内容是什么样的以及有什么 tips
关于考试最重要的是它的考试的范畴。我觉得最有用的链接就是 https://www.elastic.co/training/certification/faq。这里详述了考试的最常见的问题,比如考试的 Elastic 版本。针对 Elastic Certified Engineer,目前是 7.2 版本,针对 Elastic Certified Analyst, 目前的版本是7.6。这个在将来可能会有所改变。
重要学习视频
针对第一次参加考试的工程师来说,有几个非常重要的视频可以给大家观看:
- Preparing for the Elastic Certified Engineer Exam - Get Elasticsearch Certified- 这个视频有两个地方:你可以点击 链接 观看。 另外一个早期的版本也非常有用,请点击链接进行观看。这个两个视频非常有用,为你展示了近乎真实的演练环境。这两个视频虽然是英文的,但是你仔细听,应该还是蛮清楚的。建议大家多看几次,以免进入考场时慌乱,不知所措。
- How to Prepare for the Elastic Certified Analyst Exam- 请参照这个链接下载如何准备这个考试 https://www.elastic.co/webinars/how-to-prepare-for-the-elastic-certified-analyst-exam
考试前需要准备什么
- 你需要购买一个稳定的 VPN。这是因为考试的环境中可能有需要用到 VPN 的情况,而且有些资源的访问有了 VPN 访问更加快,以方便我们查找资料。
- 你需要准备有拼音的一个身份证证件以证明是你自己亲自考试。建议使用自己的护照,因为上面有自己的拼音名字。
- 另外整个Engineer Certified Engineer考试需要有 3 个小时的考试。针对 Elastic Certified Anaylyst 需要 2 个小时的考试。在考试之前,你需要准备好充沛的精力来考试。睡一个好觉,找一个适合自己的时间。不要在前一晚吃一些刺激性的食物或饮料,以避免兴奋而失眠。我记得我前一天中文还喝了一杯可乐,结果晚上很长时间难以入眠。
考试是一种什么样的形式
考试的运行环境是在 CentOS 上运行的,你需要有一些最为基本的 Linux 知识。你需要会使用一些基本的编辑工具,比如 vi, nano 或 emacs。你需要知道如何使用 ssh 来登录一个服务器尽管所有的服务器都没有密码保护。针对 Elastic Certified Engineer 考试来说,依据你分配的题,你有可能是 10 道题,也有可能是 11 道题。
整个考试有三个集群供你使用。你不需要知道如何启动 Kibana,但是作为一个 Elastic Certified Engineer,你需要知道如何启动或停止 Elasticsearch。第一个集群通常是由几个 node 组成的。你需要具备基本的操作能力来完成集群的构建或者冷热架构的搭配等等。第二个集群通常是一个需要及操作搜索,聚合以及 ingest pipeline 等等操作的集群。大多数题的操作是在第二个集群来完成的。当然,这个也依赖于将来的考试设计。第三个集群通常是一个生产集群,你需要具备如何配置安全等等操作的集群。
每道题的难度都会有不同,但是每一道提都是互相独立的,互不影响,所以你可以挑选任何一道题开始你的考试之旅。推荐的办法是遍历所有的考题,或者做一些你很容易解决的题开始,这样可以建立一个动力或节奏。如果你遇到不会的问题,你需要的是冷静。如果实在解决不了,就先跳过去完成其它的任务,千万不要花费太多的时间。等你完成了其它的问题后,再回过头来再研究这个问题。如果你很顺利的话,你极有可能花去一个小时完成 80% 的考题。你可以利用剩余的时间来解决你认为比较棘手的问题。Elastic 认证经理强烈建议你去 challenge 任何一道考题,因为每一个步骤都有分数。你可以得到每一步的分数。每一道的答案可能并不唯一,所谓条条道路通罗马。只要能达到最终的目的,英雄不问出处。有些人可能会问:这些考题是不是故意出一下刁难人的问题呢?答案是:非也!其实任何一道都是非常正规的 Elastic 实操问题。还是我之前的那句话,你需要反复做 Engineer I 及 Engineer II 的那些 labs。很多人认为:只要你给我一个杠杠,我就可撬动整个地球。可能潜台词就是只要你给我足够的时间和谷歌搜索,我就能完成任何问题。这个认证考试其实就是考验你在规定的时间里有效地快速地完成所分配的所有的任务。需要你快速地解决问题。对熟悉 Elastic 文档有极高的要求。很多人可能要问:到底要考够多少分才可以考过?目前没有明确的答案,但是有一条是肯定的:你必须充分展示你自己的才能并得到认证经理的认可才可以。
在考试期时,你需要找一个安静的房间。你将被要求清空你桌子上的所有的东西,并要求使用带有照相机的电脑。你需要把电脑四周环绕一遍,以证明没有别人在场。你需要关上自己的房间门。关掉所有除浏览器之外的所有的应用(当然运行的 VPN 可以除外)。另外,浏览器上除了运行考试的按个 tab 是可以打开的,其它的都将被要求关掉。在考试剩下 20 分钟的时间时,监考官会提醒你只有 20 分钟的时间完成自己的考试。
在考试期间,你可以要求去厕所,或者休息 10 分钟去吃一些点心以补充能量,但是这些时间都将会被算在考试的 3个小时时间之内。
如上图所示,你可以使用 terminal 启动 Elasticsearch。你只可以点击 Elastic Documentation 来启动文档查询。这个是唯一你能够得到帮助的地方。你只可以访问 elastic.co 网站以得到帮助。你不可以带入任何的笔记本或者电子设备以寻求帮助。记得在去年的开发者大会上,一个认证工程师说是可以谷歌来进行搜索,这个显然不是正确的。你唯一的可以得到帮助的就是点击上面的那个 Elastic Documentation 链接以启动 Elastic 的官方文档。
在考试的时候一个需要注意的一点是 :由于操作系统是 CentOS,对于使用 MacOS 电脑的开发者来说,你需要使用 Ctrl + C 来进行拷贝,Ctrl + V 进行粘贴。
由于考试涉及的面还是蛮广的,我们有时也记不住所有的那些配置和命令。经过我的探索,我觉得最终的是你要记清楚一下关键词来通过 Elastic 的官方文档来进行搜索。首先,我们要知道 Elastic 认证考试的版本。因为每一个版本的文档的格式是不一样的,建议大家在练习时使用需要考试版本的文档来练习。比如考试要求的是 7.2 版本:
在上面,我们选定 7.2 版本,同时,我们也选定 Elasticsearch Reference 。我个人觉得比较好,这样搜索时是专门针对 Elasticsearch Reference 来进行搜索的,而不是整个网站的搜索。否则我们可以看到很多 blog 相关的内容,而且它们的排名比较靠前。这样当我们点击右上角的搜索按钮时:
我们可以看到 7.2 出现在那里了,而且是针对 Documentation 来进行搜索的。比如:
我们只需要打入相应的关键词,你就很快可以定位到相应的文档,并进行查询。上面显示的是 shard filtering 的文档链接。同样我们可以输入 shard awareness:
又或者:
我们很快就可以定位到我们想要的 CCR 的所有内容。
针对如何建立一个集群,我们甚至可以输入一下我们记下的一些关键词,比如 node.master:
从上面的链接,我们可以很快地找到我们想要的关于如何快速地建立一个集群的文档。我们甚至直接可以拷贝里面的设置,并做相应的调整。
如果你想找到如何定制一个分词器,你可以进行如下的搜索:
我觉得我需要熟练地使用 Elastic 文档,并快速地定位我们想要的内容。这样我们的操作还不容易出错。
准备考试有哪些资料可以参考
到目前为止我觉得 “Elasticsearch: 权威指南” 是一个非常有用的资源。这个也是我刚入门学习的一本在线的书。里面的内容虽然是针对 Elasticsearch 2.0 的,但是你可以发现里面的很多的内容讲的都是原理性的,这些对于我们理解 Elasticsearch 是如何工作的非常有用。另外,你也可以在我的博客里 https://elasticstack.blog.csdn.net/ 找到丰富的学习资源。
考试完后,什么时候能得到结果
根据我的体验,你将会很快地收到邮件的通知,并告知考试的结果。一般来说需要等到1到3天的时间。这个依赖于认证经理的时间而定。针对我的情况,我是中午完成,晚上就收到结果了。
结论
在这篇文章中,我介绍了 Elastic 的认证。需要对有兴趣的朋友有所帮助。之前我们官方博客也发表了一篇文章 “中国第一位 Elastic 认证工程师的故事”。你可以观看那篇文章,尽管魏彬参加认证比较早,但是他的经历对大家应该还是非常有帮助的。