集群

Elasticsearch BES

  • 邀测版存储计算分离套餐介绍
  • 功能发布记录
  • 产品描述
    • 基本概念
    • 关键特性
    • 产品介绍
    • 产品性能
      • 4核16GB512GB通用型的3个数据节点实例基准性能指标
      • 8核16GB512GB计算型的3个数据节点实例基准性能测试
      • 16核32GB512GB计算型的3个数据节点实例基准性能指标
      • 4核8GB512GB计算型的3个数据节点实例基准性能测试
      • 8核32GB512GB通用型的3个数据节点实例基准性能指标
      • 16核64GB512GB通用型的3个数据节点实例基准性能指标
      • 概述
  • Python-SDK
    • 实例
    • 异常
    • 日志
    • 节点配置类型
    • 版本更新记录
    • 快速入门
    • 集群
    • BesClient
    • 安装SDK工具包
    • 概述
  • Kibana
    • Kibana使用指南
  • Logstash
    • Logstash使用指南
    • 实例管理
      • 实例详情信息
      • 实例扩缩容
      • 管道管理
      • 创建实例
      • 实例列表
      • 删除实例
  • 开发指南
    • Elasticsearch Restful API
    • 通过其他客户端访问Elasticsearch
    • Elasticsearch Java客户端
      • Low Level REST Client
      • Rest Client操作向量索引示例
      • Java REST Client
      • High Level REST Client
  • Java-SDK
    • 实例
    • 异常
    • 日志
    • 节点配置类型
    • 版本更新记录
    • 快速入门
    • 集群
    • BesClient
    • 安装SDK工具包
    • 概述
  • 向量检索特性
    • 资源规划
    • 关键概念
    • 应用场景
    • 快速入门
    • 算法介绍
    • 能力简介
    • 向量数据库
    • 操作指南
      • 写入和查询数据
      • 训练模型
      • 向量索引缓存管理
      • 创建索引
      • 基于Reciprocal Rank Fusion的融合查询
      • 参数优化
      • 7.4版本兼容说明
    • 最佳实践
      • 调优建议
      • BES RAG 最佳实践:基于LangChain+BES的私域知识的QA问答系统
    • 迁移方案
      • ES dense vector 切换为BES方案
  • ELK
    • 基于ELK构建日志分析系统
  • 增强特性
    • 慢查询隔离
    • 百度NLP中文分词词典动态更新
    • 百度NLP中文分词插件
    • 基于段文件的主从复制
    • 基于BOS的冷热数据分离
  • 快速入门
    • 访问Elasticsearch服务
    • 导入数据并搜索
    • 创建集群
    • 集群资源评估
  • 典型实践
    • 使用BSC将BOS中的数据导入Es
    • 使用BSC将Kafka中的数据导入Es
    • 基于CCR实现多集群跨地域高可用
    • 基于节点磁盘介质的冷热数据分离
  • 服务等级协议SLA
    • 数据迁移服务协议
    • BES服务等级协议SLA(V1.0)
  • 常见问题
    • Spark访问Es常见问题
    • Elasticsearch系统常见问题
    • 常见问题总览
  • 产品定价
    • 预付费
    • 计费说明
    • 配置变更费用说明
    • 后付费
  • API文档
    • 概述
    • 自动续费相关接口
      • 续费列表
      • 查看自动续费
      • 查看自动续费规则列表
      • 续费操作
      • 更新自动续费规则
      • 删除自动续费规则
      • 创建自动续费规则
    • 插件配置接口
      • 上传自定义插件
      • 卸载系统默认插件
      • 上传nlp词典
      • 安装系统默认插件
      • 获取默认和自定义插件列表
      • 卸载自定义插件
      • 安装自定义插件
      • 删除自定义插件
      • 查看nlp词典
    • 日志管理相关接口
      • 查看日志导出任务记录
      • 创建日志导出任务
      • 日志设置
      • 日志查询
    • 标签接口
      • 查询标签列表
      • 批量新增标签
      • 单个集群更新标签
    • 智能巡检接口
      • 查看近7天已完成的巡检任务列表
      • 近七天巡检概况
      • 查看手动巡检任务的配置
      • 集群巡检授权
      • 列举所有可选巡检项
      • 查询是否可以提交巡检任务
      • 最新一次巡检概况
      • 查看集群是否开启自动巡检
      • 修改手动巡检任务的配置
      • 开启或关闭自动巡检
      • 提交手动巡检任务
      • 查询今日已执行完成的手动巡检次数
      • 查看某巡检任务的执行状态和结果
    • 集群相关接口
      • 获取操作历史信息
      • 删除集群
      • 新增节点类型
      • 开启和关闭https
      • 查看集群详情信息
      • 重置密码
      • EIP绑定
      • EIP解绑
      • 是否开启Grafana监控
      • 获取数据量观测数据
      • 查看集群列表
      • 上传NLP分词词典
      • 创建集群
      • 智能评估
      • 集群blb信息
      • 用户可用代金券列表
      • 停止集群
      • 扩容集群
      • 启动集群
      • 重启集群
    • 实例相关接口
      • 批量停止实例
      • 启动实例
      • 查看缩容节点列表
      • 数据迁移
      • 数据迁移系统建议
      • 批量启动实例
      • 数据迁移回滚
      • 停止实例
      • 数据迁移节点列表
      • 删除实例
    • 配置修改相关接口
      • 获取同义词文件列表
      • 查看集群配置
      • 删除同义词配置文件
      • 上传同义词配置文件
      • 配置修改
    • 定时调度
      • 更新定时调度任务
      • 删除定时调度任务
      • 创建和更新定时调度任务
      • 查看定时调度任务
  • API3.0
    • 集群相关接口
      • 删除集群
  • Elasticsearch
    • 用户手册
      • YML参数配置
      • 权限管理
      • 智能巡检
      • 数据迁移
      • 基于BOS的快照与恢复
      • 集群列表
      • 账号使用说明
      • 多可用区部署
      • 定时调度
      • 数据量观测
      • 日志查询
        • 日志查询(旧)
        • 日志查询(新)
        • 日志导出
        • 查询语法
      • 集群配置
        • 配置同义词
      • 插件管理
        • 上传与安装自定义插件
        • Elasticsearch插件列表
        • 系统默认插件
          • analysis-pinyin拼音分词插件
          • IK中文分词插件与动态更新词典
          • compression-zstd插件
          • CCR插件
          • 限流插件
          • 动态同义词插件
          • 简繁体转换插件
          • ingest attachment插件
          • SQL插件
      • 配置变更
        • 节点数据迁移
        • 集群变配说明与建议
        • 集群扩缩容
      • 版本升级
        • 升级版本
        • 内核版本说明
        • 升级检查
      • 集群监控报警
        • 监控查看及指标说明
        • 配置报警
      • 集群管理
        • 集群重启
        • 变更HTTPS协议用户指南
        • 节点启停
        • 查看集群信息
        • 集群创建
        • 公网绑定
        • 修改集群名称
        • 跨可用区迁移集群
        • 集群删除
        • 集群列表
        • 自动续费
        • 密码重置
        • ES服务区域代码
      • 账户管理
        • 多用户访问控制
