集群
创建集群(老套餐)
如下代码可以新建一个集群,集群包含1个es_node节点和1个kibana节点。
public void createCluster(BesClient client) {
// 构建集群的请求体
BesCreateClusterRequest createOrderRequestVo = new BesCreateClusterRequest();
// 创建节点类型模板
BesCreateClusterRequest.ModuleInfo dataNodeModuleInfo = new BesCreateClusterRequest.ModuleInfo();
// 创建节点类型模板
BesCreateClusterRequest.ModuleInfo kibanaNodeModuleInfo2 = new BesCreateClusterRequest.ModuleInfo();
List<BesCreateClusterRequest.ModuleInfo> moduleInfoList = new ArrayList<BesCreateClusterRequest.ModuleInfo>();
// 创建集群的付费方式
BesCreateClusterRequest.ClusterBilling clusterBilling = new BesCreateClusterRequest.ClusterBilling();
// 设置创建集群的名称
createOrderRequestVo.setName({clusterName});
// 设置创建集群的密码
createOrderRequestVo.setPassword({passwrod});
// 设置集群所配置的节点类型
dataNodeModuleInfo.setType(ModuleType.ES_NODE);
// 设置该节点类型的节点数量
dataNodeModuleInfo.setInstanceNum(1);
// 设置es节点的机型(新老节点配置见代码下方说明)
dataNodeModuleInfo.setSlotType(SlotType.CALCULATE_V1);
// 设置集群所配置的节点类型
kibanaNodeModuleInfo.setType(ModuleType.KIBANA);
// 设置该节点类型的节点数量 (必须创建1个kibana节点)
kibanaNodeModuleInfo.setInstanceNum(1);
// 指定kibana节点的机型 老套餐是免费附赠的 值必须和ES节点配置相同 (新老节点配置见代码下方说明)
kibanaNodeModuleInfo.setSlotType(SlotType.CALCULATE_V1);
moduleInfoList.add(dataNodeModuleInfo);
moduleInfoList.add(kibanaNodeModuleInfo);
// 设置集群的付费方式为预付费 (后付费为POSTPAY)
clusterBilling.setPaymentType(PaymentType.PREPAY);
// 设置创建集群的时长 (后付费为0)
clusterBilling.setTime(1);
createOrderRequestVo.setModules(moduleInfoList);
createOrderRequestVo.setBilling(clusterBilling);
// 设置集群版本 (sdk支持的版本是'7.4.2'、'6.5.3'、'5.5.0',其中创建'6.5.3'、'5.5.0'版本需要提工单进行开通)
createOrderRequestVo.setVersion("7.4.2");
// 设置创建集群时用的可用区 (见代码下方说明)
createOrderRequestVo.setAvailableZone({可用区名称});
// 设置创建集群时用的安全组 (见代码下方说明)
createOrderRequestVo.setSecurityGroupId({安全组ID});
// 设置创建集群时用的子网(见代码下方说明)
createOrderRequestVo.setSubnetUuid({子网ID});
// 设置创建集群时用的VPC(见代码下方说明)
createOrderRequestVo.setVpcId({VpcId});
// 是否是老套餐
createOrderRequestVo.setOldPackage(true);
BesCreateClusterResponse deploy = besClient.createCluster(createOrderRequestVo);
}
创建集群(新套餐)
如下代码可以新建一个集群,集群包含1个es_node节点和1个kibana节点。
public void createCluster(BesClient client) {
// 构建集群的请求体
BesCreateClusterRequest createOrderRequestVo = new BesCreateClusterRequest();
// 创建节点类型模板
BesCreateClusterRequest.dataNodeModuleInfo moduleInfo = new BesCreateClusterRequest.ModuleInfo();
BesCreateClusterRequest.ModuleInfo KibanaNodeModuleInfo = new BesCreateClusterRequest.ModuleInfo();
List<BesCreateClusterRequest.ModuleInfo> moduleInfoList = new ArrayList<BesCreateClusterRequest.ModuleInfo>();
// 创建集群的付费方式
BesCreateClusterRequest.ClusterBilling clusterBilling = new BesCreateClusterRequest.ClusterBilling();
// 设置创建集群的名称
createOrderRequestVo.setName({clusterName});
// 设置创建集群的密码
createOrderRequestVo.setPassword({passwrod});
// 设置集群所配置的节点类型
dataNodeModuleInfo.setType(ModuleType.ES_NODE);
// 设置该节点类型的节点数量
dataNodeModuleInfo.setInstanceNum(1);
// 设置es节点的机型
dataNodeModuleInfo.setSlotType(SlotType.BES_C3_CPU_2_MEM_4);
// 磁盘信息(新版套餐磁盘需要单独指定大小)
DiskSlotInfo dataNodeDiskSlotInfo = new DiskSlotInfo();
// 磁盘大小 单位G 最小为50G premium_ssd最大为6144G ssd最大为20480G
dataNodeDiskSlotInfo.setSize(50);
// 磁盘类型 (现支持PREMIUM_SSD和SSD两种磁盘类型)
dataNodeDiskSlotInfo.setType(DiskType.PREMIUM_SSD);
// 设置磁盘信息
dataNodeModuleInfo.setDiskSlotInfo(dataNodeDiskSlotInfo);
// 设置集群所配置的节点类型
kibanaNodeModuleInfo.setType(ModuleType.KIBANA);
// 设置该节点类型的节点数量 (必须创建1个kibana节点)
kibanaNodeModuleInfo.setInstanceNum(1);
// 指定kibana节点的机型 新套餐中bes.c3.c1m2为免费节点 (新老节点配置见代码下方说明)
kibanaNodeModuleInfo.setSlotType(SlotType.KIBANA_C3_CPU_1_MEM_2);
moduleInfoList.add(dataNodeModuleInfo);
moduleInfoList.add(kibanaNodeModuleInfo);
// 设置集群的付费方式为预付费 (后付费为POSTPAY)
clusterBilling.setPaymentType(PaymentType.PREPAY);
// 设置创建集群的时长 (后付费为0)
clusterBilling.setTime(1);
createOrderRequestVo.setModules(moduleInfoList);
createOrderRequestVo.setBilling(clusterBilling);
// 设置集群版本 (新套餐只支持7.4.2)
createOrderRequestVo.setVersion("7.4.2");
// 设置创建集群时用的可用区 (见代码下方说明)
createOrderRequestVo.setAvailableZone({可用区名称});
// 设置创建集群时用的安全组 (见代码下方说明)
createOrderRequestVo.setSecurityGroupId({安全组ID});
// 设置创建集群时用的子网(见代码下方说明)
createOrderRequestVo.setSubnetUuid({子网ID});
// 设置创建集群时用的VPC(见代码下方说明)
createOrderRequestVo.setVpcId({VpcId});
// 是否是老套餐
createOrderRequestVo.setOldPackage(false);
BesCreateClusterResponse deploy = besClient.createCluster(createOrderRequestVo);
}
创建带有专用master节点的集群
如下代码可以新建一个集群,集群包含1个es_node节点和1个kibana节点和3个专用master节点。
public void createCluster(BesClient client) {
// 构建集群的请求体
BesCreateClusterRequest createOrderRequestVo = new BesCreateClusterRequest();
// 创建节点类型模板
BesCreateClusterRequest.dataNodeModuleInfo moduleInfo = new BesCreateClusterRequest.ModuleInfo();
BesCreateClusterRequest.ModuleInfo KibanaNodeModuleInfo = new BesCreateClusterRequest.ModuleInfo();
BesCreateClusterRequest.ModuleInfo masterNodeModuleInfo = new BesCreateClusterRequest.ModuleInfo();
List<BesCreateClusterRequest.ModuleInfo> moduleInfoList = new ArrayList<BesCreateClusterRequest.ModuleInfo>();
// 创建集群的付费方式
BesCreateClusterRequest.ClusterBilling clusterBilling = new BesCreateClusterRequest.ClusterBilling();
// 设置创建集群的名称
createOrderRequestVo.setName({clusterName});
// 设置创建集群的密码
createOrderRequestVo.setPassword({passwrod});
// 设置集群所配置的节点类型
dataNodeModuleInfo.setType(ModuleType.ES_NODE);
// 设置该节点类型的节点数量
dataNodeModuleInfo.setInstanceNum(1);
// 设置es节点的机型
dataNodeModuleInfo.setSlotType(SlotType.BES_C3_CPU_2_MEM_4);
// 磁盘信息(新版套餐磁盘需要单独指定大小)
DiskSlotInfo dataNodeDiskSlotInfo = new DiskSlotInfo();
// 磁盘大小 单位G 最小为50G premium_ssd最大为6144G ssd最大为20480G
dataNodeDiskSlotInfo.setSize(50);
// 磁盘类型 (现支持PREMIUM_SSD和SSD两种磁盘类型)
dataNodeDiskSlotInfo.setType(DiskType.PREMIUM_SSD);
// 设置磁盘信息
dataNodeModuleInfo.setDiskSlotInfo(dataNodeDiskSlotInfo);
// 设置集群所配置的节点类型
kibanaNodeModuleInfo.setType(ModuleType.KIBANA);
// 设置该节点类型的节点数量 (必须创建1个kibana节点)
kibanaNodeModuleInfo.setInstanceNum(1);
// 指定kibana节点的机型 新套餐中bes.c3.c1m2为免费节点 (新老节点配置见代码下方说明)
kibanaNodeModuleInfo.setSlotType(SlotType.KIBANA_C3_CPU_1_MEM_2);
// 设置集群所配置的节点类型
masterNodeModuleInfo.setType(ModuleType.ES_DEDICATED_MASTER);
// 设置该节点类型的节点数量 (必须3或5节点)
masterNodeModuleInfo.setInstanceNum(3);
// 设置专用master节点的机型(专用master节点配置见代码下方说明)
masterNodeModuleInfo.setSlotType(SlotType.BES_G3_CPU_2_MEM_8);
// 磁盘信息
DiskSlotInfo masterNodeDiskSlotInfo = new DiskSlotInfo();
// 磁盘大小(master节点固定20g)
masterNodeDiskSlotInfo.setSize(20);
// 磁盘类型(master节点类型固定为PREMIUM_SSD)
masterNodeDiskSlotInfo.setType(DiskType.PREMIUM_SSD);
masterNodeDiskSlotInfo.setDiskSlotInfo(masterNodeDiskSlotInfo);
moduleInfoList.add(dataNodeModuleInfo);
moduleInfoList.add(kibanaNodeModuleInfo);
moduleInfoList.add(masterNodeModuleInfo);
// 设置集群的付费方式为预付费 (后付费为POSTPAY)
clusterBilling.setPaymentType(PaymentType.PREPAY);
// 设置创建集群的时长 (后付费为0)
clusterBilling.setTime(1);
createOrderRequestVo.setModules(moduleInfoList);
createOrderRequestVo.setBilling(clusterBilling);
// 设置集群版本 (新套餐只支持7.4.2)
createOrderRequestVo.setVersion("7.4.2");
// 设置创建集群时用的可用区 (见代码下方说明)
createOrderRequestVo.setAvailableZone({可用区名称});
// 设置创建集群时用的安全组 (见代码下方说明)
createOrderRequestVo.setSecurityGroupId({安全组ID});
// 设置创建集群时用的子网(见代码下方说明)
createOrderRequestVo.setSubnetUuid({子网ID});
// 设置创建集群时用的VPC(见代码下方说明)
createOrderRequestVo.setVpcId({VpcId});
// 是否是老套餐(带有专有master的集群必须为新套餐)
createOrderRequestVo.setOldPackage(false);
BesCreateClusterResponse deploy = besClient.createCluster(createOrderRequestVo);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
name | String | 是 | 集群名称 |
password | String | 是 | 操作ES所需的密码 |
modules | List |
是 | 节点信息 |
version | String | 是 | 集群版本 |
availableZone | String | 是 | 可用区 |
securityGroupId | String | 是 | 安全组ID |
subnetUuid | String | 是 | 子网ID |
vpcId | String | 是 | 虚拟网络ID |
isOldPackage | boolean | 是 | 区分新老套餐 (true表示老套餐、false表示新套餐) |
billing | ClusterBilling | 是 | 集群计费信息 |
Module
名称 | 类型 | 参数描述 |
---|---|---|
type | ModuleType | 节点的类型 |
instanceNum | Int | 节点数量 |
slotType | SlotType | 机型 |
diskSlotInfo | DiskSlotInfo | 磁盘信息(新套餐必需,老套餐不需要) |
DiskSlotInfo
名称 | 类型 | 参数描述 |
---|---|---|
type | DiskType | 磁盘的类型 |
size | int | 单位G 最小为50G premium_ssd最大为6144G ssd最大为20480G |
ClusterBilling
名称 | 类型 | 参数描述 |
---|---|---|
paymentType | PaymentType | 计费方式 |
time | int | 购买时长(后付费为0),单位是月 |
PaymentType
名称 | 类型 | 参数描述 |
---|---|---|
POSTPAY | 枚举 | 后付费 |
PREPAY | 枚举 | 预付费 |
ModuleType
名称 | 类型 | 参数描述 |
---|---|---|
ES_NODE | 枚举 | 代表es节点类型 |
KIBANA | 枚举 | 代表kibana节点类型 |
DiskType
名称 | 类型 | 参数描述 |
---|---|---|
SSD | 枚举 | 高效云盘 |
PREMIUM_SSD | 枚举 | ssd云盘 |
SlotType
名称 | 对应机型 |
---|---|
CALCULATE_V1 | calculate_v1 |
CALCULATE_V2 | calculate_v2 |
CALCULATE_V3 | calculate_v3 |
STORAGE_V1 | storage_v1 |
STORAGE_V2 | storage_v2 |
STORAGE_V3 | storage_v3 |
BES_G3_CPU_2_MEM_8 | bes.g3.c2m8 |
BES_G3_CPU_4_MEM_16 | bes.g3.c4m16 |
BES_G3_CPU_8_MEM_32 | bes.g3.c8m32 |
BES_G3_CPU_16_MEM_64 | bes.g3.c16m64 |
BES_G3_CPU_32_MEM_128 | bes.g3.c32m128 |
BES_C3_CPU_2_MEM_4 | bes.c3.c2m4 |
BES_C3_CPU_4_MEM_8 | bes.c3.c4m8 |
BES_C3_CPU_8_MEM_16 | bes.c3.c8m16 |
BES_C3_CPU_16_MEM_32 | bes.c3.c16m32 |
BES_C3_CPU_32_MEM_64 | bes.c3.c32m64 |
BES_IC3_CPU_4_MEM_4 | bes.ic3.c4m4 |
BES_IC3_CPU_8_MEM_8 | bes.ic3.c8m8 |
BES_IC3_CPU_12_MEM_12 | bes.ic3.c12m12 |
BES_IC3_CPU_16_MEM_16 | bes.ic3.c16m16 |
BES_M3_CPU_2_MEM_16 | bes.m3.c2m16 |
BES_M3_CPU_4_MEM_32 | bes.m3.c4m32 |
BES_M3_CPU_8_MEM_64 | bes.m3.c8m64 |
KIBANA_G3_CPU_2_MEM_8 | bes.g3.c2m8 |
KIBANA_G3_CPU_4_MEM_16 | bes.g3.c4m16 |
KIBANA_G3_CPU_8_MEM_32 | bes.g3.c8m32 |
KIBANA_C3_CPU_1_MEM_2 | bes.c3.c1m2 |
KIBANA_C3_CPU_2_MEM_4 | bes.c3.c2m4 |
KIBANA_C3_CPU_4_MEM_8 | bes.c3.c4m8 |
KIBANA_C3_CPU_8_MEM_16 | bes.c3.c8m16 |
更多节点配置类型类型请参考节点配置类型按需创建集群 获取vpc id方式(可用区域、安全组ID、子网ID参考vpc id方式)
1.获取VPC ID(vpcId):详见文档链接
2.获取可用区域(availableZone)、子网uuid(subnet_uuid):详见文档链接
3.获取安全组ID(securityGroupId):详见文档链接
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | OrderUuidResult | 订单创建成功响应订单Id |
OrderUuidResult
名称 | 类型 | 参数描述 |
---|---|---|
orderId | String | 订单ID |
- 创建BES请求是一个异步请求,返回200和订单ID表明订单生成,后续可以通过查询集群列表查看集群创建进度。 支持对BES集群升配操作,具体可参考以下代码。
集群升配
说明: 只有新套餐支持升配操作;ES节点、Kibana节点不能同时升配;节点配置类型和磁盘大小不能同时升配; 同一个集群一次升配操作完成后,才能进行下一次升配操作。
BesResizeClusterRequest besResizeClusterRequest = new BesResizeClusterRequest();
BesResizeClusterRequest.ModuleDesc moduleDesc = new BesResizeClusterRequest.ModuleDesc();
BesResizeClusterRequest.ModuleDesc moduleDesc2 = new BesResizeClusterRequest.ModuleDesc();
DiskSlotInfo diskSlotInfo = new DiskSlotInfo();
List<BesResizeClusterRequest.ModuleDesc> modules = new ArrayList<BesResizeClusterRequest.ModuleDesc>();
// 设置集群所在区域
besResizeClusterRequest.setRegion("bj");
// 设置需要扩容集群名称
besResizeClusterRequest.setName("isTest0309");
// 设置支付方式
besResizeClusterRequest.setPaymentType(PaymentType.POSTPAY);
// 设置需要升配的集群ID
besResizeClusterRequest.setClusterId(clusterId);
// 设置节点类型
moduleDesc.setType(ModuleType.ES_NODE);
// 设置机型(如果是升配机型,数量和磁盘大小需要和升配前保持一致)
moduleDesc.setSlotType(SlotType.BES_G3_CPU_8_MEM_32);
// 节点数量
moduleDesc.setDesireInstanceNum(2);
// 磁盘类型
diskSlotInfo.setType(DiskType.PREMIUM_SSD);
// 磁盘大小(如果是升配磁盘,数量和机型需要和升配前保持一致)
diskSlotInfo.setSize(60);
moduleDesc.setDiskSlotInfo(diskSlotInfo);
// 设置节点类型
moduleDesc2.setType(ModuleType.KIBANA);
// 设置机型(如果是升配机型,数量和磁盘大小需要和升配前保持一致)
moduleDesc2.setSlotType(SlotType.BES_C3_CPU_2_MEM_4);
// 节点数量
moduleDesc2.setDesireInstanceNum(1);
modules.add(moduleDesc);
modules.add(moduleDesc2);
besResizeClusterRequest.setModules(modules);
BesCreateClusterResponse besCreateClusterResponse = this.besClient.resizeCluster(besResizeClusterRequest);
扩容集群
支持对BES集群扩容操作,具体可参考以下代码。
public void resizeCluster(BesClient client) {
BesResizeClusterRequest besResizeClusterRequest = new BesResizeClusterRequest();
BesResizeClusterRequest.ModuleDesc moduleDesc = new BesResizeClusterRequest.ModuleDesc();
List<BesResizeClusterRequest.ModuleDesc> modules = new ArrayList<BesResizeClusterRequest.ModuleDesc>();
// 设置集群所在区域
besResizeClusterRequest.setRegion("bj");
// 设置需要扩容集群名称
besResizeClusterRequest.setName("clusterName");
// 设置付费方式
besResizeClusterRequest.setPaymentType(PaymentType.PREPAY);
// 设置需要扩容集群ID
besResizeClusterRequest.setDeployId("clusterId");
// 设置需要扩容集群版本(需和创建时的集群版本一致)
moduleDesc.setVersion("7.4.2");
// 设置需要扩容的节点类型
moduleDesc.setType(ModuleType.ES_NODE);
// 设置需要扩容的节点配置类型 (需和创建时的类型一致)
moduleDesc.setSlotType(SlotType.BES_C3_CPU_8_MEM_16);
// 设置需要扩容后的节点数量 (数量不可少于当前es_node节点数量)
moduleDesc.setDesireInstanceNum(2);
modules.add(moduleDesc);
besResizeClusterRequest.setModules(modules);
BesCreateClusterResponse besCreateClusterResponse = this.besClient.resizeCluster(besResizeClusterRequest);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
name | String | 是 | 集群名称 |
paymentType | PaymentType | 是 | 计费方式;postpay表示后付费、prepay表示预付费 |
clusterId | String | 是 | 集群ID |
region | String | 是 | 地域 |
modules | List |
是 | 节点扩容信息 |
Module
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
desireInstanceNum | int | 是 | 节点数量 |
slotType | SlotType | 是 | 资源配置类型 |
type | ModuleType | 是 | 节点的类型 |
version | String | 是 | 集群版本 |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | OrderUuidResult | 订单创建成功响应订单Id |
OrderUuidResult
名称 | 类型 | 参数描述 |
---|---|---|
orderId | String | 订单ID |
PaymentType
名称 | 类型 | 参数描述 |
---|---|---|
POSTPAY | 枚举 | 后付费 |
PREPAY | 枚举 | 预付费 |
ModuleType
名称 | 类型 | 参数描述 |
---|---|---|
ES_NODE | 枚举 | 代表es节点类型 |
KIBANA | 枚举 | 代表kibana节点类型 |
更多节点配置类型类型请参考节点配置类型按需创建集群
查询集群列表
如下代码可以罗列出属于请求调用者的所有集群。
public void listClusters(BesClient client) {
BesListClusterRequest besListClusterRequest = new BesListClusterRequest();
// 当前页数(最小1)
besListClusterRequest.setPageNo(1);
// 设置每页展示几个集群信息(最小20)
besListClusterRequest.setPageSize(20);
BesListClusterResponse besListClusterResponse = besClient.clusterList(besListClusterRequest);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
pageNo | int | 是 | 页数 |
pageSize | int | 是 | 页大小 |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
page | ListPageResponse | 集群信息列表 |
ListPageResponse
名称 | 类型 | 参数描述 |
---|---|---|
pageNo | int | 页数 |
pageSize | int | 页大小 |
totalCount | int | 集群个数 |
result | List |
集群信息 |
ClusterSummaryInfo
名称 | 类型 | 参数描述 |
---|---|---|
clusterId | String | 集群Id |
clusterName | String | 集群名称 |
createTime | String | 创建时间 |
actualStatus | String | 实际状态 |
runningTime | String | 运行时长 |
billing | BesClusterBillingResponse | 集群计费信息 |
actual_status取值说明:
取值 | 说明 |
---|---|
Initializing | 正在创建 |
Deleting | 删除中 |
Stopping | 正在停止 |
Running | 运行中 |
Starting | 正在启动 |
Stopped | 已停止 |
Deleted | 删除中 |
Unknown | 异常状态 |
BesClusterBillingResponse
名称 | 类型 | 参数描述 |
---|---|---|
paymentType | String | 支付方式 |
查询集群详情
使用以下代码可以查询指定BES集群的详细信息。
public void getClusterDetail(BesClient client) {
BesClusterDetailRequest besClusterDetailRequest = new BesClusterDetailRequest();
// 设置需要查询的集群ID
besClusterDetailRequest.setClusterId(clusterId);
BesClusterDetailResponse besClusterDetailResponse = besClient.clusterDetail(besClusterDetailRequest);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
clusterId | String | 是 | 集群Id |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | ClusterDetail | 集群详细信息 |
ClusterDetail
名称 | 类型 | 参数描述 |
---|---|---|
clusterId | String | 集群Id |
clusterName | String | 集群名称 |
adminUsername | String | 管理员名称 |
desireStatus | String | 设备状态 |
status | String | 实际状态 |
esUrl | String | ES服务器访问路径 |
kibanaUrl | String | Kibana服务器访问路径 |
esEip | String | ES公网访问IP |
kibanaEip | String | Kibana公网访问IP |
modules | List |
节点信息列表 |
instances | List |
节点实例列表 |
expireTime | String | 终止时间 |
region | String | 所属地区 |
vpc | String | 虚拟网卡 |
subnet | String | 子网 |
availableZone | String | 可用区 |
securityGroup | String | 安全组 |
billing | BesClusterBillingResponse | 集群计费信息 |
ClusterDetail.status 取值同 ClusterSummaryInfo.actual_status;
ModuleInfoResponse
名称 | 类型 | 参数描述 |
---|---|---|
type | String | type表示节点的类型;es_node表示es节点、kibana表示kibana节点 |
version | String | 集群版本 |
slotType | String | 资源配置类型 |
slotDescription | String | 资源配置类型描述 |
actualInstance_num | int | 实例数量 |
InstanceInfoResponse
名称 | 类型 | 参数描述 |
---|---|---|
instanceId | String | 节点实例Id |
status | String | 节点实例状态 |
moduleType | String | 表示节点的类型;es_node表示es节点、kibana表示kibana节点 |
moduleVersion | String | 节点实例所属集群版本 |
hostIp | String | 主机Ip |
InstanceInfoResponse.status 取值同 ClusterSummaryInfo.actual_status;
停止集群
使用以下代码可以停止集群。
public void stopCluster(BesClient client) {
BesStopClusterRequest besStopClusterRequest = new BesStopClusterRequest();
// 设置需要停止的集群ID
besStopClusterRequest.setClusterId(clusterId);
besClient.stopCluster(besStopClusterRequest);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
clusterId | String | 是 | 集群Id |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | String | 常量字符串(没有返回值时为空) |
启动集群
使用以下代码可以启动集群。
public void startCluster(BesClient client) {
BesStartClusterRequest besStartClusterRequest = new BesStartClusterRequest();
// 设置需要启动的集群ID
besStartClusterRequest.setClusterId(clusterId);
besClient.startCluster(besStartClusterRequest);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
clusterId | String | 是 | 集群Id |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | String | 常量字符串(没有返回值时为空) |
删除集群
使用以下代码可以删除一个ES集群。
public void deleteCluster(BesClient client) {
BesDeleteClusterRequest besDeleteClusterRequest = new BesDeleteClusterRequest();
// 设置需要删除的集群ID
besDeleteClusterRequest.setClusterId(clusterId);
besClient.deleteCluster(besDeleteClusterRequest);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
clusterId | String | 是 | 集群Id |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | String | 常量字符串(没有返回值时为空) |
续费列表
使用以下代码查询续费列表。
public void getRenewList(BesClient client) {
BesGetRenewListRequest listAutoRenew = new BesGetRenewListRequest();
# 排序规则:desc降序、asc升序
listAutoRenew.setOrder("desc");
# 排序字段
listAutoRenew.setOrderBy("expireTime");
# 页数
listAutoRenew.setPageNo(1);
# 页大小
listAutoRenew.setPageSize(15);
# 多少天内过期(与当前时间比较)
listAutoRenew.setDaysToExpiration(15);
besClient.getRenewList(listAutoRenew);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
order | String | 是 | 排序规则 |
orderBy | String | 是 | 排序字段 |
pageNo | int | 是 | 页数 |
pageSize | int | 是 | 页大小 |
daysToExpiration | int | 是 | 与当前时间比较,还有多少天过期,-1为不限制 |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | bool | 操作是否成功 |
status | int | 状态码 |
page | BesRenewListResponse | 集群列表 |
BesRenewListResponse
名称 | 类型 | 参数描述 |
---|---|---|
clusterId | String | 集群ID |
clusterName | String | 集群名称 |
region | String | 区域 |
expiredTime | String | 到期时间 |
clusterStatus | String | 集群状态 |
BesRenewListResponse.cluster_status 取值同 ClusterSummaryInfo.actual_status;
续费操作
使用以下代码进行续费操作。
public void renewCluster(BesClient client) {
BesGetRenewListRequest listAutoRenew = new BesGetRenewListRequest();
BesRenewClusterRequest besRenewClusterRequest = new BesRenewClusterRequest();
# 集群ID
besRenewClusterRequest.setClusterId(clusterId);
# 续费时长,单位:月
besRenewClusterRequest.setTime(1);
besClient.renewCluster(besRenewClusterRequest);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
clusterId | String | 是 | 集群ID |
time | int | 是 | 续费时长,单位:月 |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | OrderUuidResult | 订单创建成功响应订单Id |
OrderUuidResult
名称 | 类型 | 参数描述 |
---|---|---|
orderId | String | 订单ID |
创建自动续费规则
使用以下代码创建自动续费规则,支持批量创建。
public void createAutoRenewRule(BesClient client) {
BesCreateAutoRenewRuleRequest createAutoRenewRuleRequest = new BesCreateAutoRenewRuleRequest();
List<String> clusterIds = new ArrayList<String>();
clusterIds.add(clusterId);
// 集群ID
createAutoRenewRuleRequest.setClusterIds(clusterIds);
// 用户ID
createAutoRenewRuleRequest.setUserId("XXX");
// 续费时长
createAutoRenewRuleRequest.setRenewTime(1);
// 续费时间单位 支持month,yea
createAutoRenewRuleRequest.setRenewTimeUnit("month");
besClient.createAutoRenewRule(createAutoRenewRuleRequest);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
clusterIds | List |
是 | 集群ID集合 |
userId | String | 是 | 用户ID |
renewTimeUnit | String | 是 | 续费时间单位 支持month,year |
renewTime | int | 是 | 续费时长 |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | String | 常量字符串(没有返回值时为空) |
查看自动续费规则列表
使用以下代码查询自动续费规则列表。
public void getutoRenewRuleList(BesClient client) {
besClient.getAutoRenewRuleList();
}
请求参数说明
使用创建client的Ak、SK对应的账户进行查询,不需要显示传递参数
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | List |
续费信息列表 |
BesAotuRenewListResponse
名称 | 类型 | 参数描述 |
---|---|---|
uuid | String | 续费规则的ID |
userId | String | 用户ID |
clusterId | String | 集群信息 |
region | String | 区域 |
renewTimeUnit | String | 续费时间单位 支持month,year |
renewTime | int | 续费时长 |
createTime | String | 创建时间 |
updateTime | String | 修改时间 |
更新自动续费规则
使用以下代码更新自动续费规则。
public void updateAutoRenewRule(BesClient client) {
BesUpdateAutoRenewRuleRequest updateAutoRenewRuleRequest = new BesUpdateAutoRenewRuleRequest();
// 集群ID
updateAutoRenewRuleRequest.setClusterId(clusterId);
// 续费时长
updateAutoRenewRuleRequest.setRenewTime(2);
// 续费时间单位 支持month,year
updateAutoRenewRuleRequest.setRenewTimeUnit("month");
besClient.updateAutoRenewRule(updateAutoRenewRuleRequest);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
clusterId | String | 是 | 集群ID |
renewTimeUnit | String | 是 | 续费时间单位 支持month,year |
renewTime | int | 是 | 续费时长 |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | String | 常量字符串(没有返回值时为空 |
删除自动续费规则
使用以下代码删除自动续费规则。
public void deleteAutoRenewRule(BesClient client) {
// 集群ID
deleteAutoRenewRuleRequest.setClusterId(clusterId);
besClient.deleteAutoRenewRule(deleteAutoRenewRuleRequest);
}
请求参数说明
名称 | 类型 | 是否必须 | 参数描述 |
---|---|---|---|
clusterId | String | 是 | 集群ID |
返回结果说明
名称 | 类型 | 参数描述 |
---|---|---|
success | boolean | 操作是否成功 |
status | int | 状态码 |
result | String | 常量字符串(没有返回值时为空 |