华为云用户手册

  • 创建集群时配置公网访问 登录 云搜索服务 管理控制台。 在创建集群页面,开启“安全模式”。设置管理员密码,并启用HTTPS访问。 “公网访问”选择“自动绑定”,配置公网访问相关参数。 图1 创建集群时配置公网访问 表1 公网访问参数说明 参数 说明 带宽 设置公网访问的带宽。 访问控制开关 如果关闭访问控制开关,则允许任何IP通过公网IP访问集群。如果开启访问控制开关,则只允许白名单列表中的IP通过公网IP访问集群。 白名单 设置允许访问的IP地址或网段,中间用英文逗号隔开。仅当打开“访问控制开关”时才需要配置。
  • 通过公网IP地址接入集群 公网访问配置完成后,集群将会获得一个“公网访问”的IP地址,用户可以通过公网IP地址和端口接入集群。 例如,启用HTTPS的安全集群的公网访问地址为“10.62.179.32”,端口为“9200”,则执行Curl命令查看集群中的索引信息。 curl -u username:password -k 'https://10.62.179.32:9200/_cat/indices' 其中username和password表示安全集群的用户名和密码。
  • 场景描述 通过切换冷热数据,可以将部分现查要求秒级返回的数据放在高性能机器上面作为热数据,对于历史数据要求分钟级别返回的数据放在大容量低规格节点作为冷数据。冷热数据切换可以减低存储成本,提升搜索效率。 图1 切换冷热数据原理 在创建集群时,启用的冷数据节点会被打上“cold”标签,用来存放冷数据,数据节点会被打上“hot”标签,用于存放热数据。用户可以通过配置指定索引,将数据分配到冷数据节点上。只有集群存在冷数据节点时,数据节点才会被打上热标签。 冷数据节点只有在创建集群时可以选择启用,已建集群不支持添加冷数据节点,如果集群没有冷数据节点又想切换冷热数据,可以使用存算分离功能,具体操作请参见配置Elasticsearch集群存算分离。 冷数据节点支持节点数量扩缩容和磁盘存储容量的扩容,具体操作请参见扩缩容Elasticsearch集群。
  • 方案概述 对于时间序列数据,随着时间推移数据持续写入,索引会越来越大,通过生命周期管理来定期将数据滚动到新索引,并将历史老索引删除,实现自动滚动索引。 本案例通过配置生命周期策略,当索引的大小达到1TB或索引创建超过1天时,自动滚动生成新索引;当索引创建7天后,关闭数据副本;当索引创建30天后,删除该索引。 假设某个索引,其每天约产生2.4TB的数据,索引别名“log-alias”,其数据在Elasticsearch中的组织形态如下图所示。查询时,指向所有test开头的索引;写入时,指向最新的索引。 图1 log-alias的组织形态 索引的滚动条件1天是以索引的创建时间来计算的,并不是完整自然日区分的。
  • 已有集群的终端节点服务管理 如果创建集群时未开启终端节点服务,集群创建成功后,可以通过如下步骤进行开启。 登录 云搜索 服务管理控制台。 在集群管理页面,单击需要开启终端节点服务的集群名称,进入集群基本信息页面。 选择“终端节点服务”,在“终端节点服务”右侧单击开关,打开集群的终端节点服务功能。 表2 配置终端节点服务 参数 说明 创建内网 域名 勾选“创建内网域名”,系统除了生成一个“节点IP”还会自动创建一个“内网域名”,通过这个域名可以在同一个VPC内访问该集群。不勾选的话只会生成一个“节点IP”。 创建专业型终端节点 选择是否创建专业型终端节点。 不勾选,则创建基础型终端节点。 勾选,则创建专业型终端节点。 说明: 当集群所在区域不支持创建专业型终端节点时,该选项将置灰不可选。默认创建的是基础型终端节点。 IPv4/IPv6双栈网络 选择是否开启IPv4/IPv6双栈网络。仅当集群的VPC“子网”已开启IPv6,且已勾选“创建专业型终端节点”时,才支持选择开启IPv4/IPv6双栈网络。 终端节点服务白名单 在“终端节点服务白名单”中添加允许通过节点IP或内网域名访问集群的账号。 单击“添加”输入授权账号ID。授权账号ID配置成“*”,则表示允许全部用户访问该集群。 单击操作列的“删除”,可以删除不允许访问的账号ID。 说明: “授权账号ID”可以在“我的凭证”中进行查看“账号ID”获取。 管理终端节点。 在终端节点服务页面下,显示所有连接当前集群的终端节点。此处可以获取终端节点的“服务地址”和“内网域名”。 图2 管理终端节点 单击操作列的“接受”或者“拒绝”可以修改节点的“状态”。如果对某个终端节点“拒绝”操作之后,其生成的内网域名将不能再访问到当前集群。
  • 通过节点IP地址或内网域名访问集群 获取集群的内网域名或者节点IP地址。 登录云搜索服务控制台,进入集群列表,单击集群名称,进入集群“基本信息”页面,选择“终端节点服务”,查看“服务地址”或“内网域名”。 图3 查看终端节点服务地址或内网域名 在弹性云服务器中,直接通过Curl命令调用Elasticsearch API即可使用集群。 弹性云服务器需要满足如下要求: 为弹性云服务分配足够的磁盘空间。 此弹性云服务器的VPC需要与集群在同一个VPC中,开通终端节点服务后,可以实现跨VPC访问。 此弹性云服务器的安全组需要和集群的安全组相同。 如果不同,请修改弹性云服务器安全组或配置弹性云服务器安全组的出入规则允许集群所有安全组的访问。修改操作请参见配置安全组规则。 待接入的 CSS 集群,其安全组的出方向和入方向需允许TCP协议及9200端口,或者允许端口范围包含9200端口。 例如,执行如下Curl命令,查看集群中的索引信息,集群中的内网访问地址为“vpcep-7439f7f6-2c66-47d4-b5f3-790db4204b8d.region01.huaweicloud.com”,端口为“9200”。 如果接入集群未启用安全模式,接入方式为: curl 'http://vpcep-7439f7f6-2c66-47d4-b5f3-790db4204b8d.region01.huaweicloud.com:9200/_cat/indices' 如果接入集群已启用安全模式,则需要使用https方式访问,并附加用户名和密码,在curl命令中添加-u选项。 curl -u username:password -k 'https://vpcep-7439f7f6-2c66-47d4-b5f3-790db4204b8d.region01.huaweicloud.com:9200/_cat/indices'
  • 约束限制 集群开启终端节点服务之后,终端节点将按需进行收费,终端节点的费用将由用户进行支付,详细的计费方式请参考终端节点计费说明。 当集群的网络配置中,“虚拟私有云”选择的是共享VPC,“子网”选择的是共享VPC下的子网,则该集群不支持配置终端节点服务。 创建终端节点需要有相关的权限,请参考 VPC终端节点 权限管理。 公网访问和终端节点服务使用的是同一个负载均衡。当集群开启了公网访问白名单,由于白名单是作用在负载均衡上面,将会同时限制公网访问集群和内网通过VPCEP访问集群的IP地址。此时需要在公网访问白名单中添加一个网络白名单“198.19.128.0/17”,通过该白名单用来放通经过VPCEP的流量。 终端节点服务开通后,在内网通过终端节点IP或内网域名访问 CS S将不受集群安全组规则限制,需要配合终端节点本身的白名单功能进行访问控制,操作指导请参见设置终端节点的访问控制。
  • 创建集群时开启终端节点服务 登录云搜索服务管理控制台。 在右上方单击“创建集群”。 在创建集群页面,“高级配置”选择“自定义”后,开启终端节点服务。 图1 开启终端节点服务 表1 配置终端节点服务 参数 说明 创建内网域名 勾选“创建内网域名”,系统除了生成一个“节点IP”还会自动创建一个“内网域名”,通过这个域名可以在同一个VPC内访问该集群。不勾选的话只会生成一个“节点IP”。 创建专业型终端节点 选择是否创建专业型终端节点。 不勾选,则创建基础型终端节点。 勾选,则创建专业型终端节点。 说明: 当集群所在区域不支持创建专业型终端节点时,该选项将置灰不可选。默认创建的是基础型终端节点。 IPv4/IPv6双栈网络 选择是否开启IPv4/IPv6双栈网络。仅当集群的VPC“子网”已开启IPv6,且已勾选“创建专业型终端节点”时,才支持选择开启IPv4/IPv6双栈网络。 终端节点服务白名单 在“终端节点服务白名单”中添加允许通过节点IP或内网域名访问集群的账号。 单击“添加”输入授权账号ID。授权账号ID配置成“*”,则表示允许全部用户访问该集群。 单击操作列的“删除”,可以删除不允许访问的账号ID。 说明: “授权账号ID”可以在“我的凭证”中进行查看“账号ID”获取。
  • 代码示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 from opensearchpy import OpenSearch # 创建客户端 def get_client(hosts: list, user: str = None, password: str = None): if user and password: return OpenSearch(hosts, http_auth=(user, password), verify_certs=False, ssl_show_warn=False) else: return OpenSearch(hosts) # 创建索引表 def create(client: OpenSearch, index: str): # 索引mapping信息 index_mapping = { "settings": { "index": { "vector": "true", # 开启向量特性 "number_of_shards": 1, # 索引分片数,根据实际需求设置 "number_of_replicas": 0, # 索引副本数,根据实际需求设置 } }, "mappings": { "properties": { "my_vector": { "type": "vector", "dimension": 2, "indexing": True, "algorithm": "GRAPH", "metric": "euclidean" } # 可根据需求添加其他字段 } } } res = client.indices.create(index=index, body=index_mapping) print("create index result: ", res) # 写入数据 def write(client: OpenSearch, index: str, vecs: list, bulk_size=500): for i in range(0, len(vecs), bulk_size): actions = "" for vec in vecs[i: i + bulk_size]: actions += '{"index": {"_index": "%s"}}\n' % index actions += '{"my_vector": %s}\n' % str(vec) client.bulk(body=actions, request_timeout=3600) client.indices.refresh(index=index, request_timeout=3600) print("write index success!") # 查询向量索引 def search(client: OpenSearch, index: str, query: list[float], size: int): # 查询语句,可根据需求选择合适的查询方式 query_body = { "size": size, "query": { "vector": { "my_vector": { "vector": query, "topk": size } } } } res = client.search(index=index, body=query_body) print("search index result: ", res) # 删除索引 def delete(client: OpenSearch, index: str): res = client.indices.delete(index=index) print("delete index result: ", res) if __name__ == '__main__': os_client = get_client(hosts=['http://x.x.x.x:9200']) # 对于开启了https的安全集群,使用: # os_client = get_client(hosts=['https://x.x.x.x:9200', 'https://x.x.x.x:9200'], user='xxxxx', password='xxxxx') # 对于未开启https的安全集群,使用: # os_client = get_client(hosts=['http://x.x.x.x:9200', 'http://x.x.x.x:9200'], user='xxxxx', password='xxxxx') # 测试索引名称 index_name = "my_index" # 创建索引 create(os_client, index=index_name) # 写入数据 data = [[1.0, 1.0], [2.0, 2.0], [3.0, 3.0]] write(os_client, index=index_name, vecs=data) # 查询索引 query_vector = [1.0, 1.0] search(os_client, index=index_name, query=query_vector, size=3) # 删除索引 delete(os_client, index=index_name)
  • 访问方式 表1 集群的访问方式 访问方式 适用场景 相关文档 Kibana(推荐方式) 图形化操作与展示。 监控实例。 管理数据。 不限制访问语言。 通过Kibana登录Elasticsearch集群 Cerebro 通过Cerebro登录Elasticsearch集群 开源Elasticsearch API 通过Curl命令访问与管理Elasticsearch集群。 通过Curl命令行接入Elasticsearch集群 Java客户端 通过Java语言访问与管理Elasticsearch集群。 建议使用对应Elasticsearch集群版本的Java客户端,否则可能存在兼容性问题。 通过Rest High Level Client接入Elasticsearch集群 通过Rest Low Level Client接入Elasticsearch集群 通过Transport Client接入Elasticsearch集群 通过Spring Boot接入Elasticsearch集群 Python客户端 通过Python语言访问与管理Elasticsearch集群。 通过Python客户端接入Elasticsearch集群 MRS Hive客户端 通过MRS的ES-Hadoop实现Hive工具访问与管理Elasticsearch集群。 通过MRS Hive客户端接入Elasticsearch集群 Go客户端 通过Go语言访问与管理Elasticsearch集群。 通过Go客户端接入Elasticsearch集群 LDAP认证 在Elasticsearch集群中配置轻量目录访问协议LDAP认证,实现相应角色的LDAP用户接入Elasticsearch集群。 通过LDAP接入Elasticsearch集群
  • 约束限制 CSS开启公网访问后,会使用到EIP和带宽资源,涉及相关资源费用。 仅Elasticsearch集群版本≥6.5.4和OpenSearch集群才支持开启“安全模式”。 公网访问和终端节点服务使用的是同一个负载均衡。当集群开启了公网访问白名单,由于白名单是作用在负载均衡上面,将会同时限制公网访问集群和内网通过VPCEP访问集群的IP地址。此时需要在公网访问白名单中添加一个网络白名单“198.19.128.0/17”,通过该白名单用来放通经过VPCEP的流量。
  • 创建集群时配置公网访问 登录云搜索服务管理控制台。 在创建集群页面,开启“安全模式”。设置管理员密码,并启用HTTPS访问。 “公网访问”选择“自动绑定”,配置公网访问相关参数。 图1 创建集群时配置公网访问 表1 公网访问参数说明 参数 说明 带宽 设置公网访问的带宽。 访问控制开关 如果关闭访问控制开关,则允许任何IP通过公网IP访问集群。如果开启访问控制开关,则只允许白名单列表中的IP通过公网IP访问集群。 白名单 设置允许访问的IP地址或网段,中间用英文逗号隔开。仅当打开“访问控制开关”时才需要配置。
  • 通过公网IP地址接入集群 公网访问配置完成后,集群将会获得一个“公网访问”的IP地址,用户可以通过公网IP地址和端口接入集群。 例如,启用HTTPS的安全集群的公网访问地址为“10.62.179.32”,端口为“9200”,则执行Curl命令查看集群中的索引信息。 curl -u username:password -k 'https://10.62.179.32:9200/_cat/indices' 其中username和password表示安全集群的用户名和密码。
  • 已有集群配置公网访问 您可以对已经创建集群的公网访问进行修改,查看,解绑,也可以配置公网访问。 登录云搜索服务管理控制台。 在集群管理页面,单击需要配置公网访问的集群名称,进入集群基本信息页面,管理公网访问相关配置。 图2 修改公网访问相关配置 配置公网访问 如果创建安全集群时,开启了HTTPS访问但未配置公网访问,集群创建成功后,可以在集群基本信息页面配置公网访问。 单击“公网访问”参数右侧的“绑定”,设置访问带宽后,单击“确定”。 如果绑定失败,用户可以等待几分钟后,再次尝试重新绑定公网访问。 修改 对已经配置了公网访问的集群,可以通过单击“带宽”参数右侧的“修改”,修改带宽大小,也可以通过单击“访问控制”右侧的“设置”,设置访问控制开关和访问白名单。 查看 在“基本信息”页面,可以查看当前集群绑定的公网IP地址。 解绑 对于已经绑定的公网IP地址,可以通过单击“公网访问”参数右侧的“解绑”,解绑公网IP地址。
  • 方案概述 对于时间序列数据,随着时间推移数据持续写入,索引会越来越大,通过生命周期管理来定期将数据滚动到新索引,并将历史老索引删除,实现自动滚动索引。 本案例通过配置生命周期策略,当索引的大小达到1TB或索引创建超过1天时,自动滚动生成新索引;当索引创建7天后,关闭数据副本;当索引创建30天后,删除该索引。 假设某个索引,其每天约产生2.4TB的数据,索引别名“log-alias”,其数据在Elasticsearch中的组织形态如下图所示。查询时,指向所有test开头的索引;写入时,指向最新的索引。 图1 log-alias的组织形态 索引的滚动条件1天是以索引的创建时间来计算的,并不是完整自然日区分的。
  • 规划索引分片数 在使用集群的过程时,特别是在进行数据导入操作之前,建议根据具体的业务需求,提前对集群的数据结构和分布进行规划。这包括合理设计索引和确定分片数量。为了确保集群在性能和可扩展性方面达到最佳状态,以下是一些建议。 单个分片大小:建议将每个分片的大小控制在10GB到50GB之间。这有助于在存储效率和查询性能之间取得平衡。 集群总分片数量:为了管理方便和避免过度扩展,建议将集群的总分片数量控制在3万以内。这有助于保持集群的稳定性和响应速度。 内存与分片比例:在资源分配上,建议每1GB的内存空间放置20到30个分片。这样可以确保每个分片都有足够的内存资源进行索引和查询操作。 单节点分片数:为了避免单点过载,建议每个节点上的分片数量不超过1000个。这有助于避免节点资源竞争,确保节点的稳定运行。 索引分片与节点数的关系:对于单个索引,建议其分片数与集群的节点数保持一致,或者设置为节点数的整数倍。这有助于实现负载均衡,优化查询和索引的性能。 通过以上建议,可以更有效地规划和管理CSS集群的索引分片,从而提升集群的整体性能和可维护性。
  • 规划节点类型 在Elasticsearch集群中,合理规划不同节点类型对于优化性能和资源利用率至关重要。在创建集群时,应根据业务需求、查询负载、数据增长模式和性能目标来确定添加哪些类型的节点,以实现合适的集群性能和资源管理。表4是介绍了不同节点类型的适用场景,建议用户根据具体的业务需求和性能预期来选择是否启用该类节点。 如果创建集群时未启用Master节点或Client节点,当业务运行一段时间后,发现数据节点压力太大时,支持单独添加Master节点或Client节点,具体操作请参见添加Master或Client节点。 如果创建集群时未启用冷数据节点,则集群创建完成后不支持单独添加冷数据节点,请在创建集群时合理选择是否启用冷数据节点。 表4 各类节点的适用场景 节点类型 节点功能描述 适用场景 数据节点(ess) 数据节点用于存储数据,当集群没有Master节点和Client节点时,数据节点会同时兼顾这两类节点的功能。 集群必配的节点类型。 当集群未启用Master节点和Client节点时,数据节点将同时承担集群管理、存储数据、提供接入集群和分析数据的职责。此时,为保证集群中数据的稳定性,建议设置节点数量大于等于3个。 当集群启用了Master节点但未启用Client节点时,数据节点将用于存储数据并提供接入集群和分析数据的功能。 当集群未启用Master节点但启用了Client节点时,数据节点将用于存储数据并提供集群管理功能。 当集群同时启用了Master节点和Client节点时,数据节点将仅用于存储数据。 Master节点(ess-master) Master节点负责管理集群中所有节点任务,如元数据管理、索引创建与删除、分片分配等。在大规模集群的元数据管理、节点管理、稳定性保障和集群操作控制中发挥着至关重要的作用。 集群规模较大:当集群的节点数超过16个时,为了更有效地管理集群状态和元数据,建议添加专用的Master节点。 拥有高索引和分片数量:如果索引数量或分片数超过1万个,Master节点可以处理更复杂的集群管理任务,避免对数据节点的性能造成影响。 单独管理集群节点:Master节点负责维护集群的元数据,包括索引映射、设置和别名等,对于复杂的集群结构,专用的Master节点可以提供更好的管理。包括节点加入、退出以及故障检测等,Master节点在集群节点管理中扮演核心角色。 提升集群稳定性和可靠性:专用的master节点可以提高集群的稳定性和可靠性,因为它减少了对同时承担数据存储和查询任务的节点的依赖。 优化数据节点性能:通过将集群管理任务从数据节点分离到Master节点,可以优化数据节点的性能,使其专注于数据操作。 Client节点(ess-client) Client节点负责接收并协调外部请求,如search和write请求,在处理高负载查询、复杂聚合、大量分片管理以及优化集群扩展性方面发挥着重要作用。 存在高查询QPS:当集群面临高查询每秒查询率(QPS)时,独立的Client节点可以更均匀地分发查询请求,减轻数据节点的负担,提高整体查询性能。 存在复杂的聚合查询: 对于需要大量计算资源的复杂聚合查询,Client节点可以专门处理聚合结果,从而提升聚合查询的效率和响应速度。 集群分片数量多:在分片数量较多的集群中,Client节点可以有效地协调和管理对各个分片的查询请求,提高请求的转发和处理效率。 可以减轻数据节点压力:Client节点负责解析search请求,确定索引分片的位置,并协调分片节点执行查询。可以减轻数据节点的负载,使它们更专注于数据的存储和索引。 提高集群扩展性:增加client节点可以提供更好的集群扩展性和灵活性,支持更大规模的数据集和更复杂的查询需求。 冷数据节点(ess-cold) 冷数据节点用于存储对查询时延要求不高,但数据量较大的历史数据,是管理大规模数据集和优化存储成本的有效方式。 需要存储大量历史数据:当需要存储大量不常访问但对分析有用的历史数据时,使用冷数据节点可以提供成本效益较高的存储解决方案。 需要优化热数据性能:通过将旧数据迁移到冷数据节点,可以减少对热数据节点的存储压力,从而优化热数据的查询和写入性能。 对查询时延要求不高:对于那些查询频率不高且可以容忍较高查询时延的数据,冷数据节点是合适的存储选择。 追求成本效益:冷数据节点通常采用具有较大磁盘容量的规格,这有助于降低存储成本,同时满足大规模数据存储需求。
  • 规划虚拟私有云和子网 CSS服务支持在非共享VPC和共享VPC内创建集群。 共享VPC和非共享VPC相比,有如下优势: 在一个账号内统一创建资源,并将资源共享给其他账号,其他账号无需创建重复资源,可以精简资源数量以及网络架构,提升管理效率并节约成本。 比如不同账号下的VPC网络互通需要建立对等连接,使用共享VPC后,则不同账号用户可以在同一个VPC创建资源,免去了对等连接配置,有效的简化组网结构。 在一个账号内统一管理运维资源,便于企业集中配置业务安全策略,并且利于对资源使用情况的监控和审计,支撑业务的安全诉求。 当选择使用共享VPC创建集群时,需要提前完成共享VPC子网的创建,操作流程请参见表8。有关共享VPC的使用限制及详细操作指导等信息可以参考共享VPC概述。 表8 共享子网创建流程说明 方法 说明 操作指导 方法A 通过 RAM 管理控制台,所有者创建共享,将子网共享给使用者。配置如下: 选择共享子网。 为共享子网选择权限,即指定使用者对该共享子网具备的权限。 CSS服务在共享VPC中创建集群需要选择权限:default vpc subnet statement。 指定共享子网的使用者,可以指定多个。 共享创建完成后,通过RAM管理控制台,使用者可以选择接受或者拒绝共享申请。 使用者接受共享申请,子网共享成功。 如果后续使用者不再需要使用该共享子网,可以退出该共享。 使用者拒绝共享申请,子网共享失败。 创建共享 接受/拒绝共享邀请 退出共享 方法B 通过RAM管理控制台,所有者创建共享,将子网共享给使用者。配置如下: 选择共享子网。 为共享子网选择权限,即指定使用者对该共享子网具备的权限。 CSS服务在共享VPC中创建集群需要选择权限:default vpc subnet statement。 指定共享子网的使用者,可以指定多个。 通过VPC管理控制台,选择上一步中已创建的共享,将子网加入到该共享内。 共享创建完成后,通过RAM管理控制台,使用者可以选择接受或者拒绝共享申请。 使用者接受共享申请,子网共享成功。 如果后续使用者不再需要使用该共享子网,可以退出该共享。 使用者拒绝共享申请,子网共享失败。 创建共享 将VPC子网共享给其他账号 接受/拒绝共享邀请 退出共享
  • 规划节点数量 创建集群时,集群的节点数量应当基于业务性能需求和预期负载进行规划。表6提供了计算方式用以确定合适的节点数量。通过这个计算方式可以更科学地规划集群的节点数量,以满足业务需求并保证集群的性能和稳定性。 表6 节点数量的计算方式 节点 性能基线 节点数量计算方式 示例 写入节点 对于挂载云盘的节点,其单核写入性能基线为1MB/s。 对于超高IO型的节点,其单核写入性能基线为1.5MB/s。 写入节点数=业务峰值时的流量÷单节点的核数÷单核写入性能基线x副本数 业务峰值写入100MB/s,使用16u64g的节点,预计需要100÷16÷1x2=12个节点。 查询节点 相同节点,不同业务场景下的性能差异非常大,单节点的性能基线难以评估。这里以业务平均查询响应时间(单位为秒)作为查询的性能基线进行测算。 查询节点数=QPS÷(单节点的核数x3÷2÷平均查询响应时间)x分片数量 查询QPS要求1000,平均查询响应时间100ms,索引规划3个分片,使用16u64g的节点,预计需要1000÷(16x3÷2÷0.1)x3=12个节点。 总节点数量 不涉及 总节点数量=写入节点数+查询节点数 总节点数=写入节点数+查询节点数=24个节点数。 说明: 这里计算的总节点数量表示数据节点和冷数据节点的数量之和。 当一个集群包含的节点类型不同时,各节点类型支持的节点数量不同,设置节点数量时可以参考表7。 表7 集群的节点数量取值说明 一个集群包含的节点类型 节点数量的取值范围 ess ess:1~32 ess、ess-master ess:1~200 ess-master:3~9的奇数 ess、ess-client ess:1~32 ess-client:1~32 ess、ess-cold ess:1~32 ess-cold:1~32 ess、ess-master、ess-client ess:1~200 ess-master:3~9的奇数 ess-client:1~32 ess、ess-master、ess-cold ess:1~200 ess-master:3~9的奇数 ess-cold:1~32 ess、ess-client、ess-cold ess:1~32 ess-client:1~32 ess-cold:1~32 ess、ess-master、ess-client、ess-cold ess:1~200 ess-master:3~9的奇数 ess-client:1~32 ess-cold:1~32 说明: ess:数据节点,即创建集群时必配的节点类型,其他3种节点类型都是基于业务需要可选的类型。 ess-master:Master节点。 ess-client:Client节点。 ess-cold:冷数据节点。
  • 规划集群安全模式 表9 集群类型介绍 集群类型 集群描述 适用场景 非安全集群 非安全模式的集群 非安全模式的集群无需安全认证即可访问,采用HTTP协议明文传输数据。建议确认访问环境的安全性,勿将访问接口暴露到公网环境上。 适合内网业务,用于测试场景。 优点:简单,接入集群容易。 缺点:安全性差,任何人都可以访问集群。 安全集群 安全模式+HTTP协议的集群 安全模式的集群需要通过安全认证才能访问,且支持对集群进行授权、加密等功能。采用HTTP协议明文传输数据。建议确认访问环境的安全性,勿将访问接口暴露到公网环境上。 可以实现用户权限隔离,适用于对集群性能敏感的场景。 优点:访问集群需要安全认证,提升了集群安全性。通过HTTP协议访问集群又能保留集群的高性能。 缺点:无法公网访问集群。 安全模式+HTTPS协议的集群 安全模式的集群需要通过安全认证才能访问,且支持对集群进行授权、加密等功能。采用HTTPS协议进行通信加密,使数据更安全。 有非常高的安全要求,且需要公网访问集群的场景。 优点:访问集群需要安全认证,提升了集群安全性,且HTTPS协议的通讯加密可以实现集群公网访问功能。 缺点:通过HTTPS协议访问集群,集群的读取性能相对HTTP协议来说,会下降20%左右。 当访问安全模式的集群时,需要输入用户名和密码通过安全认证才能访问。CSS服务支持以下两类用户的安全认证: 集群的管理员:管理员账户名默认为admin,密码为创建集群时设置的管理员密码。 集群的用户:集群的管理员通过Kibana创建集群的用户和密码。创建方式请参见创建Elasticsearch集群用户并授权使用。 当集群创建完成后,支持切换安全模式,具体操作请参见更改Elasticsearch集群安全模式。 切换安全模式包含三大场景:非安全模式切换为安全模式、安全模式切换为非安全模式、安全模式的协议切换。
  • 规划集群可用区 为防止数据丢失,并确保在服务中断情况下能降低集群的停机时间,从而增强集群的高可用性,CSS服务支持跨可用区(即多可用区)部署。用户可以在同一个区域内选择两个或三个不同的可用区进行集群部署。 在创建集群时,如果用户选择了两个或三个可用区,CSS服务将自动开启跨AZ的高可用性特性,确保节点在这些可用区内均匀分配。具体的节点分布情况,包括不同数量的节点如何在各个可用区中分布,可以参考表1。 在创建集群时,选择的任意类型的节点数量都要大于等于所选的AZ数量,否则跨可用区部署会失败。 部署跨AZ集群时,任意类型的节点都会被均匀的分布在不同的AZ上,满足各个AZ之间节点数量的差小于等于1。 当集群中数据节点和冷数据节点的数量和可用区的数量不是整数倍关系时,集群的数据会分布可能会不均匀,从而影响数据查询或写入业务。 表1 节点数量和AZ分布 集群节点个数 单AZ 两AZ 三AZ AZ1 AZ1 AZ2 AZ1 AZ2 AZ3 1个节点 1 不支持 不支持 2个节点 2 1 1 不支持 3个节点 3 2 1 1 1 1 4个节点 4 2 2 2 1 1 … … … … … … … 在选择多可用区部署时,建议合理配置副本数量,以更高效地利用跨可用区的高可用性特性。 在跨两个可用区的部署中,当其中一个AZ不可用时,剩下的AZ需要继续提供服务,因此索引的副本个数至少为1个。由于Elasticsearch默认副本数为1个,因此如果您对读性能没有特殊要求,可以直接使用默认值。 在跨三个可用区部署中,为了保证其中任意一个AZ不可用时,剩余的AZ可以继续提供服务,因此索引的副本数至少要为1个。为了提高集群的查询能力,也可以设置更多的副本。由于Elasticsearch默认的副本数为1个,因此需要用户修改setting配置来实现修改索引副本个数。 可以通过如下命令修改索引的副本个数,如: curl -XPUT http://ip:9200/{index_name}/_settings -d '{"number_of_replicas":2}' 也可以通过在模板中指定所有索引的副本个数,如: curl -XPUT http://ip:9200/ _template/templatename -d '{ "template": "*", "settings": {"number_of_replicas": 2}}' 其中,“ip”表示集群内网访问地址,“index_name”表示索引名称,“number_of_replicas”表示修改后的索引副本个数,此处以修改为2个索引副本为例。 当采用多可用区部署时,如果某个可用区发生故障,相关的业务故障行为分析及应对策略请参见表2。 表2 AZ故障的业务故障行为分析 可用区数量 主节点个数 业务中断行为及应对建议 2 0 如果节点个数为2的倍数: 一半的数据节点故障,需要替换故障可用区中的一个节点,才能继续选择主节点。 如果节点数为奇数: 故障AZ含多一个节点,需要替换故障可用区中一个节点,才能继续选择主节点。相关替换请联系技术支持。 故障AZ含少一个节点,不中断业务,能够继续选择主节点。 2 3 有50%机会的停机时间。当两个专用主节点分配到一个可用区中,一个主节点分配到另一个可用区中时: 如果具有一个专用主节点的可用区遇到中断,则剩余可用区具有两个专用主节点,这两个专用主节点可以选择出主节点。 如果具有两个专用主节点的可用区遇到中断,剩余可用区只有一个专用主节点,无法选择出主节点,业务中断,需要联系技术支持。 3 0 当您选择3个可用区,节点个数为4,三个可用区的节点分布数为2,1,1,如果节点个数为2的可用区故障,那么此时业务中断,建议您选择三个可用区时避免选择4个节点。 一般不会出现业务中断时间。 3 3 无业务中断时间。 当集群创建完成后,支持切换可用区,具体操作请参见切换Elasticsearch集群可用区。 切换可用区包含两大场景:可用区高可用改造和可用区平移切换。 可用区高可用改造:适用于单AZ改造成两AZ、单AZ改造成三AZ或两AZ改造成三AZ的场景,目的是为了提升集群的高可用性。 可用区平移切换:适用于从一个AZ完全迁移到另一个AZ的场景,目的是为了解决当前可用区资源不足的问题。
  • 规划集群版本 选择Elasticsearch集群版本时,建议综合考虑业务需求、特性支持、性能改进、安全性更新和长期支持等因素,以确保选择的版本能够满足当前和未来的业务发展,同时提供稳定和安全的运行环境。 当首次使用CSS服务的Elasticsearch集群时,建议选择最新版本。 当需要将自建或第三方Elasticsearch集群迁移到CSS服务,且仅迁移集群不改造集群时,建议版本号和源集群一致。 当需要将自建或第三方Elasticsearch集群迁移到CSS服务,且需要对集群进行代码改造时,建议选择7.10.2或7.6.2版本。 表3 集群版本支持情况 特性 Elasticsearch 7.6.2 Elasticsearch 7.10.2 相关文档 向量检索 √ √ 配置Elasticsearch集群向量检索 存算分离 √ √ 配置Elasticsearch集群存算分离 流量控制2.0 √ √ 配置Elasticsearch集群读写流量控制策略2.0 流量控制1.0 √ √ 配置Elasticsearch集群读写流量控制策略1.0 大查询隔离 √ √ 配置Elasticsearch集群大查询隔离 聚合增强 x √ 配置Elasticsearch集群聚合增强 读写分离 √ √ 配置Elasticsearch集群读写分离 切换冷热数据 √ √ 切换Elasticsearch集群冷热数据 索引回收站 x √ 配置Elasticsearch集群索引回收站 导入性能增强 x √ 增强Elasticsearch集群数据导入性能 集群内核监控增强 √ √ 配置Elasticsearch集群内核监控 索引监控 √ √ 配置Elasticsearch集群索引监控
  • 约束限制 重启过程中集群不可用,请谨慎操作。 工作中状态的集群,重启过程会主动停止Logstash进程。 当管道列表“是否保持常驻”为“否”时,重启过程中会将所有“运行中”的管道状态置为“已停止”。 当管道列表“是否保持常驻”为“是”时,重启过程中会触发Logstash进程恢复机制,将工作中的管道状态置为“恢复中”,如果十分钟内重新拉起Logstash进程,管道状态恢复为“工作中”,否则置为“失败”状态。
  • 规划集群安全模式 表8 集群类型介绍 集群类型 集群描述 适用场景 非安全集群 非安全模式的集群 非安全模式的集群无需安全认证即可访问,采用HTTP协议明文传输数据。建议确认访问环境的安全性,勿将访问接口暴露到公网环境上。 适合内网业务,用于测试场景。 优点:简单,接入集群容易。 缺点:安全性差,任何人都可以访问集群。 安全集群 安全模式+HTTP协议的集群 安全模式的集群需要通过安全认证才能访问,且支持对集群进行授权、加密等功能。采用HTTP协议明文传输数据。建议确认访问环境的安全性,勿将访问接口暴露到公网环境上。 可以实现用户权限隔离,适用于对集群性能敏感的场景。 优点:访问集群需要安全认证,提升了集群安全性。通过HTTP协议访问集群又能保留集群的高性能。 缺点:无法公网访问集群。 安全模式+HTTPS协议的集群 安全模式的集群需要通过安全认证才能访问,且支持对集群进行授权、加密等功能。采用HTTPS协议进行通信加密,使数据更安全。 有非常高的安全要求,且需要公网访问集群的场景。 优点:访问集群需要安全认证,提升了集群安全性,且HTTPS协议的通讯加密可以实现集群公网访问功能。 缺点:通过HTTPS协议访问集群,集群的读取性能相对HTTP协议来说,会下降20%左右。 当访问安全模式的集群时,需要输入用户名和密码通过安全认证才能访问。CSS服务支持以下两类用户的安全认证: 集群的管理员:管理员账户名默认为admin,密码为创建集群时设置的管理员密码。 集群的用户:集群的管理员通过Kibana创建集群的用户和密码。创建方式请参见创建OpenSearch集群用户并授权使用。 当集群创建完成后,支持切换安全模式,具体操作请参见更改OpenSearch集群安全模式。 切换安全模式包含三大场景:非安全模式切换为安全模式、安全模式切换为非安全模式、安全模式的协议切换。
  • 规划索引分片数 在使用集群的过程时,特别是在进行数据导入操作之前,建议根据具体的业务需求,提前对集群的数据结构和分布进行规划。这包括合理设计索引和确定分片数量。为了确保集群在性能和可扩展性方面达到最佳状态,以下是一些建议。 单个分片大小:建议将每个分片的大小控制在10GB到50GB之间。这有助于在存储效率和查询性能之间取得平衡。 集群总分片数量:为了管理方便和避免过度扩展,建议将集群的总分片数量控制在3万以内。这有助于保持集群的稳定性和响应速度。 内存与分片比例:在资源分配上,建议每1GB的内存空间放置20到30个分片。这样可以确保每个分片都有足够的内存资源进行索引和查询操作。 单节点分片数:为了避免单点过载,建议每个节点上的分片数量不超过1000个。这有助于避免节点资源竞争,确保节点的稳定运行。 索引分片与节点数的关系:对于单个索引,建议其分片数与集群的节点数保持一致,或者设置为节点数的整数倍。这有助于实现负载均衡,优化查询和索引的性能。 通过以上建议,可以更有效地规划和管理CSS集群的索引分片,从而提升集群的整体性能和可维护性。
  • 规划节点数量 创建集群时,集群的节点数量应当基于业务性能需求和预期负载进行规划。表5提供了计算方式用以确定合适的节点数量。通过这个计算方式可以更科学地规划集群的节点数量,以满足业务需求并保证集群的性能和稳定性。 表5 节点数量的计算方式 节点 性能基线 节点数量计算方式 示例 写入节点 对于挂载云盘的节点,其单核写入性能基线为1MB/s。 对于超高IO型的节点,其单核写入性能基线为1.5MB/s。 写入节点数=业务峰值时的流量÷单节点的核数÷单核写入性能基线x副本数 业务峰值写入100MB/s,使用16u64g的节点,预计需要100÷16÷1x2=12个节点。 查询节点 相同节点,不同业务场景下的性能差异非常大,单节点的性能基线难以评估。这里以业务平均查询响应时间(单位为秒)作为查询的性能基线进行测算。 查询节点数=QPS÷(单节点的核数x3÷2÷平均查询响应时间)x分片数量 查询QPS要求1000,平均查询响应时间100ms,索引规划3个分片,使用16u64g的节点,预计需要1000÷(16x3÷2÷0.1)x3=12个节点。 总节点数量 不涉及 总节点数量=写入节点数+查询节点数 总节点数=写入节点数+查询节点数=24个节点数。 说明: 这里计算的总节点数量表示数据节点和冷数据节点的数量之和。 当一个集群包含的节点类型不同时,各节点类型支持的节点数量不同,设置节点数量时可以参考表6。 表6 集群的节点数量取值说明 一个集群包含的节点类型 节点数量的取值范围 ess ess:1~32 ess、ess-master ess:1~200 ess-master:3~9的奇数 ess、ess-client ess:1~32 ess-client:1~32 ess、ess-cold ess:1~32 ess-cold:1~32 ess、ess-master、ess-client ess:1~200 ess-master:3~9的奇数 ess-client:1~32 ess、ess-master、ess-cold ess:1~200 ess-master:3~9的奇数 ess-cold:1~32 ess、ess-client、ess-cold ess:1~32 ess-client:1~32 ess-cold:1~32 ess、ess-master、ess-client、ess-cold ess:1~200 ess-master:3~9的奇数 ess-client:1~32 ess-cold:1~32 说明: ess:数据节点,即创建集群时必配的节点类型,其他3种节点类型都是基于业务需要可选的类型。 ess-master:Master节点。 ess-client:Client节点。 ess-cold:冷数据节点。
  • 规划虚拟私有云和子网 CSS服务支持在非共享VPC和共享VPC内创建集群。 共享VPC和非共享VPC相比,有如下优势: 在一个账号内统一创建资源,并将资源共享给其他账号,其他账号无需创建重复资源,可以精简资源数量以及网络架构,提升管理效率并节约成本。 比如不同账号下的VPC网络互通需要建立对等连接,使用共享VPC后,则不同账号用户可以在同一个VPC创建资源,免去了对等连接配置,有效的简化组网结构。 在一个账号内统一管理运维资源,便于企业集中配置业务安全策略,并且利于对资源使用情况的监控和审计,支撑业务的安全诉求。 当选择使用共享VPC创建集群时,需要提前完成共享VPC子网的创建,操作流程请参见表7。有关共享VPC的使用限制及详细操作指导等信息可以参考共享VPC概述。 表7 共享子网创建流程说明 方法 说明 操作指导 方法A 通过RAM管理控制台,所有者创建共享,将子网共享给使用者。配置如下: 选择共享子网。 为共享子网选择权限,即指定使用者对该共享子网具备的权限。 CSS服务在共享VPC中创建集群需要选择权限:default vpc subnet statement。 指定共享子网的使用者,可以指定多个。 共享创建完成后,通过RAM管理控制台,使用者可以选择接受或者拒绝共享申请。 使用者接受共享申请,子网共享成功。 如果后续使用者不再需要使用该共享子网,可以退出该共享。 使用者拒绝共享申请,子网共享失败。 创建共享 接受/拒绝共享邀请 退出共享 方法B 通过RAM管理控制台,所有者创建共享,将子网共享给使用者。配置如下: 选择共享子网。 为共享子网选择权限,即指定使用者对该共享子网具备的权限。 CSS服务在共享VPC中创建集群需要选择权限:default vpc subnet statement。 指定共享子网的使用者,可以指定多个。 通过VPC管理控制台,选择上一步中已创建的共享,将子网加入到该共享内。 共享创建完成后,通过RAM管理控制台,使用者可以选择接受或者拒绝共享申请。 使用者接受共享申请,子网共享成功。 如果后续使用者不再需要使用该共享子网,可以退出该共享。 使用者拒绝共享申请,子网共享失败。 创建共享 将VPC子网共享给其他账号 接受/拒绝共享邀请 退出共享
  • 规划节点类型 在OpenSearch集群中,合理规划不同节点类型对于优化性能和资源利用率至关重要。在创建集群时,应根据业务需求、查询负载、数据增长模式和性能目标来确定添加哪些类型的节点,以实现合适的集群性能和资源管理。表3是介绍了不同节点类型的适用场景,建议用户根据具体的业务需求和性能预期来选择是否启用该类节点。 如果创建集群时未启用Master节点或Client节点,当业务运行一段时间后,发现数据节点压力太大时,支持单独添加Master节点或Client节点,具体操作请参见添加Master或Client节点。 如果创建集群时未启用冷数据节点,则集群创建完成后不支持单独添加冷数据节点,请在创建集群时合理选择是否启用冷数据节点。 表3 各类节点的适用场景 节点类型 节点功能描述 适用场景 数据节点(ess) 数据节点用于存储数据,当集群没有Master节点和Client节点时,数据节点会同时兼顾这两类节点的功能。 集群必配的节点类型。 当集群未启用Master节点和Client节点时,数据节点将同时承担集群管理、存储数据、提供接入集群和分析数据的职责。此时,为保证集群中数据的稳定性,建议设置节点数量大于等于3个。 当集群启用了Master节点但未启用Client节点时,数据节点将用于存储数据并提供接入集群和分析数据的功能。 当集群未启用Master节点但启用了Client节点时,数据节点将用于存储数据并提供集群管理功能。 当集群同时启用了Master节点和Client节点时,数据节点将仅用于存储数据。 Master节点(ess-master) Master节点负责管理集群中所有节点任务,如元数据管理、索引创建与删除、分片分配等。在大规模集群的元数据管理、节点管理、稳定性保障和集群操作控制中发挥着至关重要的作用。 集群规模较大:当集群的节点数超过16个时,为了更有效地管理集群状态和元数据,建议添加专用的Master节点。 拥有高索引和分片数量:如果索引数量或分片数超过1万个,Master节点可以处理更复杂的集群管理任务,避免对数据节点的性能造成影响。 单独管理集群节点:Master节点负责维护集群的元数据,包括索引映射、设置和别名等,对于复杂的集群结构,专用的Master节点可以提供更好的管理。包括节点加入、退出以及故障检测等,Master节点在集群节点管理中扮演核心角色。 提升集群稳定性和可靠性:专用的master节点可以提高集群的稳定性和可靠性,因为它减少了对同时承担数据存储和查询任务的节点的依赖。 优化数据节点性能:通过将集群管理任务从数据节点分离到Master节点,可以优化数据节点的性能,使其专注于数据操作。 Client节点(ess-client) Client节点负责接收并协调外部请求,如search和write请求,在处理高负载查询、复杂聚合、大量分片管理以及优化集群扩展性方面发挥着重要作用。 存在高查询QPS:当集群面临高查询每秒查询率(QPS)时,独立的Client节点可以更均匀地分发查询请求,减轻数据节点的负担,提高整体查询性能。 存在复杂的聚合查询: 对于需要大量计算资源的复杂聚合查询,Client节点可以专门处理聚合结果,从而提升聚合查询的效率和响应速度。 集群分片数量多:在分片数量较多的集群中,Client节点可以有效地协调和管理对各个分片的查询请求,提高请求的转发和处理效率。 可以减轻数据节点压力:Client节点负责解析search请求,确定索引分片的位置,并协调分片节点执行查询。可以减轻数据节点的负载,使它们更专注于数据的存储和索引。 提高集群扩展性:增加client节点可以提供更好的集群扩展性和灵活性,支持更大规模的数据集和更复杂的查询需求。 冷数据节点(ess-cold) 冷数据节点用于存储对查询时延要求不高,但数据量较大的历史数据,是管理大规模数据集和优化存储成本的有效方式。 需要存储大量历史数据:当需要存储大量不常访问但对分析有用的历史数据时,使用冷数据节点可以提供成本效益较高的存储解决方案。 需要优化热数据性能:通过将旧数据迁移到冷数据节点,可以减少对热数据节点的存储压力,从而优化热数据的查询和写入性能。 对查询时延要求不高:对于那些查询频率不高且可以容忍较高查询时延的数据,冷数据节点是合适的存储选择。 追求成本效益:冷数据节点通常采用具有较大磁盘容量的规格,这有助于降低存储成本,同时满足大规模数据存储需求。
  • 规划集群可用区 为防止数据丢失,并确保在服务中断情况下能降低集群的停机时间,从而增强集群的高可用性,CSS服务支持跨可用区(即多可用区)部署。用户可以在同一个区域内选择两个或三个不同的可用区进行集群部署。 在创建集群时,如果用户选择了两个或三个可用区,CSS服务将自动开启跨AZ的高可用性特性,确保节点在这些可用区内均匀分配。系统均匀分配的节点满足各个AZ之间节点数量的差小于等于1,具体的节点分布情况,包括不同数量的节点如何在各个可用区中分布,可以参考表1。 在创建集群时,选择的任意类型的节点数量都要大于等于所选的AZ数量,否则跨可用区部署会失败。 部署跨AZ集群时,任意类型的节点都会被均匀的分布在不同的AZ上,满足各个AZ之间节点数量的差小于等于1。 当集群中数据节点和冷数据节点的数量和可用区的数量不是整数倍关系时,集群的数据会分布可能会不均匀,从而影响数据查询或写入业务。 表1 节点数量和AZ分布 集群节点个数 单AZ 两AZ 三AZ AZ1 AZ1 AZ2 AZ1 AZ2 AZ3 1个节点 1 不支持 不支持 2个节点 2 1 1 不支持 3个节点 3 2 1 1 1 1 4个节点 4 2 2 2 1 1 … … … … … … … 在选择多可用区部署时,建议合理配置副本数量,以更高效地利用跨可用区的高可用性特性。 在跨两个可用区的部署中,当其中一个AZ不可用时,剩下的AZ需要继续提供服务,因此索引的副本个数至少为1个。由于Elasticsearch默认副本数为1个,因此如果您对读性能没有特殊要求,可以直接使用默认值。 在跨三个可用区部署中,为了保证其中任意一个AZ不可用时,剩余的AZ可以继续提供服务,因此索引的副本数至少要为1个。为了提高集群的查询能力,也可以设置更多的副本。由于Elasticsearch默认的副本数为1个,因此需要用户修改setting配置来实现修改索引副本个数。 可以通过如下命令修改索引的副本个数,如: curl -XPUT http://ip:9200/{index_name}/_settings -d '{"number_of_replicas":2}' 也可以通过在模板中指定所有索引的副本个数,如: curl -XPUT http://ip:9200/ _template/templatename -d '{ "template": "*", "settings": {"number_of_replicas": 2}}' 其中,“ip”表示集群内网访问地址,“index_name”表示索引名称,“number_of_replicas”表示修改后的索引副本个数,此处以修改为2个索引副本为例。 当采用多可用区部署时,如果某个可用区发生故障,相关的业务故障行为分析及应对策略请参见表2。 表2 AZ故障的业务故障行为分析 可用区数量 主节点个数 业务中断行为及应对建议 2 0 如果节点个数为2的倍数: 一半的数据节点故障,需要替换故障可用区中的一个节点,才能继续选择主节点。 如果节点数为奇数: 故障AZ含多一个节点,需要替换故障可用区中一个节点,才能继续选择主节点。相关替换请联系技术支持。 故障AZ含少一个节点,不中断业务,能够继续选择主节点。 2 3 有50%机会的停机时间。当两个专用主节点分配到一个可用区中,一个主节点分配到另一个可用区中时: 如果具有一个专用主节点的可用区遇到中断,则剩余可用区具有两个专用主节点,这两个专用主节点可以选择出主节点。 如果具有两个专用主节点的可用区遇到中断,剩余可用区只有一个专用主节点,无法选择出主节点,业务中断,需要联系技术支持。 3 0 当您选择3个可用区,节点个数为4,三个可用区的节点分布数为2,1,1,如果节点个数为2的可用区故障,那么此时业务中断,建议您选择三个可用区时避免选择4个节点。 一般不会出现业务中断时间。 3 3 无业务中断时间。 当集群创建完成后,支持切换可用区,具体操作请参见切换OpenSearch集群可用区。 切换可用区包含两大场景:可用区高可用改造和可用区平移切换。 可用区高可用改造:适用于单AZ改造成两AZ、单AZ改造成三AZ或两AZ改造成三AZ的场景,目的是为了提升集群的高可用性。 可用区平移切换:适用于从一个AZ完全迁移到另一个AZ的场景,目的是为了解决当前可用区资源不足的问题。
  • 访问方式 表1 集群的访问方式 访问方式 适用场景 相关文档 OpenSearch Dashboards(推荐方式) 图形化操作与展示。 监控实例。 管理数据。 不限制访问语言。 通过OpenSearch Dashboards登录OpenSearch集群 Cerebro 通过Cerebro登录OpenSearch集群 开源Elasticsearch API 通过Curl命令访问与管理OpenSearch集群。 通过Curl命令行接入OpenSearch集群 LDAP认证 在OpenSearch集群中配置轻量目录访问协议LDAP认证,实现相应角色的LDAP用户接入OpenSearch集群。 通过LDAP接入OpenSearch集群
共100000条