所有文档
menu
没有找到结果,请重新输入

Elasticsearch BES

  • 邀测版存储计算分离套餐介绍
  • 功能发布记录
  • 产品描述
    • 基本概念
    • 关键特性
    • 产品介绍
    • 产品性能
      • 4核16GB512GB通用型的3个数据节点实例基准性能指标
      • 8核16GB512GB计算型的3个数据节点实例基准性能测试
      • 16核32GB512GB计算型的3个数据节点实例基准性能指标
      • 4核8GB512GB计算型的3个数据节点实例基准性能测试
      • 8核32GB512GB通用型的3个数据节点实例基准性能指标
      • 16核64GB512GB通用型的3个数据节点实例基准性能指标
      • 概述
  • Python-SDK
    • 实例
    • 异常
    • 日志
    • 节点配置类型
    • 版本更新记录
    • 快速入门
    • 集群
    • BesClient
    • 安装SDK工具包
    • 概述
  • Kibana
    • Kibana使用指南
  • Logstash
    • Logstash使用指南
    • 实例管理
      • 实例详情信息
      • 实例扩缩容
      • 管道管理
      • 创建实例
      • 实例列表
      • 删除实例
  • 开发指南
    • Elasticsearch Restful API
    • 通过其他客户端访问Elasticsearch
    • Elasticsearch Java客户端
      • Low Level REST Client
      • Rest Client操作向量索引示例
      • Java REST Client
      • High Level REST Client
  • Java-SDK
    • 实例
    • 异常
    • 日志
    • 节点配置类型
    • 版本更新记录
    • 快速入门
    • 集群
    • BesClient
    • 安装SDK工具包
    • 概述
  • 向量检索特性
    • 资源规划
    • 关键概念
    • 应用场景
    • 快速入门
    • 算法介绍
    • 能力简介
    • 向量数据库
    • 操作指南
      • 写入和查询数据
      • 训练模型
      • 向量索引缓存管理
      • 创建索引
      • 基于Reciprocal Rank Fusion的融合查询
      • 参数优化
      • 7.4版本兼容说明
    • 最佳实践
      • 调优建议
      • BES RAG 最佳实践:基于LangChain+BES的私域知识的QA问答系统
    • 迁移方案
      • ES dense vector 切换为BES方案
  • ELK
    • 基于ELK构建日志分析系统
  • 增强特性
    • 慢查询隔离
    • 百度NLP中文分词词典动态更新
    • 百度NLP中文分词插件
    • 基于段文件的主从复制
    • 基于BOS的冷热数据分离
  • 快速入门
    • 访问Elasticsearch服务
    • 导入数据并搜索
    • 创建集群
    • 集群资源评估
  • 典型实践
    • 使用BSC将BOS中的数据导入Es
    • 使用BSC将Kafka中的数据导入Es
    • 基于CCR实现多集群跨地域高可用
    • 基于节点磁盘介质的冷热数据分离
  • 服务等级协议SLA
    • 数据迁移服务协议
    • BES服务等级协议SLA(V1.0)
  • 常见问题
    • Spark访问Es常见问题
    • Elasticsearch系统常见问题
    • 常见问题总览
  • 产品定价
    • 预付费
    • 计费说明
    • 配置变更费用说明
    • 后付费
  • API文档
    • 概述
    • 自动续费相关接口
      • 续费列表
      • 查看自动续费
      • 查看自动续费规则列表
      • 续费操作
      • 更新自动续费规则
      • 删除自动续费规则
      • 创建自动续费规则
    • 插件配置接口
      • 上传自定义插件
      • 卸载系统默认插件
      • 上传nlp词典
      • 安装系统默认插件
      • 获取默认和自定义插件列表
      • 卸载自定义插件
      • 安装自定义插件
      • 删除自定义插件
      • 查看nlp词典
    • 日志管理相关接口
      • 查看日志导出任务记录
      • 创建日志导出任务
      • 日志设置
      • 日志查询
    • 标签接口
      • 查询标签列表
      • 批量新增标签
      • 单个集群更新标签
    • 智能巡检接口
      • 查看近7天已完成的巡检任务列表
      • 近七天巡检概况
      • 查看手动巡检任务的配置
      • 集群巡检授权
      • 列举所有可选巡检项
      • 查询是否可以提交巡检任务
      • 最新一次巡检概况
      • 查看集群是否开启自动巡检
      • 修改手动巡检任务的配置
      • 开启或关闭自动巡检
      • 提交手动巡检任务
      • 查询今日已执行完成的手动巡检次数
      • 查看某巡检任务的执行状态和结果
    • 集群相关接口
      • 获取操作历史信息
      • 删除集群
      • 新增节点类型
      • 开启和关闭https
      • 查看集群详情信息
      • 重置密码
      • EIP绑定
      • EIP解绑
      • 是否开启Grafana监控
      • 获取数据量观测数据
      • 查看集群列表
      • 上传NLP分词词典
      • 创建集群
      • 智能评估
      • 集群blb信息
      • 用户可用代金券列表
      • 停止集群
      • 扩容集群
      • 启动集群
      • 重启集群
    • 实例相关接口
      • 批量停止实例
      • 启动实例
      • 查看缩容节点列表
      • 数据迁移
      • 数据迁移系统建议
      • 批量启动实例
      • 数据迁移回滚
      • 停止实例
      • 数据迁移节点列表
      • 删除实例
    • 配置修改相关接口
      • 获取同义词文件列表
      • 查看集群配置
      • 删除同义词配置文件
      • 上传同义词配置文件
      • 配置修改
    • 定时调度
      • 更新定时调度任务
      • 删除定时调度任务
      • 创建和更新定时调度任务
      • 查看定时调度任务
  • API3.0
    • 集群相关接口
      • 删除集群
  • Elasticsearch
    • 用户手册
      • YML参数配置
      • 权限管理
      • 智能巡检
      • 数据迁移
      • 基于BOS的快照与恢复
      • 集群列表
      • 账号使用说明
      • 多可用区部署
      • 定时调度
      • 数据量观测
      • 日志查询
        • 日志查询(旧)
        • 日志查询(新)
        • 日志导出
        • 查询语法
      • 集群配置
        • 配置同义词
      • 插件管理
        • 上传与安装自定义插件
        • Elasticsearch插件列表
        • 系统默认插件
          • analysis-pinyin拼音分词插件
          • IK中文分词插件与动态更新词典
          • compression-zstd插件
          • CCR插件
          • 限流插件
          • 动态同义词插件
          • 简繁体转换插件
          • ingest attachment插件
          • SQL插件
      • 配置变更
        • 节点数据迁移
        • 集群变配说明与建议
        • 集群扩缩容
      • 版本升级
        • 升级版本
        • 内核版本说明
        • 升级检查
      • 集群监控报警
        • 监控查看及指标说明
        • 配置报警
      • 集群管理
        • 集群重启
        • 变更HTTPS协议用户指南
        • 节点启停
        • 查看集群信息
        • 集群创建
        • 公网绑定
        • 修改集群名称
        • 跨可用区迁移集群
        • 集群删除
        • 集群列表
        • 自动续费
        • 密码重置
        • ES服务区域代码
      • 账户管理
        • 多用户访问控制
  • 文档中心
  • arrow
  • ElasticsearchBES
  • arrow
  • Python-SDK
  • arrow
  • 集群
