华为云用户手册

  • 身份认证 无论通过管理控制台或API接口访问CodeArts Link,CodeArts Link使用 统一身份认证 服务 IAM 进行认证鉴权。 CodeArts Link支持两种认证方式: Token认证:通过Token认证调用请求。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。推荐使用AK/SK认证,其安全性比Token认证要高。 关于认证鉴权的详细介绍及获取方式,请参见认证鉴权。
  • 名词解释 基本概念、云服务简介、专有名词解释 弹性 云服务器ECS :是一种可随时自助获取、可弹性伸缩的云服务器,可帮助您打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。 弹性文件服务SFS Turbo:为用户提供一个完全托管的共享文件存储,能够弹性伸缩至320TB规模,具备高可用性和持久性,为海量的小文件、低延迟高IOPS型应用提供有力支持。 Deadline:Deadline是AWS下属的Thinkbox软件公司的一款渲染农场软件。 Gearbox: Gearbox是一个华为云自研开源的资源协同系统。Gearbox系统与调度平台(Deadline)协同,协调云下、云上资源使用。支持自定义业务负载指标,提供基于指标的自动扩容能力,感知业务任务状态,闲置自动释放,提供无损的弹性伸缩能力。
  • 一键卸载 登录 资源编排 服务 RFS 控制台,找到该解决方案创建的资源栈,单击资源栈名称最右侧 "删除" 按钮,在弹出的 "删除资源栈" 提示框输入"Delete",单击 "确定" 进行解决方案卸载。 图1 解决方案卸载 手动删除旧的弹性伸缩配置 因每次修改弹性伸缩配置本质上都是创建新的弹性伸缩配置,所以需要手动删除旧的弹性伸缩配置。 登录华为云弹性伸缩AS控制台,进入 "伸缩配置" 页面将旧的伸缩配置进行删除。 图2 删除旧配置 根据需要删除制作的Slave节点私有镜像 登录华为云 镜像服务 控制台,删除创建的私有镜像。
  • 通过模板创建实体元模型 当用户需要资产迁移或者需要录入的资产数据量较大时,系统提供了创建业务资产的excel模板,用户可以先下载模板,按模板录入资产数据,录入完成后使用系统的资产导入功能,完成业务资产的创建。用户可以通过单击实体节点,对实体进行批量添加模型操作。 前提条件:用户已下载excel模板,并按excel模板结构录入模型实例。 在模型目录页面,选择“应用元模型”页签,单击需要添加业务资产的实体节点。 右侧弹出模型实例列表对话框,单击,下载对应实体元模型的excel模板。 下载excel模板后,按照excel中给定的表格结构,添加excel数据。 excel录入完成后,导入添加的业务资产。 单击,出现“导入”对话框。 在弹出的“导入”对话框中,单击“上传文件”选择完成数据录入的excel。 单击“确定”,导入添加的实体元模型数据。 模型实例列表中,出现添加的模型实例,则导入成功。如果显示导入失败,则根据右上角报错信息,修改模板数据。
  • 相关操作 新增模型关联关系完成后,您可以执行如表1所示操作。 表1 相关操作 操作 说明 添加业务字典 单击“业务字典”列的“添加”。具体操作方法参见模型关联关系业务字典添加。 添加标注 单击“标注”列的“添加”。具体操作方法参见模型关联关系标注添加。 编辑模型关联关系 单击“操作”列的“编辑”。编辑完成后,单击“确定”,编辑成功。 移除模型关联关系 单击“操作”列的“移除”。单击“确定”,解除两个模型的关联关系。 删除模型关联关系 单击“操作”列的“删除”。单击“确定”,删除两个模型的关联关系。 查看模型详情 单击模型名称,跳转到对应模型的模型详情页面查看。
  • 实例管理 实例管理用于管理应用模型实例,界面包含以下内容。 内容简介 图1 内容简介 可以查看模型地图、模型采集、模型目录简介内容。 集成工作台 实例 图2 集成工作台实例 展示集成工作台实例,包含实例的名称、运行状态、创建时间。 单击实例名称右侧的,编辑修改实例名称。 单击实例ID右侧的,复制实例ID。 单击“控制台”,进入实例管理界面,在实例管理页面,支持应用模型概览、模型地图、模型目录、模型采集、信息架构、业务术语、工作空间、行业模板等内容。 了解更多 图3 了解更多 可以查看产品介绍、开发指南、用户指南等帮助文档。 父主题: 应用模型
  • 在续费管理页面开通自动续费 登录管理控制台。 单击“控制台”页面上方“费用”,在下拉菜单中选择“续费管理”。 进入“续费管理”页面。 自定义查询条件。 可在“自动续费项”页签查询已经开通自动续费的资源。 可对“手动续费项”、“到期转按需项”、“到期不续费项”页签的资源开通自动续费。 图2 续费管理 为包年/包月资源开通自动续费。 单个资源开通自动续费:选择需要开通自动续费的裸金属服务器,单击操作列“开通自动续费”。 图3 单个资源开通自动续费 批量资源开通自动续费:选择需要开通自动续费的裸金属服务器,单击列表左上角的“开通自动续费”。 图4 多个资源开通自动续费 选择续费时长,并根据需要设置自动续费次数,单击“开通”。 在“续费管理”页面开通的自动续费,自动续费周期以实际选择的续费时长以及自动续费次数为准。例如:您选择了续费时长3个月,不限次数,即在每次到期前自动续费3个月。 图5 开通自动续费
  • 计费说明 裸金属服务器的计费项由实例规格费用、镜像费用、云硬盘费用和公网带宽费用组成。具体内容如表1所示。 标 * 的计费项为必选计费项。 表1 裸金属服务器计费项 计费项 计费项说明 计费公式 * 实例规格 计费因子:CPU规格、内存容量、本地磁盘和扩展配置等,不同规格的实例类型提供不同的计算和存储能力。 实例规格单价 * 购买时长 实例规格单价请参见裸金属服务器价格详情中的“规格价格”。 镜像 公共镜像:除Windows收费外,其他公共镜像免费。 说明: Windows操作系统为市场镜像,该服务由第三方提供。为方便用户选用,在公共镜像中提供入口。 私有镜像:系统盘镜像和数据盘镜像可免费使用,整机镜像需收取云备份的存储费用。 共享镜像:来源于他人共享的系统盘镜像、数据盘镜像可免费使用。 镜像单价 * 购买时长 镜像单价以售卖页和云市场镜像显示的价格为准。 云硬盘(系统盘) 计费因子:云硬盘类型、容量。 购买云硬盘成功后,将立即开始计费,计费与其是否被使用无关。 云硬盘单价 * 购买时长 云硬盘单价请参见云硬盘价格详情。 云硬盘(数据盘) 如有额外的存储需求,您需要购买数据盘。 计费因子:云硬盘类型、容量。 云硬盘单价 * 购买时长 公网带宽 如有互联网访问需求,您需要购买弹性公网IP。 计费因子:带宽费、流量费。 按固定带宽值采用阶梯计费 0Mbit/s~5Mbit/s(含):均为一个统一的单价 大于5Mbit/s:按每Mbit/s计费 公网带宽单价请参见弹性公网IP价格详情。
  • 续费相关的功能 包年/包月裸金属服务器续费相关的功能如表1所示。 表1 续费相关的功能 功能 说明 手动续费 包年/包月裸金属服务器从购买到被自动删除之前,您可以随时在BMS控制台为裸金属服务器续费,以延长裸金属服务器的使用时间。 自动续费 开通自动续费后,裸金属服务器会在每次到期前自动续费,避免因忘记手动续费而导致资源被自动删除。 在一台包年/包月裸金属服务器生命周期的不同阶段,您可以根据需要选择一种方式进行续费,具体如图1所示。 图1 云服务器生命周期 裸金属服务器从购买到到期前,处于正常运行阶段,资源状态为“运行中”。 到期后,资源状态变为“已过期”。 到期未续费时,裸金属服务器首先会进入宽限期,宽限期到期后仍未续费,资源状态变为“已冻结”。 超过宽限期仍未续费将进入保留期,如果保留期内仍未续费,资源将被自动删除。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 在裸金属服务器到期前均可开通自动续费,到期前7日凌晨3:00首次尝试自动续费,如果扣款失败,每天凌晨3:00尝试一次,直至裸金属服务器到期或者续费成功。到期前7日自动续费扣款是系统默认配置,您也可以根据需要修改此扣款日。
  • 成本分配 成本管理的基础是树立成本责任制,让各部门、各业务团队、各责任人参与进来,为各自消耗云服务产生的成本负责。企业可以通过成本分配的方式,将云上成本分组,归集到特定的团队或项目业务中,让各责任组织及时了解各自的成本情况。 华为云成本中心支持通过多种不同的方式对成本进行归集和重新分配,您可以根据需要选择合适的分配工具。 通过关联账号进行成本分配 企业主客户可以使用关联账号对子客户的成本进行归集,从而对子账号进行财务管理。详细介绍请参见通过关联账号维度查看成本分配。 通过企业项目进行成本分配 在进行成本分配之前,建议开通企业项目并做好企业项目的规划,可以根据企业的组织架构或者业务项目来划分。在购买云资源时选择指定企业项目,新购云资源将按此企业项目进行成本分配。详细介绍请参见通过企业项目维度查看成本分配。 图1 为云服务器选择企业项目 通过成本标签进行成本分配 标签是华为云为了标识云资源,按各种维度(例如用途、所有者或环境)对云资源进行分类的标记。推荐企业使用预定义标签进行成本归集,具体流程如下: 图2 为云服务器添加标签 详细介绍请参见通过成本标签维度查看成本分配。 使用成本单元进行成本分配 企业可以使用成本中心的“成本单元”来拆分公共成本。公共成本是指多个部门共享的计算、网络、存储或资源包产生的云成本,或无法直接通过企业项目、成本标签分配的云成本。这些成本不能直接归属于单一所有者,因此不能直接归属到某一类别。使用拆分规则,可以在各团队或业务部门之间公平地分配这些成本。详细介绍请参见使用成本单元查看成本分配。
  • 成本优化 成本控制 企业可以在成本中心的“预算管理”页面创建精细粒度的预算来管理成本和使用量,在实际或预测超过预算阈值时,自动发送通知给指定消息接收人。企业还可以创建预算报告,定期将指定预算进展通知给指定消息接收人。 例如企业需要创建一个裸金属服务器的包月成本预算,每月预算金额为20000元,当预测金额高于预算金额的80%时发送预算告警。那么,创建的预算如下: 图3 预算基本信息 图4 设置成本范围 图5 设置提醒 详细介绍请参见使用预测和预算来跟踪成本和使用量。 资源优化 您可以通过 云监控服务 监控资源的使用情况,识别空闲资源,寻找节约成本的机会。也可以根据成本分析阶段的分析结果识别成本偏高的资源,然后采取针对性的优化措施。 监控资源利用率,评估当前配置是否过高。例如:CPU、内存、云硬盘、带宽等资源的利用率。 监控闲置的资源,避免浪费。例如:未挂载的云硬盘、未绑定的EIP等。
  • 在费用中心续费 登录管理控制台。 单击“控制台”页面上方“费用”,在下拉菜单中选择“续费管理”。 进入“续费管理”页面。 自定义查询条件。 可在“手动续费项”、“自动续费项”、“到期转按需项”、“到期不续费项”页签查询全部待续费资源,对资源进行手动续费的操作。 图2 续费管理 所有需手动续费的资源都可归置到“手动续费项”页签,具体操作请参见如何恢复为手动续费。 手动续费资源。 单个续费:在资源页面找到需要续费的资源,单击操作列的“续费”。 图3 单个续费 批量续费:在资源页面勾选需要续费的资源,单击列表左上角的“批量续费”。 图4 批量续费 选择裸金属服务器的续费时长,判断是否勾选“统一到期日”,将裸金属服务器到期时间统一到各个月的某一天(详细介绍请参见统一包年/包月资源的到期日)。确认配置费用后单击“去支付”。 图5 续费确认 进入支付页面,选择支付方式,确认付款,支付订单后即可完成续费。
  • 退出会议 主持人可选择结束或离开会议,与会者可选择离开会议。 桌面客户端 单击会中界面右上角的按钮或右下角的“离开”。 与会者单击“确定”可离开会议,主持人可选择进行以下操作。 离开会议:主持人离开会议,会议继续召开。 结束全体会议:主持人结束会议,所有与会者均退出会议。 离开会议并指定主持人:主持人离开会议,转移主持人权限给其他与会者继续主持会议。 图9 退出会议 上图所示为主持人离开会议页面参考图。 移动客户端 单击会中界面右上角的“离开”。 与会者单击“确定”可离开会议,主持人可选择进行以下操作。 离开会议:主持人离开会议,会议继续召开。 结束全体会议:主持人结束会议,所有与会者均退出会议。 离开会议并指定主持人:主持人离开会议,转移主持人权限给其他与会者继续主持会议。 图10 退出会议 上图所示为主持人离开会议页面参考图。
  • 错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 更多服务错误码请参见API错误中心。 状态码 错误码 错误信息 描述 处理措施 400 CTS .0001 The IAM or OBS service is abnormal. IAM或OBS服务异常 请联系技术支持 400 CTS.0003 The message body is empty or invalid. body体为空或非法 请校验body内容和格式 400 CTS.0200 The number of trackers has reached the upper limit. 追踪器数量已满 请删除或修改不需要的追踪器 400 CTS.0201 A management tracker has been created. 已有管理类追踪器 请检查是否已生效 400 CTS.0202 The value of the tracker_type parameter is incorrect. tracker_type字段不符合格式 请将对应值改为system或data 400 CTS.0203 The value of tracker_name parameter is in an incorrect format. tracker_name字段不符合格式 请参考参数描述进行修改 400 CTS.0204 The tracker_name parameter of a management tracker can only be set to system. 管理类追踪器tracker_name字段应为system 请参考参数描述进行修改 400 CTS.0205 The status parameter can only be set to enabled or disabled. status字段只能为enabled或disabled 请将对应值改为enabled或disabled 400 CTS.0206 The data_bucket parameter cannot be included in the message body for a management tracker. 管理类追踪器body体不能有data_bucket参数 请去掉data_buket参数 400 CTS.0207 The tracker_name parameter in the message body cannot be set to system for a data tracker. 数据类追踪器body体tracker_name不能为system 请将tracker_name改为除system以外的值 400 CTS.0209 A type of operations on an OBS bucket can be tracked by only one tracker. 追踪一个桶的同一个操作类型 请更改追踪项 400 CTS.0210 The OBS bucket to track cannot be empty. 追踪的桶不能为空 请换一个桶或使桶不为空 400 CTS.0211 The tracked OBS bucket does not exist. 被追踪的桶不存在 请检查bucket_name是否填写正确 400 CTS.0212 The tracked OBS bucket cannot be modified. 被追踪的obs桶不可修改 请撤回桶的更改 400 CTS.0213 The OBS bucket used for trace transfer cannot be a tracked OBS bucket. 被追踪的桶与转储的桶相同 请更换转储的桶 400 CTS.0215 The OBS bucket already exists. 桶已经存在 请修改bucket_name 400 CTS.0216 Failed to create a bucket. 创建桶失败 请联系技术支持 400 CTS.0217 Failed to set a lifecycle rule for the OBS bucket. 设置桶生命周期规则失败 请联系技术支持 400 CTS.0218 The value of file_prefix_name is in an incorrect format. file_prefix_name字段不符合格式 请参考参数描述进行修改 400 CTS.0219 The operation type cannot be empty. 操作类型不能为空 请选择至少一个追踪操作 400 CTS.0220 KMS is not supported. 不支持KMS 请联系技术支持 400 CTS.0221 The KMS ID is empty. KMS_ID为空 请检查kms_id是否正确 400 CTS.0222 KMS verification failed. KMS校验失败 请检查kms_id是否正确 400 CTS.0225 Only WRITE and/or READ operations on the OBS bucket can be tracked. 追踪桶操作类型必须为WRITE、READ 或WRITE和READ。 检查参数是否传入正确。 400 CTS.0228 The CTS service is not trusted. 云审计 服务不受信任。 请在org服务界面开启可信服务。 400 CTS.0228 The organization tracker can be enabled only for organization management. 组织追踪器只能在组织管理中启用。 请在org服务界面开启可信服务。 400 CTS.0229 The organization tracker already exists. 组织追踪器已存在。 请先关闭已开启的组织追踪器。 400 CTS.0231 Invalid bucket name. A bucket name must be a string of 3 to 63 characters, including only lowercase letters, digits, hyphens (-), or periods (.). It must start with a digit or a lowercase letter. 无效的桶名称。 bucket_name是3到63个字符的字符串,以数字或字母开头,支持小写字母,数字,“-”或“.”。 检查桶名称填写是否正确。 400 CTS.0300 Query failed. query查询失败 请稍后重试或联系技术支持 403 CTS.0002 Authentication failed or you do not have the permissions required. 用户鉴权失败或没有权限 请检查用户权限 403 CTS.0208 The tracker already exists. 已存在该追踪器 请检查该追踪器是否已经存在 404 CTS.0100 API version query is not supported in CTS. CTS不支持查询接口版本号 请联系技术支持 404 CTS.0214 The tracker does not exist. 追踪器不存在 请检查该追踪器是否已删除 405 CTS.0049 GET method not allowed. 不允许使用GET方法调用。 请使用其他方法调用。 500 CTS.0004 Failed to write data. 写入数据失败 请联系技术支持 500 CTS.0005 Failed to read data. 读取数据失败 请联系技术支持 父主题: 附录
  • 集群状态 表3 集群状态说明 状态 说明 创建中 表示集群正在创建中。 服务中 当集群创建成功并正常提供服务时,其集群状态为服务中。 亚健康 当超过指定时间监控不到集群状态时,集群状态将显示为“亚健康”。“亚健康”状态的集群需要人工干预让集群恢复正常,比如,可以通过重启集群尝试恢复正常状态。 创建失败 表示集群创建失败。 冻结 续费时所支付的余额已不足,则其状态为“冻结”。 当集群状态为“冻结”时,您需要通过续费保证账户余额不为0才能解冻,详细操作请参见如何续费?。 说明: 冻结期间集群不可用且关闭集群中所有云主机,解冻后集群自动恢复为“服务中”状态。如果用户没有续费,冻结期限到期后集群会被删除。
  • 扩容计算单元 登录 表格存储服务 管理控制台。 单击管理控制台左上角的,选择区域。 在左侧导航树,选择集群管理。 在集群列表中,找到需要扩容的集群名称,在其所在行,单击“水平扩容”,进入“扩容”页面。 图1 扩容图 在扩容页面设置以下参数,然后单击“立即购买”,规格确认。 图2 确认扩容 表1 扩容参数 参数 参数说明 单元类型 选择所需扩容的单元类型。可选值:RS单元。 单元数量 显示所选单元类型当前的单元数量。 扩容 设置扩容后所选单元类型的总单元数量。 单击“提交”开始扩容。 单击“返回集群列表”跳转到集群列表页面。 “任务状态”显示为“单元扩容中”,表示集群正在扩容。此时,“集群状态”仍为“服务中”。 扩容成功后,在集群列表中单击集群名称,进入集群信息页面,可以看到扩容后的计算单元数量。
  • ClickHouse集群管理简介 ClickHouse是面向联机分析处理的列式数据库,支持SQL查询,且查询性能好,特别是基于大宽表的聚合分析查询性能非常优异,比其他分析型数据库速度快一个数量级。CloudTable ClickHouse集群管理还有以下功能: ClickHouse集群管理下,用户申请专属集群,按需使用,专属集群是物理隔离且不受其他业务影响,方便用户管理。 ClickHouse集群创建成功后,使用客户端访问集群,请参见以下章节。 准备弹性云服务。 使用客户端访问集群。 ClickHouse命令简介。 父主题: ClickHouse集群管理
  • 操作步骤 准备Windows弹性云服务器。 具体操作请参见准备弹性云服务器章节中的以下步骤: 准备弹性云服务器 为Windows弹性 云服务器配置 DNS地址 在浏览器中输入如下地址: http://xxx-zk1.cloudtable.com:16010/master-status 其中“xxx-zk1.cloudtable.com”为主Master节点的地址。Master地址的获取方法与ZooKeeper地址的获取方法相同,ZooKeeper地址列表中包含zk1或zk2的地址即为Master节点的 域名 。 ZooKeeper地址(即ZK链接地址)可以在集群基本信息页面获取,具体方法请参考查看HBase集群基本信息。 如果打开的是备Master的页面,通过其中的链接可以跳转到主Master的页面,如图1所示。 图1 备Master页面信息 在HBase的主Master的Web UI页面中,Home页面展示的是HBase的一些概况信息,具体包括以下信息: Region Servers页面展示了RegionServer的一些基本信息,如图2所示。 图2 Region Servers基本信息 Backup Master页面展示了Backup Master的信息,如图3所示。 图3 Backup Masters基本信息 Tables页面显示了HBase中表的信息,包括User Tables、System Tables、Snapshots,如图4所示。 图4 Tables基本信息 Tasks页面显示了运行在HBase上的任务信息,包括开始时间,状态等信息,如图5所示。 图5 Tasks基本信息 在HBase的Web UI页面中,Table Details页面展示的是HBase存储表的概要信息,如图6所示。 图6 TableDetails 在HBase的Web UI页面中,Debug dump页面展示的是HBase的Debug信息,如图7所示。 图7 Debug dump 在HBase的Web UI页面中,HBaseConfiguration页面展示的是HBase的配置信息,如图8所示。 图8 HBase Configuration
  • Doris集群管理简介 CloudTable集群模式提供了基于Doris的分布式、可伸缩、全托管的实时 数据仓库 ,它提供了亚秒级返回海量数据查询结果的能力,可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。 Doris集群管理下,用户申请专属集群,按需使用,专属集群是完全物理隔离且不受其他业务影响,方便用户管理。 Doris集群创建成功后,用户可通过使用客户端访问集群:详情请参见使用Doris章节,介绍如何使用Doris集群。 父主题: Doris集群管理
  • Clickhouse命令简介 本章节主要介绍常用的ClickHouse组件命令。安装ClickHouse客户端后,加载环境变量,可使用以下命令。 连接ClickHouse集群。 非安全集群连接命令 ./clickhouse client --host 集群内网地址 --port 端口 --user admin --password password 安全集群连接命令,详细操作请参见安全集群连接步骤 ./clickhouse client --host 集群内网地址 --port 端口 --user admin --password password --secure --config-file /root/config.xml 创建数据库。 create database demo; 使用数据库。 use demo; 查看当前使用数据库。 select currentDatabase(); 创建数据表。 create table demo_t(uid Int32,name String,age UInt32,gender String)engine = TinyLog; 查看表结构。 desc demo_t; 插入数据。 insert into demo_t values(1,'Candy','23','M'),(2,'cici','33','F'); 查看表。 select * from demo_t; 查看数据库和表。 查看数据库。 show databases; 查看表。 show tables; 删除数据库和表。 删除表。 drop table demo_t; 删除数据表前,需确认此数据表是否应用中,以免引起不必要的麻烦。 删除数据表后可在24小时内恢复,超过24小时无法恢复。恢复命令如下: set allow_experimental_undrop_table_query = 1; UNDROP TABLE 数据表名; 删除数据库。 drop database demo; 父主题: 使用Clickhouse
  • 背景信息 假定这是一张学生成绩表信息,使用客户端实现业务操作: 创建用户信息表demo_t。 在用户信息中新增访问性别、科目。 根据用户user_id查询用户的基本信息。 业务结束后,删除用户信息表。 表1 成绩表 user_id name sex subject score time 10000 A 1 语文 89 2023-07-01 09:00:00 10001 B 0 数学 132 2023-07-01 09:00:00 10002 C 0 数学 90 2023-07-02 09:00:00 10003 D 0 英语 120 2023-07-01 14:00:00 10004 E 1 语文 101 2023-07-01 09:00:00 10005 F 1 语文 110 2023-07-01 09:00:00 表2 参数说明 参数 说明 10000 用户id,每个用户唯一识别id。 2023-07-01 09:00:00 数据入库时间。 A 学生姓名。 1 性别女(0代表男生)。 语文 代表学科。 89 代表学成绩。
  • ClickHouse操作步骤 创建名称为“cloudtable-demo”的集群。 请参见快速创建ClickHouse集群章节完成CloudTable集群的创建。 准备Linux弹性云服务器。 假设该弹性云服务器名称为“ecs_20230314”,详情请参见准备弹性云服务章节。 下载客户端,登录 表格存储 服务管理控制台,在左侧导航树单击“帮助”,然后在页面右侧单击“客户端下载”,下载客户端安装包。 图1 下载ClickHouse客户端 安装客户端,连接集群。 使用SSH登录工具,通过弹性IP远程登录到Linux弹性云服务器。 具体登录操作步骤请参见《弹性云服务器用户指南》中的“ SSH密码方式登录”。 进入SSH工具的根目录。 cd / 在根目录中新建一个文件夹。 mkdir 文件夹名 进入新建的目录中。 cd /文件夹名/ 将客户端放在新建的目录下。 解压客户端。 tar -zxf 客户端包名 加载so。 sh install.sh 进入bin目录,加权限。 cd bin/ 加权限。 chmod 700 clickhouse 然后执行以下命令连接ClickHouse集群,端口请参见表1。 非安全集群连接命令 ./clickhouse client --host 集群内网地址 --port 端口 --user admin --password password 安全集群连接命令,详细操作请参见安全集群连接步骤 ./clickhouse client --host 集群内网地址 --port 端口 --user admin --password password --secure --config-file /root/config.xml 集群内网地址:集群详情页面中集群访问地址,这里替换成您自己购买的集群的访问地址。 password为您购买集群时设置的密码,如果有特殊符号,特殊符号前面需要\进行转义,如果密码整体用单引号括起来,则特殊字符不需要转义。 执行以下命令,使用ClickHouse集群快速创建数据表,并对表数据进行查询。 创建数据库。 create database DB_demo; 使用数据库。 use DB_demo; 创建表。 create table DB_demo_t(user_id Int32,name String,sex Tinyint ,subject String,score Int32,time datetime)engine=TinyLog; 插入数据。 insert into DB_demo_t(user_id,name,sex,subject,score,time) values('10000','A','1','语文','89','2023-07-01 09:00:00'); insert into DB_demo_t(user_id,name,sex,subject,score,time) values('10001','B','0','数学','132','2023-07-01 09:00:00'); insert into DB_demo_t(user_id,name,sex,subject,score,time) values('10002','C','0','数学','90','2023-07-02 09:00:00'); insert into DB_demo_t(user_id,name,sex,subject,score,time) values('10003','D','0','英语','120','2023-07-01 14:00:00'); insert into DB_demo_t(user_id,name,sex,subject,score,time) values('10004','E','1','语文','101','2023-07-01 09:00:00'); insert into DB_demo_t(user_id,name,sex,subject,score,time) values('10005','F','1','语文','110','2023-07-01 09:00:00'); 查询数据。 查询导入的数据。 host-172-16-13-95 :) select * from DB_demo_t; SELECT * FROM DB_demo_t Query id: 4e119f77-0592-4131-bbe2-31f42bc069a1 ┌─user_id─┬─name─┬─sex─┬─subject─┬─score─┬────────────────time─┐ │ 10000 │ A │ 1 │ 语文 │ 89 │ 2023-07-01 09:00:00 │ │ 10001 │ B │ 0 │ 数学 │ 132 │ 2023-07-01 09:00:00 │ │ 10002 │ C │ 0 │ 数学 │ 90 │ 2023-07-02 09:00:00 │ │ 10003 │ D │ 0 │ 英语 │ 120 │ 2023-07-01 14:00:00 │ │ 10004 │ E │ 1 │ 语文 │ 101 │ 2023-07-01 09:00:00 │ │ 10005 │ F │ 1 │ 语文 │ 110 │ 2023-07-01 09:00:00 │ └─────────┴──────┴─────┴────────┴───────┴─────────────────────┘ 6 rows in set. Elapsed: 0.004 sec. 删除数据。 删除表。 drop table DB_demo_t; 删除数据库。 drop database DB_demo;
  • HBase集群管理简介 CloudTable集群模式提供了基于Apache HBase的分布式、可伸缩、全托管的NoSQL数据存储系统,它提供了毫秒级的随机读写能力,适用于海量结构化数据、半结构化数据存储和查询应用。 HBase集群管理下,用户申请专属集群,按需使用,专属集群是完全物理隔离且不受其他业务影响,方便用户管理。HBase集群管理适合业务吞吐量大,时延要求低的用户。 HBase集群创建成功后,用户可通过以下方式访问HBase集群: 使用客户端访问集群。 详情请参见此章节:使用HBase:介绍了如何使用HBase Shell访问集群等内容。 调用开源原生接口,开发HBase应用,通过CloudTable链接地址访问集群。 详情请参见《表格存储服务开发指南》。 HBase集群,目前已经商用,了解CloudTable如何 定价 ,请参见产品价格详情。 父主题: HBase集群管理
  • 背景信息 假定这是一张记录用户访问某商品页面行为的表信息,使用MySQL客户端实现业务操作: 创建用户信息表example_tbl。 在用户信息中新增访问时间、城市、性别、停留时长、花费。 根据用户user_id查询用户的基本信息。 业务结束后,删除用户信息表。 表1 原始数据 user_id date city age sex last_visit_date cost max_dwell_time min_dwell_time 10000 2017-10-01 A 20 0 2017-10-01 06:00:00 20 10 10 10000 2017-10-01 A 20 0 2017-10-01 07:00:00 15 2 2 10001 2017-10-01 A 30 1 2017-10-01 17:05:45 2 22 22 10002 2017-10-02 B 20 1 2017-10-02 12:59:12 200 5 5 10003 2017-10-02 C 32 0 2017-10-02 11:20:00 30 11 11 10004 2017-10-01 D 35 0 2017-10-01 10:00:15 100 3 3 10004 2017-10-03 D 35 0 2017-10-03 10:20:22 11 6 6 字段含义说明。 表2 参数说明 数据 说明 10000 用户id,每个用户唯一识别id。 2017-10-01 数据入库时间,精确到日期。 A 用户所在城市。 20 用户年龄。 0 性别男(1代表女性)。 2017-10-01 06:00:00 用户本次访问该页面的时间,精确到秒。 20 用户本次访问产生的消费。 10 用户本次访问,驻留该页面的时间。 10 用户本次访问,驻留该页面的时间(冗余)。
  • 基础概念 Internal Catalog Doris原有的Database和Table都将归属于Internal Catalog。Internal Catalog是内置的默认Catalog,用户不可修改或删除。 External Catalog 可以通过CREATE CATA LOG 命令创建一个External Catalog。创建后,可以通过SHOW CATALOGS命令查看已创建的Catalog。 切换Catalog 用户登录Doris后,默认进入Internal Catalog,因此默认的使用和之前版本并无差别,可以直接使用SHOW DATABASES,USE DB等命令查看和切换数据库。 用户可以通过SWITCH命令切换Catalog。如: SWITCH internal; SWITCH hive_catalog; 切换后,可以直接通过SHOW DATABASES,USE DB等命令查看和切换对应Catalog中的Database。Doris会自动通过Catalog中的Database和Table。用户可以像使用Internal Catalog一样,对External Catalog中的数据进行查看和访问。 当前,Doris只支持对 External Catalog中的数据进行只读访问。 删除Catalog External Catalog中的Database和Table都是只读的。但是可以删除Catalog(Internal Catalog无法删除)。可以通过DROP CATALOG命令删除一个External Catalog。 该操作仅会删除Doris中该Catalog的映射信息,并不会修改或变更任何外部数据目录的内容。 Resource Resource是一组配置的集合。用户可以通过CREATE RESOURCE命令创建一个Resource。之后可以在创建Catalog时使用这个Resource。 一个Resource可以被多个Catalog使用,以复用其中的配置。
  • 关于Partition和Bucket的数量和数据量的建议 一个表的Tablet总数量等于 (Partition num*Bucket num)。 一个表的Tablet数量,在不考虑扩容的情况下,推荐略多于整个集群的磁盘数量。 单个Tablet的数据量理论上没有上下界,但建议在1G-10G的范围内。如果单个Tablet数据量过小,则数据的聚合效果不佳,且元数据管理压力大。如果数据量过大,则不利于副本的迁移、补齐,且会增加Schema Change或者Rollup操作失败重试的代价(这些操作失败重试的粒度是Tablet)。 当Tablet的数据量原则和数量原则冲突时,建议优先考虑数据量原则。 在建表时,每个分区的Bucket数量统一指定。但是在动态增加分区时(ADD PARTITION),可以单独指定新分区的Bucket数量。可以利用这个功能方便的应对数据缩小或膨胀。 一个Partition的Bucket数量一旦指定,不可更改。所以在确定Bucket数量时,需要预先考虑集群扩容的情况。比如当前只有3台host,每台host有1块盘。如果Bucket的数量只设置为3或更小,那么后期即使再增加机器,也不能提高并发度。 举一些例子:假设在有10台BE,每台BE一块磁盘的情况下。如果一个表总大小为500MB,则可以考虑4-8个分片。5GB:8-16个分片。50GB:32个分片。500GB:建议分区,每个分区大小在50GB左右,每个分区16-32个分片。5TB:建议分区,每个分区大小在50GB 左右,每个分区16-32个分片。
  • 关于Random Distribution的设置以及使用场景 如果OLAP表没有更新类型的字段,将表的数据分桶模式设置为RANDOM,则可以避免严重的数据倾斜(数据在导入表对应的分区的时候,单次导入作业每个batch的数据将随机选择一个tablet进行写入)。 当表的分桶模式被设置为RANDOM时,因为没有分桶列,无法根据分桶列的值仅对几个分桶查询,对表进行查询的时候将对命中分区的全部分桶同时扫描,该设置适合对表数据整体的聚合查询分析而不适合高并发的点查询。 如果OLAP表的是Random Distribution的数据分布,那么在数据导入的时候可以设置单分片导入模式(将load_to_single_tablet设置为true),那么在大数据量的导入的时候,一个任务在将数据写入对应的分区时将只写入一个分片,这样将能提高数据导入的并发度和吞吐量,减少数据导入和Compaction导致的写放大问题,保障集群的稳定性。
  • 复合分区与单分区 复合分区。 第一级称为Partition,即分区。用户可以指定某一维度列作为分区列(当前只支持整型和时间类型的列),并指定每个分区的取值范围。 第二级称为Distribution,即分桶。用户可以指定一个或多个维度列以及桶数对数据进行HASH分布或者不指定分桶列设置成Random Distribution对数据进行随机分布。 此场景推荐使用复合分区。 有时间维度或类似带有有序值的维度,可以以这类维度列作为分区列。分区粒度可以根据导入频次、分区数据量等进行评估。 历史数据删除需求:如有删除历史数据的需求(比如仅保留最近N天的数据)。使用复合分区,可以通过删除历史分区来达到目的。也可以通过在指定分区内发送DELET语句进行数据删除。 解决数据倾斜问题:每个分区可以单独指定分桶数量。如按天分区,当每天的数据量差异很大时,可以通过指定分区的分桶数,合理划分不同分区的数据,分桶列建议选择区分度大的列。 单分区。 用户也可以不使用复合分区,即使用单分区。则数据只做Hash分布。
  • 基本原理 下图展示了Stream load的主要流程,省略了一些导入细节。 ^ + | | | | 1A. User submit load to FE | | | +--v-----------+ | | FE | 5. Return result to user | +--+-----------+ | | | | 2. Redirect to BE | | | +--v-----------+ +---+Coordinator BE| 1B. User submit load to BE +-+-----+----+-+ | | | +-----+ | +-----+ | | | 3. Distrbute data | | | +-v-+ +-v-+ +-v-+ |BE | |BE | |BE | +---+ +---+ +---+ Stream load中,Doris会选定一个节点作为Coordinator节点。该节点负责接数据并分发数据到其他数据节点。您可以通过HTTP协议提交导入命令。如果提交到FE,则FE会通过HTTP redirect指令将请求转发给某一个BE。用户也可以直接提交导入命令给某一指定BE。导入的最终结果由Coordinator BE返回给用户。
  • JDBC通过ssl方式连接doris(验证证书) 在应用层进行代码重试和负载均衡时,代码重试需要应用自己多个配置doris前端节点地址。比如发现一个连接异常退出,就自动在其他连接上进行重试。 前提条件:集群必须开启HTTPS。 下载证书请在集群详情页面下载。 在已安装mysql客户端的ecs服务器上先执行以下命令,导入服务器证书。 your_certificate_path:自定义证书存放路径。 your_truststore_name:自定义truststore名称。 your_truststore_password:自定义 truststore密码。 keytool -importcert -alias MySQLCACert -file your_certificate_path -keystore your_truststore_name -storepass your_truststore_password 运行该命令的过程中,需要手动输入yes,如下所示: 图1 运行图 执行以下代码样例。 以下java代码中your_truststore_path为truststore文件路径,your_truststore_password为上述命令设置的truststore密码。 public class Main { private static String URL = "jdbc:mysql:loadbalance://" + "[FE1_host]:[FE1_port],[FE2_host]:[FE2_port],[FE3_host]:[FE3_port]/[your_database]?" + "loadBalanceConnectionGroup=first&ha.enableJMX=true"; static Connection getNewConnection() throws SQLException, ClassNotFoundException { Class.forName("com.mysql.cj.jdbc.Driver"); System.setProperty("javax.net.ssl.trustStore","your_truststore_path"); System.setProperty("javax.net.ssl.trustStorePassword","your_truststore_password"); String user = "your_username"; String password = "your_password"; Properties props = new Properties(); props.setProperty("user", user); props.setProperty("password", password); props.setProperty("useSSL", "true"); props.setProperty("requireSSL", "true"); props.setProperty("verifyServerCertificate", "true"); props.setProperty("sslMode", "VERIFY_CA"); return DriverManager.getConnection(URL, props); } public static void main(String[] args) throws Exception { Connection c = getNewConnection(); try { System.out.println("begin print"); String query = "your sqlString"; c.setAutoCommit(false); Statement s = c.createStatement(); ResultSet resultSet = s.executeQuery(query); while(resultSet.next()) { int id = resultSet.getInt(1); System.out.println("id is: "+id); } System.out.println("end print"); Thread.sleep(Math.round(100 * Math.random())); c.close(); } catch (Exception e) { e.printStackTrace(); } } } 父主题: 通过JDBC方式连接Doris
共100000条