华为云用户手册

  • 形态变更概述 CSS 集群支持形态变更,包括集群扩容、集群规格变更、集群缩容等。当创建的集群规格不能满足业务需求时,可以通过形态变更,提高集群的使用效率,降低运维成本。 扩容 当集群数据节点(ess)的写入与查询压力大、响应时间过长时,可以通过扩容数据节点的“节点存储容量”保证数据的持久性。如果因数据量过大或操作不当导致数据节点状态异常时,可以扩容“节点数量”保证集群的可用性。 冷数据节点(ess-cold)主要用于分担ess数据节点的压力,当发现冷数据有丢失的风险时,可以扩容冷数据节点的“节点存储容量”保证冷数据的持久性,同时也支持扩容节点个数保证集群的可用性。 变更规格 当新增索引或分片分配的处理时间过长,或管理集群各个节点的协调、调度不足时,可以变更Master节点(ess-master)的“节点规格”保证集群的正常使用。 当数据节点任务分发量、结果汇聚量过大时,需要变更Client节点(ess-client)的“节点规格”。 当数据的写入与查询突然变得缓慢时,可以变更数据节点(ess)的“节点规格”提高数据节点的查询与写入效率。 当存在冷数据查询缓慢时,可以变更冷数据节点(ess-cold)的“节点规格”提高对数据查询的效率。 缩容 当集群有充足的能力处理当前数据时,为节省资源可以随机减小集群占用的资源。 缩容指定节点 当集群有充足的能力处理当前数据时,为节省资源可以指定一个或多个节点进行缩容。 替换指定节点 当集群中的节点发生故障,可以通过删除故障节点,重建一个一样的新节点,实现指定节点替换。 添加Master/Client节点 当集群数据面业务增长,需要动态调整集群形态时,可以增加Master/Client节点。 更改安全模式 集群创建完成后,可以通过更改安全模式进行集群模式变更。 CS S服务支持如下几种安全模式更改: 非安全模式切换为安全模式:“非安全模式”切换为“安全模式+HTTP协议”或“安全模式+HTTPS协议” 安全模式切换为非安全模式:“安全模式+HTTP协议”或“安全模式+HTTPS协议”切换为“非安全模式” 切换安全模式下的协议:“安全模式+HTTP协议”切换为“安全模式+HTTPS协议”、“安全模式+HTTPS协议”切换为“安全模式+HTTP协议” 切换可用区 切换可用区包含两大场景:可用区高可用改造和可用区平移切换。 可用区高可用改造:适用于单AZ改造成两AZ、单AZ改造成三AZ或两AZ改造成三AZ的场景,目的是为了提升集群的高可用性。 可用区平移切换:适用于从一个AZ完全迁移到另一个AZ的场景,目的是为了解决当前可用区资源不足的问题。 父主题: 形态变更
  • 变更索引策略 您可以更改任何托管索引策略,但是ISM有一些约束条件可以确保策略更改不会破坏索引。 如果索引卡在其当前状态,永不进行,并且您想立即更新其策略,请确保新策略包括与旧策略相同的状态(名称,操作,顺序相同)。在这种情况下,即使策略处于执行操作中,ISM也会应用新策略。 如果在不包含相同状态的情况下更新策略,则ISM仅在当前状态下的所有操作执行完成后才更新策略。或者,您可以在旧策略中选择特定状态,然后让新策略生效。 在OpenSearch Dashboard中更改更改政策,操作步骤如下: 在OpenSearch Dashboard的“Index Management”页面,选择需要更换新策略的索引。 单击右上角的Change policy,进入在Choose managed indices和Choose new policy区域,选择更换新策略的相关信息 。 图1 变更索引策略 表1 更换索引策略参数信息 参数 说明 Managed indices 选择需要更换策略的索引名称。支持选择多个索引。 State filters 选择索引状态。选择后,会将新策略附加到处于特定状态的索引。 New policy 选择新策略。 选择完成后,单击Change。 父主题: 管理索引
  • 修改回程路由 Logtsash服务为托管服务,创建集群选择的子网并不是logstash节点的主网卡,所以还需要给集群的每个节点添加一个指向目标IP(指公网数据所在的服务器)的回程路由。 单击集群名称,进入集群详情页面。 单击“集群路由”后面的“修改”。 图1 配置集群路由 修改集群路由信息。 图2 修改集群路由 IP地址:公网源数据所在的服务器ip,取前16位或者24位,如源IP为192.168.1.1,可以填192.168.0.0。 子网掩码:如果上面取的是16位,子网掩码可以填255.255.0.0,24位的话子网掩码填255.255.255.0。 子网掩码必须要覆盖IP网段,即子网掩码和IP地址转换为二进制后,IP地址最后的0个数一定要比子网掩码的最后为0的个数多。 更改类型:可选择“添加”或“删除”。 单击“确定”。
  • 注意事项 第一次备份时,建议将所有索引数据进行备份。 集群快照会导致CPU、磁盘IO上升等影响,建议在业务低峰期进行操作。 创建快照之前,您需要进行基础配置,包含存储快照的OBS桶、快照的备份路径及安全认证使用的 IAM 委托。 集群快照存储的OBS桶,在首次设置后,不管自动创建快照还是手动创建快照,如果快照列表中已有可用的快照,则OBS桶将无法再变更,请谨慎选择存储OBS桶。 快照存储在OBS桶中需要额外收费,具体收费以 对象存储服务 为准。 如果OBS桶已经存储了快照,OBS无法变更,您可以使用这个方法修改:首先关闭快照功能,然后再开启快照功能,指定新的OBS桶。一旦关闭快照功能,之前创建的快照将无法用于恢复集群。 当集群处于“不可用”状态时,快照功能中,除了恢复快照功能外,其他快照信息或功能只能查看,无法进行编辑。 备份与恢复过程中,支持集群扩容、访问Kibana、查看监控、删除其他快照的操作。不支持重启此集群、删除此集群、删除正在创建或恢复的快照、再次创建或恢复快照的操作。补充说明,当此集群正在进行创建快照或者恢复快照时,此时,自动创建快照任务将被取消。 CSS集群第一次快照是全量,后面再备份快照是在之前的快照基础上增量,CSS是增量快照逻辑,快照之间的文件会相互依赖。
  • 在Kibana查询 登录 云搜索服务 控制台。 在集群管理列表,选择需要查看插件的集群,单击操作列的“Kibana”登录OpenSearch Dashboard界面。 进入Dev Tools,执行如下命令查看集群插件信息: GET _cat/plugins?v 响应体示例如下: name component version css-3657-ess-esn-1-1 analysis-dynamic-synonym 1.3.6 css-3657-ess-esn-1-1 analysis-icu 1.3.6 css-3657-ess-esn-1-1 analysis-ik 1.3.6 css-3657-ess-esn-1-1 analysis-kuromoji 1.3.6 css-3657-ess-esn-1-1 analysis-logtxt 1.0.0 css-3657-ess-esn-1-1 analysis-nori 1.3.6 css-3657-ess-esn-1-1 analysis-pinyin 1.3.6 css-3657-ess-esn-1-1 analysis-stconvert 1.3.6 css-3657-ess-esn-1-1 hpack 2.0.0 css-3657-ess-esn-1-1 ingest-attachment 1.3.6 css-3657-ess-esn-1-1 obs-store-plugin 1.3.6 css-3657-ess-esn-1-1 opensearch-alerting 1.3.6.0 css-3657-ess-esn-1-1 opensearch-anomaly-detection 1.3.6.0 css-3657-ess-esn-1-1 opensearch-asynchronous-search 1.3.6.0 css-3657-ess-esn-1-1 opensearch-cross-cluster-replication 1.3.6.0 css-3657-ess-esn-1-1 opensearch-index-management 1.3.6.0 css-3657-ess-esn-1-1 opensearch-job-scheduler 1.3.6.0 css-3657-ess-esn-1-1 opensearch-knn 1.3.6.0 css-3657-ess-esn-1-1 opensearch-ml 1.3.6.0 css-3657-ess-esn-1-1 opensearch-observability 1.3.6.0 css-3657-ess-esn-1-1 opensearch-performance-analyzer 1.3.6.0 css-3657-ess-esn-1-1 opensearch-reports-scheduler 1.3.6.0 css-3657-ess-esn-1-1 opensearch-security 1.3.6.0 css-3657-ess-esn-1-1 opensearch-sql 1.3.6.0 css-3657-ess-esn-1-1 repository-obs 1.3.6 “name”是集群的节点名称,“component”是插件名称,“version”是插件版本。
  • 操作步骤 登录 云搜索 服务管理控制台。 在“集群管理”页面选择目标集群,单击操作列“Kibana”,登录Kibana界面。 单击左侧导航栏的“Dev Tools”,执行命令开启访问日志。 开启集群所有节点的访问日志 PUT /_access_log?duration_limit=30s&capacity_limit=1mb 开启集群中某一节点的访问日志 PUT /_access_log/{nodeId}?duration_limit=30s&capacity_limit=1mb {nodeId}为需要开启访问日志的节点ID。 执行命令查看访问日志。 查看集群所有节点的访问日志API GET /_access_log 查看集群中某一节点的访问日志API GET /_access_log/{nodeId} {nodeId}为需要开启访问日志的节点ID。 响应示例: { "_nodes" : { "total" : 1, "successful" : 1, "failed" : 0 }, "cluster_name" : "css-flowcontroller", "nodes" : { "8x-ZHu-wTemBQwpcGivFKg" : { "name" : "css-flowcontroller-ess-esn-1-1", "host" : "10.0.0.98", "count" : 2, "access" : [ { "time" : "2021-02-23 02:09:50", "remote_address" : "/10.0.0.98:28191", "url" : "/_access/security/log?pretty", "method" : "GET", "content" : "" }, { "time" : "2021-02-23 02:09:52", "remote_address" : "/10.0.0.98:28193", "url" : "/_access/security/log?pretty", "method" : "GET", "content" : "" } ] } } } 表2 响应参数说明 参数名 说明 name 节点名称。 host 节点对应的IP地址。 count 统计周期内,访问节点的请求数量。 access 统计周期内,访问节点的请求详情。参数说明请参见表3。 表3 access 参数名 说明 time 记录请求时间。 remote_address 请求对应的源IP地址和端口。 url 请求的原始URL method 对应请求Path的方法。 content 对应请求的内容。 执行命令删除访问日志。 删除集群所有节点的访问日志API DELETE /_access_log 删除集群中某一节点的访问日志API DELETE /_access_log/{nodeId} {nodeId}为需要开启访问日志的节点ID。
  • 背景信息 流量控制提供2种方式查看访问日志。 一种是提供单独的API开启和查看访问日志,API参数配置记录访问日志时间和大小,访问日志内容通过Rest接口返回。 一种是通过日志打印的方式记录访问日志,开启后用户的访问日志会以文件的方式打印到后端日志中,用户通过查看日志文件查看访问日志。本章节将会介绍此种方式临时访问日志记录。 临时访问日志记录在开启或关闭访问日志时,执行命令涉及的配置参数如下: 表1 访问日志的配置参数说明 配置名 类型 说明 duration_limit String 访问日志记录时间。 取值范围:10~120 单位:s 默认值:30 capacity_limit String 访问日志记录大小。统计开启访问日志后记录的请求大小,当统计的大小大于该配置值,访问日志记录终止。 取值范围:1~5 单位:MB 默认值:1 “duration_limit”和“capacity_limit”只要有一个参数达到阈值,访问日志记录就会停止。
  • 冷热数据切换 用户在创建集群的时候如果选择启用冷数据节点,冷数据节点将会打上“cold”标签,用来表示冷节点,同时其他数据节点将会上升为热节点,会被打上“hot”标签。用户可以通过配置指定索引,将数据分配到冷热节点。 通过设置template,可以通过模板将相应的index存储到指定冷热节点。 如下,登录集群的Kibana Console页面,配置myindex开头的索引,储存在冷节点上面。 这样可以通过模板在创建的时候把myindex*的数据存储在冷数据节点上面。 5.x版本使用以下命令创建模板: PUT _template/test { "order": 1, "template": "myindex*", "settings": { "index": { "refresh_interval": "30s", "number_of_shards": "3", "number_of_replicas": "1", "routing.allocation.require.box_type": "cold" } } } 6.x及以上版本使用以下命令创建模板: PUT _template/test { "order": 1, "index_patterns": "myindex*", "settings": { "refresh_interval": "30s", "number_of_shards": "3", "number_of_replicas": "1", "routing.allocation.require.box_type": "cold" } } 同时也可以单独对已经创建好的索引进行操作。 PUT myindex/_settings { "index.routing.allocation.require.box_type": "cold" } 也可以去掉冷热数据配置,不受冷热数据标签影响。 PUT myindex/_settings { "index.routing.allocation.require.box_type": null }
  • 使用限制 单账号跟踪的事件可以通过 云审计 控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的 CTS /system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到对象存储服务(OBS),才可在OBS桶里面查看历史文件。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 创建索引策略 登录Kibana,在左侧选择或“Index Management”,进入索引管理页面 。 右侧单击Create policy,创建索引策略。 在Configuration method对话框中,选择JSON editor,单击Continue进入创建索引策略页面。 在Policy ID部分输入策略ID,Define policy部分输入您的策略。 图1 配置策略 单击Create完成索引策略的创建。
  • 管理索引策略 在OpenSearch Dashboard的“Index Management”页面,选择Managed Indices。 如果您要更改策略,可以选择Change policy,详情请参考变更策略。 图5 变更策略 如果您要删除策略,请选择您的策略,然后选择Remove policy。 如果您要重试策略,请选择您的策略,然后选择Retry policy。 具体使用可参考索引管理官方介绍。
  • 创建集群时开启终端节点服务 登录云搜索服务管理控制台。 在右上方单击“创建集群”。 在创建集群页面,“高级配置”选择“自定义”后,开启终端节点服务。 图1 开启终端节点服务 “创建内网域名”:如果开启,系统将会自动为用户创建一个内网域名,可以通过内网域名访问集群。 “终端节点服务白名单”:您可以在“终端节点服务白名单”中添加需要授权的账号ID,只要其账号ID被添加到终端节点服务白名单中,就可以通过内网域名或者节点IP访问集群。 单击“添加”可以添加多个账号。 单击“操作”列的“删除”,可以删除不允许访问的账号。 授权账号ID配置成*,则表示允许全部用户访问该集群。 需要授权的账号ID可在“我的凭证”中进行查看。 集群开启终端节点服务之后,终端节点将按需进行收费,终端节点的费用将由用户进行支付,详细的计费方式请参考终端节点计费说明。
  • 通过内网域名或节点IP访问集群 获取内网域名或者节点IP。 登录云搜索服务控制台,进入集群列表,单击集群名称,进入集群“基本信息”页面,选择“终端节点服务”,查看内网域名。 图3 查看节点IP和内网域名信息 在弹性云服务器中,直接通过curl执行API或者开发程序调用API并执行程序即可使用集群。Elasticsearch操作和接口请参见《Elasticsearch:权威指南》。 弹性云服务器需要满足如下要求: 为弹性云服务分配足够的磁盘空间。 此弹性云服务器的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'
  • 已有集群终端节点服务管理 如果创建集群时未开启终端节点服务,集群创建成功后,可以通过如下步骤进行开启。 登录云搜索服务管理控制台。 在集群管理页面,单击需要开启终端节点服务的集群名称,进入集群基本信息页面。 选择“终端节点服务”,在“终端节点服务”右侧单击开关,打开集群的终端节点服务功能。 在弹出的提示框中,您可以根据需求,选择是否创建内网域名。单击“是”,开启终端节点服务。 开启终端节点服务后,您可以通过终端节点产生的“内网域名”或者“节点IP”访问此集群。详细请参考通过内网域名或节点IP访问集群。 关闭终端节点服务功能后,所有的用户将不能通过内网域名访问此集群。 (可选)打开终端节点服务后,您可以单击“终端节点服务白名单”后面的“修改”,更新已有的白名单。 管理终端节点。 在终端节点服务页面下,显示所有连接当前终端节点服务的终端节点。 图2 管理终端节点 单击操作列的“接受”或者“拒绝”可以修改节点的“状态”。如果对某个终端节点“拒绝”操作之后,其生成的内网域名将不能再访问到当前集群。
  • 对接负载均衡器 开启了HTTPS访问的安全模式集群不支持HTTP类型的前端协议认证,如果需要使用HTTP类型的前端协议,请变更集群的安全模式,将“安全模式”变更为“非安全模式”。 变更安全模式前,请关闭负载均衡,安全模式变更后再开启负载均衡。 登录云搜索服务管理控制台。 在“集群管理”页面选择需要对接负载均衡器的集群,单击集群名称进入集群“基本信息”页面。 在左侧菜单栏,选择“负载均衡”,打开负载均衡开关,配置负载均衡基础信息。 负载均衡器:选择已创建的负载均衡器。也可以单击“创建负载均衡器”创建一个新的负载均衡器。 委托:选择对应的委托名称。如果没有委托,需要单击“创建委托”创建一个委托,所选择的委托需要同时对ELB Administrator和ELB FullAccess权限授权。 图1 开启负载均衡 单击“确定”,进入监听器配置页面。 图2 创建监听器 在监听器配置区域,您可以单击右侧配置监听器的相关信息。 图3 配置监听器 表2 监听器的配置信息 参数 配置说明 前端协议 客户端与负载均衡监听器建立流量分发连接的协议。 根据实际业务需要选择协议。 前端端口 客户端与负载均衡监听器建立流量分发连接的端口。 9200仅举例,可以根据实际业务需要自定义。 SSL解析方式 客户端到服务器端认证方式。 根据实际业务需要选择解析方式。 服务器证书 服务器证书用于SSL握手协商,需提供证书内容和私钥。 当“SSL解析方式”选择“双向认证”时,必须配置服务器证书。 CA证书 CA证书又称客户端CA公钥证书,用于验证客户端证书的签发者。 在开启HTTPS双向认证功能时,只有当客户端能够出具指定CA签发的证书时,HTTPS连接才能成功。 当“前端协议”选择“HTTPS”时,才需要配置CA证书。 (可选)在连接方式区域,您可以单击“访问控制”后的“设置”,配置允许访问的IP地址或网段,不设置默认允许所有的IP访问。 在健康检查区域,您可以查看各个节点IP的健康检查结果,健康检查结果状态说明请参见下表: 健康检查结果 说明 正常 节点IP连接正常。 异常 节点IP连接,不可用
  • 通过Curl命令接入集群 通过执行如下命令,测试独享型负载均衡器是否能够正常接入集群。 表3 不同集群的接入命令 集群安全模式 ELB最终对外提供的服务形态 接入集群的Curl命令 非安全 无认证 curl http://IP:9200 单向认证 curl -k --cert ./client.crt --key ./client.key https://IP:9200 双向认证 curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:9200 安全+HTTP 密码认证 curl http://IP:9200 -u user:pwd 单向认证+密码认证 curl -k --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd 双向认证+密码认证 curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd 安全+HTTPS 单向认证+密码认证 curl -k --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd 双向认证+密码认证 curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd 表4 变量说明 变量名 说明 IP 弹性负载均衡的IP地址。 user 访问CSS集群的用户名。 pwd 用户名对应的密码。 当正常返回Elasticsearch集群信息时,表示连接成功,例如安全模式+HTTPS协议的集群对接ELB双向认证模式的返回信息如图4所示。 图4 接入集群
  • 创建独享型负载均衡器 登录弹性负载均衡管理控制台。 参考创建独享型负载均衡器,创建独享型负载均衡器。CSS集群对接独享型负载均衡器所需要关注的参数如表1所示,其他参数请根据实际需要填写。 表1 独享型负载均衡器的配置说明 参数 配置说明 取值样例 实例类型 选择“独享型”。 独享型 计费模式 性能独享型负载均衡器的收费类型。 按需计费 区域 选择CSS集群所在的区域。 - 跨VPC后端 开启跨VPC后端才能连接CSS集群。 开启 网络类型 负载均衡器对外提供服务所使用的网络类型。 IPv4私网 所属VPC 所属虚拟私有云。无论选择哪种网络类型,均需配置此项。 需要选择和CSS集群同一VPC。 - 子网 选择创建负载均衡实例的子网。无论选择哪种网络类型,均需配置此项。 需要选择和CSS集群同一子网。 - 规格 建议选择功能和性能更优的应用型规格。 应用型(HTTP/HTTPS) 小型 I
  • 集群高级配置 在离线导入数据场景下,为了提高批量写入性能,建议将索引的refresh_interval参数设置为-1,即关闭自动刷新索引。 建议将备份数number_of_replicas设置为0,当离线数据导入完成后,再设置为需要的值。 其他高级功能的参数配置说明: 表3 集群配置参数 参数 说明 native.cache.circuit_breaker.enabled 是否开启堆外内存熔断。 默认值:true。 native.cache.circuit_breaker.cpu.limit 向量索引堆外内存使用上限。 假设使用128GB内存的机器且堆内存大小为31GB,默认堆外内存使用上限为(128 - 31) * 45% = 43.65GB,堆外内存使用量超过该值将会触发写入熔断。 默认值:45%。 native.cache.expire.enabled 是否开启缓存超时设置。开启时,如果某些缓存项长时间没有被访问过将会被清除。 取值范围:true、false。 默认值:false。 native.cache.expire.time 超时时长。 默认值:24h。 native.vector.index_threads 创建底层索引时所使用的线程数,每个shard均会使用多个构建线程。该值建议不要设置过大,避免产生过多的构建线程抢占查询资源。 默认值:4。
  • 导入向量数据 执行如下命令,导入向量数据。向“my_index”索引中写入向量数据时,需要指定向量字段名称和向量数据。 向量数据输入格式为逗号分隔的浮点型数组时: POST my_index/_doc { "my_vector": [1.0, 2.0] } 向量数据输入格式为小端字节序编码的Base64字符串时: 在写入二值向量,或向量维度较高、数值有效位较多时,使用Base64编码格式传输、解析更加高效。 POST my_index/_doc { "my_vector": "AACAPwAAAEA=" } 当写入大规模数据时,建议使用Bulk操作: POST my_index/_bulk {"index": {}} {"my_vector": [1.0, 2.0], "my_label": "red"} {"index": {}} {"my_vector": [2.0, 2.0], "my_label": "green"} {"index": {}} {"my_vector": [2.0, 3.0], "my_label": "red"}
  • 创建向量索引 登录云搜索服务管理控制台。 在“集群管理”页面,选择需要启用向量检索的集群,单击操作列“Kibana”,登录Kibana界面。 单击左侧导航栏的“Dev Tools”,执行如下命令创建向量索引。 创建一个名为“my_index”的索引,该索引包含一个名为“my_vector”的向量字段和一个名为“my_label”的文本字段。其中,向量字段创建了GRAPH图索引,并使用欧式距离作为相似度度量。 PUT my_index { "settings": { "index": { "vector": true } }, "mappings": { "properties": { "my_vector": { "type": "vector", "dimension": 2, "indexing": true, "algorithm": "GRAPH", "metric": "euclidean" }, "my_label": { "type": "text" } } } } 表1 创建索引参数说明 类型 参数 说明 Index settings参数 vector 当需要使用向量索引加速时,需要设置该值为true。 Field mappings参数 type 字段类型,“vector”表示该字段为向量字段。 dimension 向量数据维度。取值范围:[1, 4096]。 indexing 是否开启向量索引加速。 可选值: false:表示关闭向量索引加速,向量数据仅写入docvalues,只支持使用ScriptScore以及Rescore进行向量查询。 true:表示开启向量索引加速,系统将创建额外的向量索引,索引算法由"algorithm"字段指定,写入数据后可以使用VectorQuery进行查询。 默认值:false。 algorithm 索引算法。仅当“indexing”为“true”时生效。 可选值: FLAT:暴力计算,目标向量依次和所有向量进行距离计算,此方法计算量大,召回率100%。适用于对召回准确率要求极高的场景。 GRAPH:图索引,内嵌深度优化的HNSW算法,主要应用在对性能和精度均有较高要求且单shard中文档数量在千万个以内的场景。 GRAPH_PQ:将HNSW算法与PQ算法进行了结合,通过PQ降低原始向量的存储开销,能够使HNSW轻松支撑上亿规模的检索场景。 IVF_GRAPH:算法将IVF与HNSW结合,对全量空间进行划分,每一个聚类中心向量代表了一个子空间,极大地提升检索效率,同时会带来微小的检索精度损失。适用于数据量在上亿以上同时对检索性能要求较高的场景。 IVF_GRAPH_PQ:PQ算法与IVF-HNSW的结合,PQ可以通过配置选择与HNSW结合和IVF结合,进一步提升系统的容量并降低系统开销,适用于shard中文档数量在十亿级别以上同时对检索性能要求较高的场景。 PV_GRAPH:图索引,同属内嵌优化的HNSW算法,主要应用在性能和精度均有较高要求,且单shard中文档数量在千万个以内,可用于内存资源充足的场景。同时该算法支持联合标量过滤,目前仅限关联keyword类型字段,相较于后置过滤和布尔查询,可大幅提升返回结果的填充率和查询性能。仅Elasticsearch集群7.10.2版本支持PV_GRAPH索引。 默认值:GRAPH。 说明: 当选择IVF_GRAPH或者IVF_GRAPH_PQ索引时,需要额外进行预构建中心点索引以及注册等步骤,具体内容请参考(可选)预构建与注册。 表2 当使用向量索引加速时(即“indexing”为“true”时),为了获得更高的查询性能以及查询精度,CSS提供了与向量索引相关的可选参数配置。 metric 计算向量之间距离的度量方式。 可选值: euclidean:欧式距离。 inner_product:内积距离。 cosine:余弦距离。 hamming:汉明距离,仅支持设置"dim_type"为"binary"时使用。 默认值:euclidean。 dim_type 向量维度值的类型。 可选值:binary、float(默认)。 sub_fields 新增参数字段sub_fields用于定义向量附属标量字段,仅支持keyword类型,对应新增支持联合过滤功能,仅支持PV_GRPAH类型。 表2 可选参数说明 类型 参数 说明 GRAPH类索引配置参数 neighbors 图索引中每个向量的邻居数,默认值为64,值越大查询精度越高。索引越大,构建速度以及后续的查询速度也会变慢。 取值范围:[10, 255]。 shrink 构建hnsw时的裁边系数,默认值1.0f。 取值范围:(0.1, 10)。 scaling 构建hnsw时上层图节点数的缩放比例,默认值50。 取值范围:(0, 128]。 efc 构建hnsw时考察邻居节点的队列大小,默认值为200,值越大精度越高,构建速度将会变慢。 取值范围:(0, 100000]。 max_scan_num 扫描节点上限,默认值为10000,值越大精度越高,索引速度变慢。 取值范围:(0, 1000000]。 PQ类索引配置参数 centroid_num 每一段的聚类中心点数目,默认值为255。 取值范围:(0, 65535]。 fragment_num 段数,默认值为0,插件自动根据向量长度设置合适的段数。 取值范围:[0, 4096]。
  • 约束限制 扩容操作不支持修改“节点规格”。修改“节点规格”请执行变更规格操作。 扩容什么节点类型的“节点数量”和“节点存储容量”,扩容完成后只生效该节点类型的“节点数量”和“节点存储容量”,其他节点类型的“节点数量”和“节点存储容量”保持不变。 包周期集群不支持同时扩容“节点数量”和“节点存储容量”。 当集群包含的节点类型不同时,扩容的节点数量区间会有区别,具体情况请参考表1。 表1 不同节点类型的节点数量说明 集群包含的节点类型 节点数量的取值范围 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:冷数据节点
  • 注意事项 集群快照会导致CPU、磁盘IO上升等影响,建议在业务低峰期进行操作。 快照存储在OBS桶中需要额外收费,具体收费以对象存储服务为准。 如果OBS桶已经存储了快照,OBS无法变更,您可以使用这个方法修改:首先关闭快照功能,然后再开启快照功能,指定新的OBS桶。一旦关闭快照功能,之前创建的快照将无法用于恢复集群。 当集群处于“不可用”状态时,快照功能中,除了恢复快照功能外,其他快照信息或功能只能查看,无法进行编辑。 备份与恢复过程中,支持集群扩容、访问Kibana、查看监控、删除其他快照的操作。不支持重启此集群、删除此集群、删除正在创建或恢复的快照、再次创建或恢复快照的操作。补充说明,当此集群正在进行创建快照或者恢复快照时,此时,自动创建快照任务将被取消。 快照在恢复过程中不可查询集群数据。 CSS集群快照恢复到另一个集群会覆盖标集群中的同名索引,不同名的索引不会覆盖。如果两个集群的shard不一样,则同名的索引不会被覆盖。 用于恢复的目的集群版本不得低于源端集群,一般保持版本一致即可。
  • 日志信息 日志备份成功后,用户可以单击“OBS桶”,进入到OBS控制台,找到备份路径查看备份的日志信息。 图1 进入OBS 云搜索服务备份的日志信息主要包括废弃操作日志、运行日志、慢索引日志、慢查询日志。在OBS桶中的存储类型如表2所示。 表2 日志类型信息 日志名称 描述 clustername_deprecation.log 弃用操作的日志记录。 clustername_index_indexing_slowlog.log 慢索引日志。 clustername_index_search_slowlog.log 慢索引查询日志。 clustername.log Elasticsearch运行日志。 clustername_access.log 接入日志。
  • 前提条件 集群处于“可用”状态,且无正在进行的任务。 有足够的配额支持集群变更规格。 变更规格时,为了不中断业务,请确认业务数据都有副本。 在Kibana中执行命令GET _cat/indices?v,如果回显的“rep”值大于“0”,则表示有副本;如果“rep”值等于“0”,则表示没有副本,请先为集群手动创建快照再变更规格。 如果数据量比较大的情况下,更改节点规格耗时会比较长,因此,建议在业务低峰期更改节点规格,利于更快完成规格更改。
  • 约束限制 变更规格操作不支持修改“节点数量”和“节点存储容量”。增加“节点数量”和“节点存储容量”请执行扩容操作。减少“节点数量”请执行缩容操作。 如果将大规格更改为小规格,集群的处理性能将会降低,将会影响业务能力,请谨慎操作。 当集群包含多种节点类型时,一次只支持变更一种类型的节点规格,且变更完成后只生效所选类型的节点规格。 变更规格过程中,Kibana不可用。 变更规格过程中,会依次对节点进行关机,完成更改后依次开机。是一个滚动的变更过程。
  • 约束限制 扩容操作不支持修改“节点规格”。修改“节点规格”请执行变更规格操作。 扩容什么节点类型的“节点数量”和“节点存储容量”,扩容完成后只生效该节点类型的“节点数量”和“节点存储容量”,其他节点类型的“节点数量”和“节点存储容量”保持不变。 包周期集群不支持同时扩容“节点数量”和“节点存储容量”。 当集群包含的节点类型不同时,扩容的节点数量区间会有区别,具体情况请参考表1。 表1 不同节点类型的节点数量说明 集群包含的节点类型 节点数量的取值范围 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:冷数据节点
  • 约束限制 变更规格操作不支持修改“节点数量”和“节点存储容量”。增加“节点数量”和“节点存储容量”请执行扩容操作。减少“节点数量”请执行缩容操作。 如果将大规格更改为小规格,集群的处理性能将会降低,将会影响业务能力,请谨慎操作。 当集群包含多种节点类型时,一次只支持变更一种类型的节点规格,且变更完成后只生效所选类型的节点规格。 变更规格过程中,Kibana不可用。 变更规格过程中,会依次对节点进行关机,完成更改后依次开机。是一个滚动的变更过程。
  • 前提条件 集群处于“可用”状态,且无正在进行的任务。 有足够的配额支持集群变更规格。 变更规格时,为了不中断业务,请确认业务数据都有副本。 在Kibana中执行命令GET _cat/indices?v,如果回显的“rep”值大于“0”,则表示有副本;如果“rep”值等于“0”,则表示没有副本,请先为集群手动创建快照再变更规格。 如果数据量比较大的情况下,更改节点规格耗时会比较长,因此,建议在业务低峰期更改节点规格,利于更快完成规格更改。
  • 示例指导 登录云搜索服务管理控制台。 在左侧导航栏中,选择“集群管理”,进入集群列表页面。 在集群列表中,单击需要使用的集群对应“操作”列的“Kibana”。 如果开启了安全模式,需要输入创建集群时设置的管理员账户名和密码。 在Kibana的左侧导航中选择“Dev Tools”,进入Console界面。 在Console界面,执行如下命令,创建索引“stconvert”,并指定自定义映射来定义数据类型。 低于7.x版本 PUT /stconvert { "settings": { "number_of_shards": 1, "number_of_replicas": 0, "analysis": { "analyzer": { "ts_ik": { "tokenizer": "ik_smart", "char_filter": [ "tsconvert", "stconvert" ] } }, "char_filter": { "tsconvert": { "type": "stconvert", "convert_type": "t2s" }, "stconvert": { "type": "stconvert", "convert_type": "s2t" } } } }, "mappings": { "type": { "properties": { "desc": { "type": "text", "analyzer": "ts_ik" } } } } } 7.x版本及高于7.x版本 PUT /stconvert { "settings": { "number_of_shards": 1, "number_of_replicas": 0, "analysis": { "analyzer": { "ts_ik": { "tokenizer": "ik_smart", "char_filter": [ "tsconvert", "stconvert" ] } }, "char_filter": { "tsconvert": { "type": "stconvert", "convert_type": "t2s" }, "stconvert": { "type": "stconvert", "convert_type": "s2t" } } } }, "mappings": { "properties": { "desc": { "type": "text", "analyzer": "ts_ik" } } } } 返回结果如下所示。 { "acknowledged" : true, "shards_acknowledged" : true, "index" : "stconvert" } 在Console界面,执行如下命令,导入数据到“stconvert”索引中。 低于7.x版本 POST /stconvert/type/1 { "desc": "國際電視臺" } 7.x版本及高于7.x版本 POST /stconvert/_doc/1 { "desc": "國際電視臺" } 当返回结果信息中“failed”字段的值为“0”时,表示数据导入成功。 在Console界面,执行如下命令,搜索关键字“国际”,并查看搜索结果。 GET /stconvert/_search { "query": { "match": { "desc": "国际" } } } 搜索结果如下所示。 { "took" : 15, "timed_out" : false, "_shards" : { "total" : 1, "successful" : 1, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 1, "max_score" : 0.5753642, "hits" : [ { "_index" : "stconvert", "_type" : "type", "_id" : "1", "_score" : 0.5753642, "_source" : { "desc" : "國際電視臺" } } ] } }
  • 备份与恢复概述 为避免数据丢失,您可以将集群的索引数据进行备份,当数据发生丢失或者想找回某一时间段数据时,您可以通过恢复索引操作快速获得数据。索引的备份是通过创建集群快照实现。第一次备份时,建议将所有索引数据进行备份。 管理自动创建快照:自动创建快照指按照设置的规则,每天在指定时间自动创建快照。您可以开启自动创建功能、设置自动创建的策略、和关闭自动创建功能。 手动创建快照:在任意时间,您通过手动创建快照的方式,针对当时的数据或某几个索引创建快照进行备份。 恢复数据:将已有的快照,通过恢复快照功能,将备份的索引数据恢复到指定的集群中。 删除快照:对于已失效的快照,建议删除以释放存储资源。 父主题: 备份与恢复索引
共100000条