本页目录
  • 创建集群(老套餐)
  • Module
  • ClusterBilling
  • response
  • OrderUuidResult
  • 创建集群(新套餐)
  • Module
  • DiskSlotInfo
  • ClusterBilling
  • response
  • OrderUuidResult
  • 创建带有专用master节点的集群
  • 集群扩容
  • response
  • OrderUuidResult
  • 集群升配
  • response
  • OrderUuidResult
  • response
  • OrderUuidResult
  • 查询集群列表
  • response
  • ListPageResponse
  • ClusterSummaryInfo
  • BesClusterBillingResponse
  • 查询集群详情
  • response
  • ClusterDetail
  • ModuleInfoResponse
  • InstanceInfoResponse
  • 停止集群
  • response
  • 启动集群
  • response
  • 删除集群
  • response
  • 续费列表
  • response
  • BesRenewListResponse
  • 续费操作
  • response
  • OrderUuidResult
  • 创建自动续费规则
  • response
  • 更新自动续费规则
  • response
  • 删除自动续费规则
  • response
  • 查看自动续费规则列表
  • response
  • BesAotuRenewListResponse

集群

更新时间:2025-08-20

创建集群(老套餐)

如下代码可以新建一个老套餐集群(不支持计算资源和存储资源分离),集群包含1个es_node节点和1个kibana节点。

