云上Elasticsearch初体验

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 云上Elasticsearch的选配建议

前段时间有客户找我咨询在云上购买Elasticsearch服务的问题,但我此前对此了解的不多,不能提供太多有价值的建议,因此在这个假期抽时间研究了一下阿里云上的Elasticsearch服务。

阿里云是Elastic公司在中国的签约合作伙伴,Elastic授权阿里云提供托管的ELK(Elasticsearch、Logstash、Kibana)服务,阿里云上的Elasticsearch 都带有Elastic公司的X-Pack白金版插件包许可。

Elasticsearch的主要应用场景有两个:

  • 搜索、主要是对海量信息提供快速的全文检索服务,信息的变化量相对不大,但需要对大量的用户请求进行快速响应。
  • 日志、对海量的日志进行存储和检索服务,日志带有时序信息且写入量巨大,对日志进行检索的用户通常不会太多。

这两个应用场景阿里云都有对应的“自研”解决方案,那就是开放搜索服务Opensearch和日志服务SLS,其中Opensearch的核心引擎为包括淘宝、天猫在内的大量阿里巴巴业务提供搜素服务,而SLS服务在阿里巴巴更是无处不在,所有的阿里云服务默认情况下都会使用SLS日志服务,甚至包括云上的Elasticsearch服务本身的日志信息都是存在SLS日志服务中,Opensearch和SLS对于像淘宝天猫、阿里云这样的要求超大规模、低成本、多租户的应用场景非常合适,但对于大多数的非阿里系用户来说灵活性、应用生态、用户社区可能更加重要一些,其实即便是阿里内部也在大量的使用Elasticsearch服务。

对于阿里内部也在大量使用Elasticsearch通过两点可以佐证:

  • 智能运维工具、阿里云提供了一个名为EYou(智能运维)的Elasticsearch运维工具,能够对集群的运维状态提供全方位的健康诊断和优化建议,可以定期对集群的运行状态进行体检,并根据体检结果的进行有针对性的优化。
  • 丰富的节点类型、阿里云提供数据节点、Kibana节点、专有主节点、冷数据节点、协调节点、弹性节点 供用户选择。

更丰富的节点类型本来是一件好事,但对于有选择困难的用户来说也意味着更多的纠结,下面是我对这些节点功能的介绍以及选择建议。

  • 数据节点、存储数据、并通过选举产生Master主节点来管理集群状态,正常情况下根据需要选择数据节点即可,数据节点的规格和数据要视应用场景和数据量而定,通常搜索类型的业务建议选择磁盘性能更强的节点,且单个节点不建议配置过大的存储空间,日志类型的业务则可以选择少量大存储空间的节点。
  • Kibana节点、ELK中K,提供数据可视化支持,其开发工具模块也是Elasticsearch最重要的交互式运维工具,阿里云用户可免费使用一个1核2G规格的Kibana节点,也可以根据需要选择更高配置的节点,假如只作为交互工具使用,使用免费规格的Kibana节点即可。
  • 专有主节点、当主节点出现资源紧张或失效时,将对整个集群的运行产生严重影响,因此当集群的规模较大时可以考虑配置专门的主节点而不是由数据节点通过选举来兼任主节点。
  • 冷数据节点、Elasticsearch 支持通过标签选择来进行冷热数据的分离存储,冷数据节点只使用高效云盘以降低存储成本。
  • 协调节点、当在查询时使用复杂的合并聚合时,就需要多个节点进行“协调”,正常情况下数据节点可以充当协调的角色,但这种协调势必带来额外的资源开销,假如查询的量比较大,就有必要设置专门的协调节点了,另外要使用https协议访问Elasticsearch也需要开通协调节点,假如应用程序只是在VPC内网访问Elasticsearch,大可不必为了https来开通协调节点,因为运维用的Kibana 无论是否开通协调节点都支持https访问。
  • 弹性节点、对于一些周期性波动的业务可以选择定时拉起一定数量的弹性节点来对集群进行临时的扩容,Elasticsearch的弹性节点有些类似于RDS的只读节点的作用,而且弹性节点的计费方式和RDS只读节点一样也是只支持按量付费。

以下是选择三个数据节点、两个协调节点、一个Kibana节点的状态:
1.jpg