Text
1def create_cluster_example(self):
2    """
3    创建集群
4    """
5    # 创建集群的名称
6    # 支持字母(a-z及A-Z)、数字(0-9),长度小于20个字符
7    name = 'your cluster name'
8    
9    # 创建集群的密码
10    # 支持小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下划线(_) ,并且至少包含其中三种, 长度6~12个字符
11    password = 'your cluster password'
12    
13    # 设置节点类型信息
14    # type表示节点的类型;es_node表示es节点、kibana表示kibana节点
15    # instance_num表示节点的数量
16    # slot_type表示资源配置类型(新旧套餐的资源配置类型,详见代码下方说明)
17    slot_type = 'calculate_v1'
18    modules = [Module(type='es_node', instance_num=1, slot_type=slot_type),
19               Module(type='kibana', instance_num=1, slot_type=slot_type)]
20    
21    # 创建集群的版本,sdk支持的版本是'7.4.2'、'6.5.3'、'5.5.0',其中创建'6.5.3'、'5.5.0'版本需要提工单进行开通
22    version = '7.4.2'
23    
24    # 设置是否为新套餐集群,True表示老套餐、False表示新套餐
25    is_old_package = True
26
27    # 设置创建集群时用的可用区(见代码下方说明)     
28    available_zone = 'available_zone'
29
30    # 设置安全组ID(见代码下方说明)
31    security_group_id = 'security_group_id'
32
33    # 设置子网ID(见代码下方说明)
34    subnet_uuid = 'subnet_uuid'
35
36    # 设置创建集群时用的VPC(见代码下方说明)
37    vpc_id = 'vpc_id'
38  
39    # 创建集群计费信息
40    # payment_type表示付费方式,'postpay'表示后付费、'prepay'表示预付费
41    # time表示购买时长,单位是月;payment_type为'postpay'时,设置为0
42    billing = Billing(payment_type='postpay', time=0)
43
44    response = client.create_cluster(name=name,
45                                     password=password,
46                                     modules=modules,
47                                     version=version,
48                                     is_old_package=is_old_package,
49                                     available_zone=available_zone,
50                                     security_group_id=security_group_id,
51                                     subnet_uuid=subnet_uuid,
52                                     vpc_id=vpc_id,
53                                     billing=billing)
54    assertEqual(type(response), baidubce.bce_response.BceResponse)
55    
56    # 输出响应
57    print(response)
58    if response.success:
59        # 执行成功
60        print(response.status)  # http响应码
61        print(response.result)  # 返回结果
62    else:
63        # 执行失败
64        print(
65            response.status,  # http响应码
66            response.code,    # 错误码
67            response.error.message  # 报错信息
68        )

请求参数说明

名称 类型 是否必须 参数描述
name str 是 集群名称
password str 是 操作ES所需的密码
modules Module数组 是 节点信息
version str 是 集群版本
is_old_package bool 是 是否为老套餐
available_zone str 是 可用区
security_group_id str 是 安全组ID
subnet_uuid str 是 子网ID
vpc_id str 是 虚拟网络ID
billing ClusterBilling 是 集群计费信息

Module

名称 类型 参数描述
type str 节点的类型;es_node表示es节点、kibana表示kibana节点
instance_num int 节点数量
slot_type str 节点数量
instance_num int 节点数量

ClusterBilling

名称 类型 参数描述
payment_type str 计费方式;postpay表示后付费、prepay表示预付费
time int 购买时长(后付费为0),单位是月

资源配置类型设置请参考节点配置类型按需创建集群

获取vpc id方式(可用区域、安全组ID、子网ID参考vpc id方式)

1.获取VPC ID(vpc_id):详见文档链接

2.获取可用区域(available_zone)、子网uuid(subnet_uuid):详见文档链接

3.获取安全组ID(security_group_id):详见文档链接

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result OrderUuidResult 订单创建成功响应订单Id

OrderUuidResult

名称 类型 参数描述
order_id str 订单ID
  1. 创建BES请求是一个异步请求,成功后返回200和订单ID表明订单生成,后续可以通过查询集群列表查看集群创建进度。 response.result结果为:{order_id:u'your order id'}

创建集群(新套餐)

如下代码可以新建一个新套餐集群(支持计算资源和存储资源分离),集群包含1个es_node节点和1个kibana节点。

Text
1def create_cluster_example(self):
2    """
3    创建集群
4    """
5    # 创建集群的名称
6    # 支持字母(a-z及A-Z)、数字(0-9),长度小于20个字符
7    name = 'your cluster name'
8    
9    # 创建集群的密码
10    # 支持小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下划线(_) ,并且至少包含其中三种, 长度6~12个字符
11    password = 'your cluster password'
12    
13    # 设置节点磁盘信息
14    # type表示磁盘类型(见代码下方说明)
15    # size表示磁盘大小,单位是G
16    disk_slot_info = DiskSlotInfo(type='premium_ssd', size=50)
17    
18    # 设置节点类型信息
19    # type表示节点的类型;es_node表示es节点、kibana表示kibana节点
20    # instance_num表示节点的数量
21    # slot_type表示资源配置类型(新旧套餐的资源配置类型,详见代码下方说明)
22    # disk_slot_info表示磁盘信息
23    modules = [Module(type='es_node', instance_num=1, slot_type='bes.g3.c2m8', disk_slot_info=disk_slot_info),
24               Module(type='kibana', instance_num=1, slot_type='bes.c3.c1m2')]
25    
26    # 创建集群的版本,sdk支持的版本是'7.4.2'(低于该版本的es集群不支持新套餐)
27    version = '7.4.2'
28    
29    # 设置是否为新套餐集群,True表示老套餐、False表示新套餐
30    is_old_package = False
31
32    # 设置创建集群时用的可用区(见代码下方说明)     
33    available_zone = 'available_zone'
34
35    # 设置安全组ID(见代码下方说明)
36    security_group_id = 'security_group_id'
37
38    # 设置子网ID(见代码下方说明)
39    subnet_uuid = 'subnet_uuid'
40
41    # 设置创建集群时用的VPC(见代码下方说明)
42    vpc_id = 'vpc_id'
43  
44    # 创建集群计费信息
45    # payment_type表示付费方式,'postpay'表示后付费、'prepay'表示预付费
46    # time表示购买时长,单位是月;payment_type为'postpay'时,设置为0
47    billing = Billing(payment_type='postpay', time=0)
48
49    response = client.create_cluster(name=name,
50                                     password=password,
51                                     modules=modules,
52                                     version=version,
53                                     is_old_package=is_old_package,
54                                     available_zone=available_zone,
55                                     security_group_id=security_group_id,
56                                     subnet_uuid=subnet_uuid,
57                                     vpc_id=vpc_id,
58                                     billing=billing)
59    assertEqual(type(response), baidubce.bce_response.BceResponse)
60    
61    # 输出响应
62    print(response)
63    if response.success:
64        # 执行成功
65        print(response.status)  # http响应码
66        print(response.result)  # 返回结果
67    else:
68        # 执行失败
69        print(
70            response.status,  # http响应码
71            response.code,    # 错误码
72            response.error.message  # 报错信息
73        )

请求参数说明

名称 类型 是否必须 参数描述
name str 是 集群名称
password str 是 操作ES所需的密码
modules Module数组 是 节点信息
version str 是 集群版本
is_old_package bool 是 是否为老套餐
available_zone str 是 可用区
security_group_id str 是 安全组ID
subnet_uuid str 是 子网ID
vpc_id str 是 虚拟网络ID
billing ClusterBilling 是 集群计费信息

Module

名称 类型 参数描述
type str 节点的类型;es_node表示es节点、kibana表示kibana节点
instance_num int 节点数量
slot_type str 表示资源配置类型
disk_slot_info DiskSlotInfo 磁盘信息

DiskSlotInfo

名称 类型 参数描述
type str 磁盘类型;ssd表示高效云盘、premium_ssd表示ssd云盘
size int 磁盘大小,单位G

ClusterBilling

名称 类型 参数描述
payment_type str 计费方式;postpay表示后付费、prepay表示预付费
time int 购买时长(后付费为0),单位是月

资源配置类型设置请参考节点配置类型按需创建集群

获取vpc id方式(可用区域、安全组ID、子网ID参考vpc id方式)

1.获取VPC ID(vpc_id):详见文档链接

2.获取可用区域(available_zone)、子网uuid(subnet_uuid):详见文档链接

3.获取安全组ID(security_group_id):详见文档链接

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result OrderUuidResult 订单创建成功响应订单Id

OrderUuidResult

名称 类型 参数描述
order_id str 订单ID
  1. 创建BES请求是一个异步请求,成功后返回200和订单ID表明订单生成,后续可以通过查询集群列表查看集群创建进度。 response.result结果为:{order_id:u'your order id'}

创建带有专用master节点的集群

如下代码创建的集群包含:1个es_node节点、1个kibana节点和3个专用master节点(注意:只有新套餐集群支持创建专用master节点)。

Text
1def create_cluster_example(self):
2    """
3    创建集群
4    """
5    # 创建集群的名称
6    # 支持字母(a-z及A-Z)、数字(0-9),长度小于20个字符
7    name = 'your cluster name'
8    
9    # 创建集群的密码
10    # 支持小写字母(a-z)、大写字母(A-Z)、数字(0-9)、下划线(_) ,并且至少包含其中三种, 长度6~12个字符
11    password = 'your cluster password'
12    
13    # 设置专用master节点磁盘信息
14    # size表示磁盘大小,单位是G
15    # 专用master节点的磁盘类型需设置为premium_ssd,固定不变
16    # 专用master节点的磁盘大小需设置为20G,固定不变
17    dedicated_master_disk_slot_info = DiskSlotInfo(type='premium_ssd', size=20)
18
19    # 设置节点磁盘信息(非专用master节点)
20    # type表示磁盘类型(见代码下方说明)
21    # size表示磁盘大小,单位是G
22    disk_slot_info = DiskSlotInfo(type='premium_ssd', size=50)
23    
24    # 设置节点类型信息
25    # type表示节点的类型;es_node表示es节点、kibana表示kibana节点、es_dedicated_master表示专用master节点
26    # instance_num表示节点的数量(专用master节点的数量只能设置为3或者5)
27    # slot_type表示资源配置类型(新旧套餐、专用master节点的资源配置类型,详见代码下方说明)
28    # disk_slot_info表示磁盘信息
29    modules = [Module(type='es_node', instance_num=1, slot_type='bes.g3.c2m8', disk_slot_info=disk_slot_info),
30               Module(type='kibana', instance_num=1, slot_type='bes.c3.c1m2'),
31               Module(type='es_dedicated_master', instance_num=3, slot_type='bes.g3.c2m8',
32                                                        disk_slot_info=dedicated_master_disk_slot_info)]
33    
34    # 创建集群的版本,sdk支持的版本是'7.4.2'(低于该版本的es集群不支持新套餐)
35    # 只有新套餐集群支持专用master节点的创建
36    version = '7.4.2'
37    
38    # 设置是否为新套餐集群,True表示老套餐、False表示新套餐
39    is_old_package = False
40
41    # 设置创建集群时用的可用区(见代码下方说明)     
42    available_zone = 'available_zone'
43
44    # 设置安全组ID(见代码下方说明)
45    security_group_id = 'security_group_id'
46
47    # 设置子网ID(见代码下方说明)
48    subnet_uuid = 'subnet_uuid'
49
50    # 设置创建集群时用的VPC(见代码下方说明)
51    vpc_id = 'vpc_id'
52  
53    # 创建集群计费信息
54    # payment_type表示付费方式,'postpay'表示后付费、'prepay'表示预付费
55    # time表示购买时长,单位是月;payment_type为'postpay'时,设置为0
56    billing = Billing(payment_type='postpay', time=0)
57
58    response = client.create_cluster(name=name,
59                                     password=password,
60                                     modules=modules,
61                                     version=version,
62                                     is_old_package=is_old_package,
63                                     available_zone=available_zone,
64                                     security_group_id=security_group_id,
65                                     subnet_uuid=subnet_uuid,
66                                     vpc_id=vpc_id,
67                                     billing=billing)
68    assertEqual(type(response), baidubce.bce_response.BceResponse)
69    
70    # 输出响应
71    print(response)
72    if response.success:
73        # 执行成功
74        print(response.status)  # http响应码
75        print(response.result)  # 返回结果
76    else:
77        # 执行失败
78        print(
79            response.status,  # http响应码
80            response.code,    # 错误码
81            response.error.message  # 报错信息
82        )

请求参数说明

详见上一小节,创建集群(新套餐)