在开通协调节点后,就可以使用https协议对Elasticsearch进行访问,但在此之前需要确保所有的程序均以修改使用https协议访问:
2.jpg

Elasticsearch作为一款开源软件,可以自行购买ECS搭建和运维,那么使用阿里云的托管服务有哪些理由呢?

从我目前的使用体验来看,有如下理由:

  • EYou智能运维工具,凝结了阿里云运维和使用Elasticsearch的一些经验教训,让我们少走弯路。
  • 升降配不停机、Elasticsearch在运行过程中难免要对节点的类型、数量、配置进行调整,阿里云上的托管集群在对集群进行升级、降级配置时集群可以继续对外提供服务。
  • 自带X-Pack收费插件、X-Pack是Elastic 公司进行商业运营重要的收入来源,因此一些像机器学习、身份认证等重要的功能都放在X-Pack包中,单独购买也意味着一笔不菲的投入。
  • 日志增强版实例、阿里云针对高IO吞吐的日志型业务提供日志优化增强型的实例,可以提升100%的写入性能。
  • 专属插件、阿里云提供专属的中文分词插件aliws。

在进行Elastic购买时可以通过选型工具对集群的配置进行容量规划,假如写入的吞吐达到一定的量级,阿里云就会建议使用增强型的集群:
3.jpg

以下是一些aliws分词器和icu分词器的对比:
ICU:我——为人——人——人人——为我
4.jpg

Aliws:我——为——人人——人人——为我
5.jpg

以上就是我对阿里云上的Elasticsearch的初步体验,希望对准备在云上开通Elasticsearch的用户有所帮助。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
6月前
|
SQL 缓存 Linux
干货 | Elasticsearch 8.11 ES|QL 初体验
干货 | Elasticsearch 8.11 ES|QL 初体验
81 0
|
数据挖掘 关系型数据库 MySQL
ElasticSearch7入门(一)单节点初体验
ElasticSearch7入门(一)单节点初体验
278 0
ElasticSearch7入门(一)单节点初体验
|
存储 弹性计算 运维
Elasticsearch生态&技术峰会 | 云上Elasticsearch驱动新未来(含视频)
开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,Elastic 与阿里云的合作正是开源与云生态共生共荣的典范。值此合作三周年之际,我们邀请业界资深人士相聚云端,共话云上Elasticsearch生态与技术的未来。
3131 0
Elasticsearch生态&技术峰会 | 云上Elasticsearch驱动新未来(含视频)
|
安全 机器学习/深度学习 容器
【云上未来】从Elasticsearch到ElasticStack的技术演进之路 |(附视频)
在2019云栖大会【Elasticsearch开发者生态专场】上,Elastic中国首席架构师朱杰(Jerry),为大家详细介绍了从“Elasticsearch”到“Elastic Stack”的产品和技术的演进趋势,并确立云上ES战略的意义。
3464 0
【云上未来】从Elasticsearch到ElasticStack的技术演进之路 |(附视频)
|
数据可视化 数据处理
【直播活动】全链路云上Elastic Stack | 技术专家讲解Elasticsearch“特有功能”
本系列直播介绍阿里云Elasticsearch,基于用户场景打造的“特有功能”,包括针对日志场景的增强版实例、应用于图像/语音检索的向量检索、Kibana可视化打标和数据查询插件,以及Logstash&Beats云上数据管道。
1929 0
【直播活动】全链路云上Elastic Stack  | 技术专家讲解Elasticsearch“特有功能”
|
编解码
【云上ELK系列】Logstash迁移Elasticsearch数据方法解读
用Logstash实现Elasticsearch集群快速迁移,解读Logstash中metadata的功效,避免踩坑
6694 0
|
弹性计算 监控 Apache
【云上ELK系列】阿里云Elasticsearch的Apache日志分析实践
阿里云Elasticsearch采集上游数据的方式有很多种,其中有一个与开源完全兼容的方案:通过logstash及logstash周围的强大的plugin实现数据采集。 首先我们需要在ECS中来安装部署logstash,购买阿里云ECS服务,准备1.8以上版本的JDK。
4439 0
|
9天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
24 5
|
1月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
117 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。