专用master节点资源配置类型设置,请参考节点配置类型按需创建

返回结果说明

详见上一小节,创建集群(新套餐)

集群扩容

支持对BES集群扩容操作(Kibana节点不支持扩容),具体可参考以下代码。

Text
1def resize_cluster_example(self):
2
3    # 指定集群的名称
4    name = 'your cluster name'
5    
6    # 指定付费方式,'postpay'表示后付费、'prepay'表示预付费
7    payment_type = 'postpay'
8    
9    # 指定集群id
10    cluster_id = 'your cluster id'
11    
12    # 集群版本
13    version = '7.4.2'
14
15    # 扩容信息
16    # 设置实例类型type='es_node' 节点配置类型 slot_type = 'calculate_v1',扩容节点数量 desire_instance_num=2 
17    modules_resize = [
18        Module(type='es_node', slot_type='calculate_v1', version=version, desire_instance_num=2)]
19
20    # 区域    
21    region = 'bj'
22    response = client.resize_cluster(name=name,
23                                     payment_type=payment_type,
24                                     cluster_id=cluster_id,
25                                     region=region,
26                                     modules=modules_resize)
27    assertEqual(type(response), baidubce.bce_response.BceResponse)
28    if response.success:
29        print(response.status)  # http响应码
30        print(response.result)  # 返回结果
31    else:
32        print(
33            response.status,  # http响应码
34            response.code,  # 错误码
35            response.error.message  # 报错信息
36        )

请求参数说明

名称 类型 是否必须 参数描述
name str 是 集群名称
payment_type str 是 计费方式;postpay表示后付费、prepay表示预付费
cluster_id str 是 集群ID
region str 是 地域
modules Module数组 是 节点扩容信息

Module

名称 类型 是否必须 参数描述
desire_instance_num int 是 节点数量
slot_type str 是 资源配置类型
type str 是 节点的类型;es_node表示es节点、kibana表示kibana节点
version str 是 集群版本

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result OrderUuidResult 订单创建成功响应订单Id

OrderUuidResult

同上

  1. 扩容BES请求是一个异步请求,成功后返回200和订单ID表明扩容订单生成。 response.result结果为:{order_id:u'your order id'}

集群升配

支持对BES集群升配操作,具体可参考以下代码。

说明: 只有新套餐支持升配操作;ES节点、Kibana节点不能同时升配;节点配置类型和磁盘大小不能同时升配; 同一个集群一次升配操作完成后,才能进行下一次升配操作。

Text
1# 例子:升级ES节点配置类型
2def upgrade_es_slot_type_example(self):
3
4    # 指定集群的名称
5    name = 'your cluster name'
6
7    # 指定付费方式,'postpay'表示后付费、'prepay'表示预付费
8    payment_type = 'postpay'
9
10    # 指定集群id
11    cluster_id = 'your cluster id'
12
13    # 集群版本
14    version = '7.4.2'
15
16    # 升配信息
17    # 实例类型type='es_node' 
18    # 目标节点配置类型(高于当前操作集群配置类型) slot_type = 'bes.g3.c4m16' 
19    # 节点数量(与当前操作集群保持一致) desire_instance_num=2
20    modules_upgrade_es = [
21        Module(type='es_node', slot_type='bes.g3.c4m16', version=version, desire_instance_num=2)]
22
23    # 区域
24    region = 'bj'
25    response = client.resize_cluster(name=name,
26                                     payment_type=payment_type,
27                                     cluster_id=cluster_id,
28                                     region=region,
29                                     modules=modules_upgrade_es)
30    assertEqual(type(response), baidubce.bce_response.BceResponse)
31    if response.success:
32        print(response.status)  # http响应码
33        print(response.result)  # 返回结果
34    else:
35        print(
36            response.status,  # http响应码
37            response.code,  # 错误码
38            response.error.message  # 报错信息
39        )

请求参数说明

名称 类型 是否必须 参数描述
name str 是 集群名称
payment_type str 是 计费方式;postpay表示后付费、prepay表示预付费
cluster_id str 是 集群ID
region str 是 地域
modules Module数组 是 节点升配信息

Module

名称 类型 是否必须 参数描述
desire_instance_num int 是 节点数量
slot_type str 是 目标节点配置类型
type str 是 节点的类型;es_node表示es节点、kibana表示kibana节点
version str 是 集群版本

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result OrderUuidResult 订单创建成功响应订单Id

OrderUuidResult

同上

  1. BES升配请求是一个异步请求,成功后返回200和订单ID表明升配订单生成。 response.result结果为:{order_id:u'your order id'}
Text
1# 例子:升级ES磁盘容量
2def upgrade_es_disk_size_example(self):
3
4    # 指定集群的名称
5    name = 'your cluster name'
6
7    # 指定付费方式,'postpay'表示后付费、'prepay'表示预付费
8    payment_type = 'postpay'
9
10    # 指定集群id
11    cluster_id = 'your cluster id'
12
13    # 集群版本
14    version = '7.4.2'
15
16    # 升配信息
17    # 磁盘类型type(升配不能修改磁盘类型,与当前操作集群保持一致)
18    # 目标磁盘大小size(大于当前操作集群的磁盘大小配置)
19    # 由于磁盘扩容技术升级,对于2021年3月19日0点之后创建的集群,支持磁盘在线热扩容,之前的集群暂不支持磁盘扩容。
20    upgrade_disk_slot_Info = DiskSlotInfo( type="ssd", size=51 )
21    
22    # 实例类型type='es_node' 
23    # 节点配置类型(与当前操作集群保持一致)slot_type = 'bes.g3.c4m16'
24    # 节点数量(与当前操作集群保持一致)desire_instance_num=2,
25    modules_upgrade_es = [
26        Module(type='es_node', slot_type='bes.g3.c4m16', version=version, 
27        desire_instance_num=2, disk_slot_info=upgrade_disk_slot_Info)]
28
29    # 区域
30    region = 'bj'
31    response = client.resize_cluster(name=name,
32                                     payment_type=payment_type,
33                                     cluster_id=cluster_id,
34                                     region=region,
35                                     modules=modules_upgrade_es)
36    assertEqual(type(response), baidubce.bce_response.BceResponse)
37    if response.success:
38        print(response.status)  # http响应码
39        print(response.result)  # 返回结果
40    else:
41        print(
42            response.status,  # http响应码
43            response.code,  # 错误码
44            response.error.message  # 报错信息
45        )

请求参数说明

名称 类型 是否必须 参数描述
name str 是 集群名称
payment_type str 是 计费方式;postpay表示后付费、prepay表示预付费
cluster_id str 是 集群ID
region str 是 地域
modules Module数组 是 节点升配信息

Module

名称 类型 是否必须 参数描述
desire_instance_num int 是 节点数量
slot_type str 是 资源配置类型
type str 是 节点的类型;es_node表示es节点、kibana表示kibana节点
version str 是 集群版本
disk_slot_info DiskSlotInfo 磁盘信息

DiskSlotInfo

名称 类型 参数描述
type str 磁盘类型;ssd表示高效云盘、premium_ssd表示ssd云盘
size int 磁盘大小,单位G

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result OrderUuidResult 订单创建成功响应订单Id

OrderUuidResult

同上

  1. BES升配请求是一个异步请求,成功后返回200和订单ID表明升配订单生成。 response.result结果为:{order_id:u'your order id'}

查询集群列表

如下代码可以罗列出属于请求调用者的所有集群。

Text
1def get_cluster_list_example(self):
2    response = client.get_cluster_list(page_no=1, page_size=100)
3    assertEqual(type(response), baidubce.bce_response.BceResponse)
4    page = response.page
5    if page is None:
6        return
7    for cluster in (page.result or []):
8        print(cluster.cluster_id)

请求参数说明

名称 类型 是否必须 参数描述
page_no int 是 页数
page_size int 是 页大小

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
page ListPageResponse 集群信息列表

ListPageResponse

名称 类型 参数描述
page_no int 页数
page_size int 页大小
total_count int 集群个数
result ClusterSummaryInfo数组 集群信息

ClusterSummaryInfo

名称 类型 参数描述
cluster_id str 集群Id
cluster_name str 集群名称
create_time str 创建时间
actual_status str 实际状态
running_time str 运行时长
billing BesClusterBillingResponse 集群计费信息

actual_status取值说明:

取值 说明
Initializing 正在创建
Deleting 删除中
Stopping 正在停止
Running 运行中
Starting 正在启动
Stopped 已停止
Deleted 删除中
Unknown 异常状态

BesClusterBillingResponse

名称 类型 参数描述
payment_type str 支付方式

查询集群详情

使用以下代码可以查询指定BES集群的详细信息。

Text
1def get_cluster_detail_example(self):
2    cluster_id = 'your cluster id'
3    response = client.get_cluster_detail(cluster_id=cluster_id)
4    assertEqual(type(response), baidubce.bce_response.BceResponse)
5    print(response)

请求参数说明

名称 类型 是否必须 参数描述
cluster_id str 是 集群Id

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result ClusterDetail 集群详细信息

ClusterDetail

名称 类型 参数描述
cluster_id str 集群Id
cluster_name str 集群名称
admin_username str 管理员名称
desire_status str 设备状态
status str 实际状态
es_url str ES服务器访问路径
kibana_url str Kibana服务器访问路径
es_eip str ES公网访问IP
kibana_eip str Kibana公网访问IP
modules ModuleInfoResponse 数组 节点信息列表
instances InstanceInfoResponse 数组 节点实例列表
expire_time str 终止时间
region str 所属地区
vpc str 虚拟网卡
subnet str 子网
available_zone str 可用区
security_group str 安全组
billing BesClusterBillingResponse 集群计费信息

ClusterDetail.status 取值同 ClusterSummaryInfo.actual_status;

ModuleInfoResponse

名称 类型 参数描述
type str type表示节点的类型;es_node表示es节点、kibana表示kibana节点
version str 集群版本
slot_type str 资源配置类型
slot_description str 资源配置类型描述
actual_instance_num int 实例数量

InstanceInfoResponse

名称 类型 参数描述
instance_id str 节点实例Id
status str 节点实例状态
module_type str 表示节点的类型;es_node表示es节点、kibana表示kibana节点
module_version str 节点实例所属集群版本
host_ip str 主机Ip

InstanceInfoResponse.status 取值同 ClusterSummaryInfo.actual_status;

停止集群

使用以下代码可以停止集群。

Text
1def stop_cluster_example(self):
2    cluster_id = 'your cluster id'
3    response = client.stop_cluster(cluster_id=cluster_id)
4    if response.success:
5        # 执行成功
6        print(response.status)  # http响应码
7    else:
8        # 执行失败
9        print(
10            response.status,  # http响应码
11            response.code,    # 错误码
12            response.error.message  # 报错信息
13        )

请求参数说明

名称 类型 是否必须 参数描述
cluster_id str 是 集群Id

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result str 常量字符串

启动集群

使用以下代码可以启动集群。

Text
1def start_cluster_example(self):
2    cluster_id = 'your cluster id'
3    response = client.start_cluster(cluster_id=cluster_id)
4    if response.success:
5        # 执行成功
6        print(response.status)  # http响应码
7    else:
8        # 执行失败
9        print(
10            response.status,  # http响应码
11            response.code,    # 错误码
12            response.error.message  # 报错信息
13        ) 

请求参数说明

名称 类型 是否必须 参数描述
cluster_id str 是 集群Id

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result str 常量字符串

删除集群

使用以下代码可以删除一个ES集群。

Text
1def delete_cluster_example(self):
2    cluster_id = 'your cluster id'
3    response = client.delete_cluster(cluster_id=cluster_id) 
4    if response.success:
5        # 执行成功
6        print(response.status)  # http响应码
7    else:
8        # 执行失败
9        print(
10            response.status,  # http响应码
11            response.code,    # 错误码
12            response.error.message  # 报错信息
13        )

请求参数说明

名称 类型 是否必须 参数描述
cluster_id str 是 集群Id

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result str 常量字符串

续费列表

使用以下代码查询续费列表。

Text
1def get_renew_list_example(self):
2    # 页数 
3    page_no=1
4    # 页大小
5    page_size=2
6    # 排序规则:desc降序、asc升序
7    order='desc'
8    # 排序字段
9    order_by='expireTime'
10    # 多少天内过期(与当前时间比较)
11    days_to_expiration=70
12
13    response = client.get_renew_list(page_no=1,
14                                     page_size=2,
15                                     order='desc',
16                                     order_by='expireTime',
17                                     days_to_expiration=70)
18    assertEqual(type(response), baidubce.bce_response.BceResponse)
19    print(response)
20    page = response.page
21    if page is None:
22        return
23    for cluster in (page.result or []):
24        print('cluster.cluster_id:' + cluster.cluster_id)

请求参数说明

名称 类型 是否必须 参数描述
order str 是 排序规则
order_by str 是 排序字段
page_no int 是 页数
page_size int 是 页大小
days_to_expiration int 是 与当前时间比较,还有多少天过期,-1为不限制

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
page BesRenewListResponse 集群列表

BesRenewListResponse

名称 类型 参数描述
cluster_id str 集群ID
cluster_name str 集群名称
region str 区域
expired_time str 到期时间
cluster_status str 集群状态

BesRenewListResponse.cluster_status 取值同 ClusterSummaryInfo.actual_status;

续费操作

使用以下代码进行续费操作。

Text
1def renew_cluster_example(self):
2    cluster_id = 'your cluster id'
3    # 续费时长,单位:月
4    time = 1
5    response = client.renew_cluster(cluster_id=cluster_id, time=time)
6    print(response)

请求参数说明

名称 类型 是否必须 参数描述
cluster_id str 是 集群ID
time int 是 续费时长,单位:月

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result OrderUuidResult 订单创建成功响应订单Id

OrderUuidResult

名称 类型 参数描述
order_id str 订单ID

创建自动续费规则

使用以下代码创建自动续费规则。

Text
1def create_auto_renew_rule_example(self):
2    cluster_id = 'cluster_id'
3    cluster_ids = [cluster_id]
4    user_id = 'user_id'
5    renew_time_unit = 'month'
6    renew_time = 2
7    region = 'bj'
8    response = client.create_auto_renew_rule(cluster_ids=cluster_ids, user_id=user_id, region=region,
9                                                  renew_time_unit=renew_time_unit, renew_time=renew_time)
10    assertEqual(type(response), baidubce.bce_response.BceResponse)
11    print(response)

请求参数说明

名称 类型 是否必须 参数描述
cluster_ids str数组 是 集群ID数组
user_id str 是 用户ID
region str 是 区域;详见BesClient说明页
renew_time_unit str 是 续费时间单位 支持month,year
renew_time int 是 续费时长

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result str 常量字符串

更新自动续费规则

使用以下代码更新自动续费规则。

Text
1def update_auto_renew_rule_example(self):
2    cluster_id = 'cluster_id'
3    renew_time_unit = 'month'
4    renew_time = 3
5    response = client.update_auto_renew_rule(cluster_id=cluster_id,
6                                             renew_time_unit=renew_time_unit,
7                                             renew_time=renew_time)
8    assertEqual(type(response), baidubce.bce_response.BceResponse)
9    print(response)

请求参数说明

名称 类型 是否必须 参数描述
cluster_id str 是 集群ID
renew_time_unit str 是 续费时间单位 支持month,year
renew_time int 是 续费时长

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result str 常量字符串

删除自动续费规则

使用以下代码删除自动续费规则。

Text
1def delete_auto_renew_rule_example(self):
2    cluster_id = 'cluster_id'
3    response = client.delete_auto_renew_rule(cluster_id=cluster_id)
4    assertEqual(type(response), baidubce.bce_response.BceResponse)
5    print(response)

请求参数说明

名称 类型 是否必须 参数描述
cluster_id str 是 集群ID
renew_time_unit str 是 续费时间单位 支持month,year
renew_time int 是 续费时长

返回结果说明

response

名称 类型 参数描述
success bool 操作是否成功
status int 状态码
result str 常量字符串

查看自动续费规则列表

使用以下代码查询自动续费规则列表。

Text
1def get_auto_renew_rule_list_example(self):
2    response = client.get_auto_renew_rule_list()
3    assertEqual(type(response), baidubce.bce_response.BceResponse)
4    print(response)

请求参数说明

使用创建client的Ak、SK对应的账户进行查询,不需要显示传递参数

返回结果说明

response

名称 类型 参数描述
success boolean 操作是否成功
status int 状态码
result BesAotuRenewListResponse数组 续费信息列表

BesAotuRenewListResponse

名称 类型 参数描述
uuid str 续费规则的ID
user_id str 用户ID
cluster_id str 集群信息
region str 区域
renew_time_unit str 续费时间单位 支持month,year
renew_time int 续费时长
create_time str 创建时间
update_time str 修改时间

上一篇
快速入门
下一篇
BesClient