华为云用户手册

  • 定向流量配置规则 各运营商配置规则如下: 表格中的定向信息( 域名 /IP)仅用于举例,请勿直接使用,具体定向信息请根据您的实际情况填写。 * 通配符代表any,如https://*.example.com,该域名包含https://www.example.com、https://a.example.com、https://b.example.com等。* 仅可代表一段any,不能用https://*.*.com表示。 中国电信:定向IP不超过5个,定向域名不超过10个,IP和域名都有时总数不超过10个,仅域名支持通配符。配置时效5个工作日左右。示例如下: 类型 协议 是否通配 定向信息(仅作为示例参考,请勿直接使用) 端口号 域名 http 是 http://www.*.example.com:80 选填(默认80) 域名 https 否 https://www.example.com:443 选填(默认443) 域名 udp或者tcp 否 tcp://example.com 选填 域名 其它 是 mqtt://*.example.com 选填 IP -- -- 127.0.0.1 -- 中国联通:定向域名+定向IP最多可配置10个,http协议时系统默认会在最后加上"/*",http、https协议支持通配符。配置时效7个工作日左右。示例如下: 类型 协议 是否通配 定向信息(仅作为示例参考,请勿直接使用) 端口号 域名 http 否 http://www.example.com 选填 域名 https 是 https://*.example.com -- 域名 tcp或者udp -- tcp://example.com 选填 域名 其它 -- mqtt://example.com 选填 IP -- -- 127.0.0.1 选填 中国移动:定向域名+定向IP最多可配置10个,仅域名支持通配符。配置时效6周左右。示例如下: 类型 协议 是否通配 定向信息(仅作为示例参考,请勿直接使用) 端口号 域名 http 否 http://www.example.com 选填 域名 https 是 https://www.*.example.com 选填 域名 udp或者tcp 是 tcp://*.example.com 选填 域名 其它 否 mqtt://example.com 选填 IP -- -- 127.0.0.1 -- 三网:定向域名+定向IP最多可配置10个,仅域名支持通配符。配置时效5个工作日左右。示例如下: 类型 协议 是否通配 定向信息(仅作为示例参考,请勿直接使用) 端口号 域名 http 否 http://www.example.com 选填 域名 https 是 https://www.*.example.com 选填 域名 udp或者tcp 是 tcp://*.example.com 选填 域名 其它 否 mqtt://example.com 选填 IP -- -- 127.0.0.1 选填
  • 消费组 表3 消费组约束与限制 限制项 约束与限制 创建消费组的数量 消费组的数量根据产品规格确定,不支持修改。 当消费组的数量达到上限后,您无法继续创建消费组。 是否需要创建消费组、消费者、生产者 不需要单独创建消费组、生产者和消费者,在使用时自动生成,实例创建后,直接使用即可。 消费位点重置 支持重置消费2天内任意时间点的消息。 重置消费进度 重置消费进度可能会导致重复消费。 代理故障场景 实例中部分代理故障时,无法创建、修改和删除消费组,只能查询消费组。
  • 实例 表1 实例约束与限制 限制项 约束与限制 版本 实例创建后,不支持变更版本。建议服务端版本和客户端版本保持一致。 存储空间 磁盘类型创建完成后不可修改。 只支持扩大存储空间,不支持减小存储空间。 扩容存储空间有次数限制,最多扩容20次。 代理个数 只支持增加代理个数,不支持减小代理个数。 代理规格 支持扩容代理规格。 若实例Broker数为1,扩容期间会导致Broker主备切换,造成业务中断30秒以内。 若实例Broker数大于1,且Topic分布到多个Broker上,则扩容期间会发生秒级连接闪断。顺序消息可能会发生乱序,请谨慎评估业务影响,建议您在业务低峰期扩容。 修改VPC/子网/可用区 实例创建后,不支持修改VPC/子网/可用区。 Request-Reply机制 不支持此机制。 修改配置参数 不支持调用开源接口修改配置参数。
  • 规则 Hudi表必须设置合理的主键。 Hudi表提供了数据更新和幂等写入能力,该能力要求Hudi表必须设置主键,主键设置不合理会导致数据重复。主键可以为单一主键也可以为复合主键,两种主键类型均要求主键不能有null值和空值,可以参考以下示例设置主键: SparkSQL: -- 通过primaryKey指定主键,如果是复合主键需要用逗号分隔。 create table hudi_table ( id1 int, id2 int, name string, price double ) using hudi options ( primaryKey = 'id1,id2', preCombineField = 'price' ); SparkDatasource: --通过hoodie.datasource.write.recordkey.field指定主键。 df.write.format("hudi"). option("hoodie.datasource.write.table.type", COPY_ON_WRITE). option("hoodie.datasource.write.precombine.field", "price"). option("hoodie.datasource.write.recordkey.field", "id1,id2"). FlinkSQL: --通过hoodie.datasource.write.recordkey.field指定主键。 create table hudi_table( id1 int, id2 int, name string, price double ) partitioned by (name) with ( 'connector' = 'hudi', 'hoodie.datasource.write.recordkey.field' = 'id1,id2', 'write.precombine.field' = 'price') Hudi表必须配置precombine字段。 在数据同步过程中不可避免会出现数据重复写入、数据乱序问题,例如:异常数据恢复、写入程序异常重启等场景。通过设置合理precombine字段值可以保证数据的准确性,老数据不会覆盖新数据,也就是幂等写入能力。该字段可用选择的类型包括:业务表中更新时间戳、数据库的提交时间戳等。precombine字段不能有null值和空值,可以参考以下示例设置precombine字段: SparkSQL: --通过preCombineField指定precombine字段。 create table hudi_table ( id1 int, id2 int, name string, price double ) using hudi options ( primaryKey = 'id1,id2', preCombineField = 'price' ); SparkDatasource: --通过hoodie.datasource.write.precombine.field指定precombine字段。 df.write.format("hudi"). option("hoodie.datasource.write.table.type", COPY_ON_WRITE). option("hoodie.datasource.write.precombine.field", "price"). option("hoodie.datasource.write.recordkey.field", "id1,id2"). Flink: --通过write.precombine.field指定precombine字段。 create table hudi_table( id1 int, id2 int, name string, price double ) partitioned by (name) with ( 'connector' = 'hudi', 'hoodie.datasource.write.recordkey.field' = 'id1,id2', 'write.precombine.field' = 'price') 流式计算采用MOR表。 流式计算为低时延的实时计算,需要高性能的流式读写能力,在Hudi表中存在的MOR和COW两种模型中,MOR表的流式读写性能相对较好,因此在流式计算场景下采用MOR表模型。关于MOR表在读写性能的对比关系如下: 对比维度 MOR表 COW表 流式写 高 低 流式读 高 低 批量写 高 低 批量读 低 高 实时入湖,表模型采用MOR表。 实时入湖一般的性能要求都在分钟内或者分钟级,结合Hudi两种表模型的对比,因此在实时入湖场景中需要选择MOR表模型。 Hudi表名以及列名采用小写字母。 多引擎读写同一张Hudi表时,为了规避引擎之间大小写的支持不同,统一采用小写字母。
  • 建议 Spark批处理场景,对写入时延要求不高的场景,采用COW表。 COW表模型中,写入数据存在写放大问题,因此写入速度较慢;但COW具有非常好的读取性能力。而且批量计算对写入时延不是很敏感,因此可以采用COW表。 Hudi表的写任务要开启Hive元数据同步功能。 SparkSQL天然与Hive集成,无需考虑元数据问题。该条建议针对的是通过Spark Datasource API或者Flin写Hudi表的场景,通过这两种方式写Hudi时需要增加向Hive同步元数据的配置项;该配置的目的是将Hudi表的元数据统一托管到Hive元数据服务中,为后续的跨引擎操作数据以及数据管理提供便利。
  • 规则 有数据持续写入的表,24小时内至少执行一次compaction。 对于MOR表,不管是流式写入还是批量写入,需要保证每天至少完成1次Compaction操作。如果长时间不做compaction,Hudi表的log将会越来越大,这必将会出现以下问题: Hudi表读取很慢,且需要很大的资源。 这是由于读MOR表涉及到log合并,大log合并需要消耗大量的资源并且速度很慢。 长时间进行一次Compaction需要耗费很多资源才能完成,且容易出现OOM。 阻塞Clean,如果没有Compaction操作来产生新版本的Parquet文件,那旧版本的文件就不能被Clean清理,增加存储压力。 CPU与内存比例为1:4~1:8。 Compaction作业是将存量的parquet文件内的数据与新增的log中的数据进行合并,需要消耗较高的内存资源,按照之前的表设计规范以及实际流量的波动结合考虑,建议Compaction作业CPU与内存的比例按照1:4~1:8配置,保证Compaction作业稳定运行。当Compaction出现OOM问题,可以通过调大内存占比解决。
  • 优化shuffle并行度,提升Spark加工效率 所谓的shuffle并发度如下图所示: 集群默认是200,作业可以单独设置。如果发现瓶颈stage(执行时间长),且分配给当前作业的核数大于当前的并发数,说明并发度不足。通过以下配置优化。 场景 配置项 集群默认值 调整后 Jar作业 spark.default.parallelism 200 按实际作业可用资源2倍设置 SQL作业 spark.sql.shuffle.partitions 200 按实际作业可用资源2倍设置 hudi入库作业 hoodie.upsert.shuffle.parallelism 200 非bucket表使用,按实际作业可用资源2倍设置 动态资源调度情况下(spark.dynamicAllocation.enabled= true)时,资源按照spark.dynamicAllocation.maxExecutors评估。
  • 初始化Hudi表时,可以使用BulkInsert方式快速写入数据 示例: set hoodie.combine.before.insert=true; --入库前去重,如果数据没有重复 该参数无需设置。 set hoodie.datasource.write.operation = bulk_insert; --指定写入方式为bulk insert方式。 set hoodie.bulkinsert.shuffle.parallelism = 4; --指定bulk_insert写入时的并行度,等于写入完成后保存的分区parquet文件数。 insert into dsrTable select * from srcTabble
  • 调整Spark调度参数优化OBS场景下Spark调度时延 开启对于OBS存储,可以关闭Spark的本地性进行优化,尽可能提升Spark调度效率 配置项 集群默认值 调整后 --conf spark.locality.wait 3s 0s --conf spark.locality.wait.process 3s 0s --conf spark.locality.wait.node 3s 0s --conf spark.locality.wait.rack 3s 0s
  • Spark加工Hudi表时其他参数优化 设置spark.sql.enableToString=false,降低Spark解析复杂SQL时候内存使用,提升解析效率。 设置spark.speculation=false,关闭推测执行,开启该参数会带来额外的cpu消耗,同时Hudi不支持启动该参数,启用该参数写Hudi有概率导致文件损坏。 配置项 集群默认值 调整后 --conf spark.sql.enableToString true false --conf spark.speculation false false
  • 优化Spark Shuffle参数提升Hudi写入效率 开启spark.shuffle.readHostLocalDisk=true,本地磁盘读取shuffle数据,减少网络传输的开销。 开启spark.io.encryption.enabled=false,关闭shuffle过程写加密磁盘,提升shuffle效率。 开启spark.shuffle.service.enabled=true,启动shuffle服务,提升任务shuffle的稳定性。 配置项 集群默认值 调整后 --conf spark.shuffle.readHostLocalDisk false true --conf spark.io.encryption.enabled true false --conf spark.shuffle.service.enabled false true
  • 实时任务接入 实时作业一般由Flink Sql或Sparkstreaming来完成,流式实时任务通常配置同步生成compaction计划,异步执行计划。 Flink SQL作业中sink端Hudi表相关配置如下: create table denza_hudi_sink ( $HUDI_SINK_SQL_REPLACEABLE$ ) PARTITIONED BY ( years, months, days ) with ( 'connector' = 'hudi', --指定写入的是Hudi表。 'path' = 'obs://XXXXXXXXXXXXXXXXXX/', --指定Hudi表的存储路径。 'table.type' = 'MERGE_ON_READ', --Hudi表类型。 'hoodie.datasource.write.recordkey.field' = 'id', --主键。 'write.precombine.field' = 'vin', --合并字段。 'write.tasks' = '10', --flink写入并行度。 'hoodie.datasource.write.keygenerator.type' = 'COMPLEX', --指定KeyGenerator,与Spark创建的Hudi表类型一致。 'hoodie.datasource.write.hive_style_partitioning' = 'true', --使用hive支持的分区格式。 'read.streaming.enabled' = 'true', --开启流读。 'read.streaming.check-interval' = '60', --checkpoint间隔,单位为秒。 'index.type'='BUCKET', --指定Hudi表索引类型为BUCKET。 'hoodie.bucket.index.num.buckets'='10', --指定bucket桶数。 'compaction.delta_commits' = '3', --compaction生成的commit间隔。 'compaction.async.enabled' = 'false', --compaction异步执行关闭。 'compaction.schedule.enabled' = 'true', --compaction同步生成计划。 'clean.async.enabled' = 'false', --异步clean关闭。 'hoodie.archive.automatic' = 'false', --自动archive关闭。 'hoodie.clean.automatic' = 'false', --自动clean关闭。 'hive_sync.enable' = 'true', --自动同步hive表。 'hive_sync.mode' = 'jdbc', --同步hive表方式为jdbc。 'hive_sync.jdbc_url' = '', --同步hive表的jdbc url。 'hive_sync.db' = 'hudi_cars_byd', --同步hive表的database。 'hive_sync.table' = 'byd_hudi_denza_1s_mor', --同步hive表的tablename。 'hive_sync.metastore.uris' = 'thrift://XXXXX:9083 ', --同步hive表的metastore uri。 'hive_sync.support_timestamp' = 'true', --同步hive表支持timestamp格式。 'hive_sync.partition_extractor_class' = 'org.apache.hudi.hive.MultiPartKeysValueExtractor' --同步hive表的extractor类。 ); Spark streaming写入Hudi表常用的参数如下(参数意义与上面flink类似,不再做注释): hoodie.table.name= hoodie.index.type=BUCKET hoodie.bucket.index.num.buckets=3 hoodie.datasource.write.precombine.field= hoodie.datasource.write.recordkey.field= hoodie.datasource.write.partitionpath.field= hoodie.datasource.write.table.type= MERGE_ON_READ hoodie.datasource.write.hive_style_partitioning=true hoodie.compact.inline=true hoodie.schedule.compact.only.inline=true hoodie.run.compact.only.inline=false hoodie.clean.automatic=false hoodie.clean.async=false hoodie.archive.async=false hoodie.archive.automatic=false hoodie.compact.inline.max.delta.commits=50 hoodie.datasource.hive_sync.enable=true hoodie.datasource.hive_sync.partition_fields= hoodie.datasource.hive_sync.database= hoodie.datasource.hive_sync.table= hoodie.datasource.hive_sync.partition_extractor_class=org.apache.hudi.hive.MultiPartKeysValueExtractor 父主题: Bucket调优示例
  • 离线Compaction配置 对于MOR表的实时业务,通常设置在写入中同步生成compaction计划,因此需要额外通过DataArts或者脚本调度SparkSQL去执行已经产生的compaction计划。 执行参数 set hoodie.compact.inline = true; --打开compaction操作。 set hoodie.run.compact.only.inline = true; --compaction只执行已生成的计划,不产生新计划。 set hoodie.cleaner.commits.retained = 120; --清理保留120个commit。 set hoodie.keep.max.commits = 140; --归档最大保留140个commit。 set hoodie.keep.min.commits = 121; --归档最小保留121个commit。 set hoodie.clean.async = false; --打开异步清理。 set hoodie.clean.automatic = false; --关闭自动清理,防止compaction操作触发clean。 run compaction on $tablename; --执行compaction计划。 run clean on $tablename; --执行clean操作清理冗余版本。 run archivelog on $tablename; --执行archivelog合并清理元数据文件。 关于清理、归档参数的值不宜设置过大,会影响Hudi表的性能,通常建议: hoodie.cleaner.commits.retained = compaction所需要的commit数的2倍 hoodie.keep.min.commits = hoodie.cleaner.commits.retained + 1 hoodie.keep.max.commits = hoodie.keep.min.commits + 20 执行compaction后再执行clean和archive,由于clean和archivelog对资源要求较小,为避免资源浪费,使用DataArts调度的话可以compaction作为一个任务,clean、archive作为一个任务分别配置不同的资源执行来节省资源使用。 执行资源 Compaction调度的间隔应小于Compaction计划生成的间隔,例如1小时左右生成一个Compaction计划的话,执行Compaction计划的调度任务应该至少半小时调度一次。 Compaction作业配置的资源,vcore数至少要大于等于单个分区的桶数,vcore数与内存的比例应为1:4即1个vcore配4G内存。 父主题: Bucket调优示例
  • Spark写Hudi各种写入模式参数规范说明 类型 说明 开启参数 场景选择 特点 upsert update + insert Hudi默认写入类型,写入具有更新能力。 默认,无需参数开启。 SparkSQL: set hoodie.datasource.write.operation=upsert; DataSource Api: df.write .format("hudi") .options(xxx) .option("hoodie.datasource.write.operation", "upsert") .mode("append") .save("/tmp/tablePath") 默认选择。 优点: 支持小文件合并。 支持更新。 缺点: 写入速度中规中矩。 append 数据无更新直接写入 Spark:Spark侧没有纯append模式可使用bulk insert模式替代。 SparkSQL: set hoodie.datasource.write.operation = bulk_insert; set hoodie.datasource.write.row.writer.enable = true; DataSource Api: df.write .format("hudi") .options(xxx) .option("hoodie.datasource.write.operation", "bulk_insert") .option("hoodie.datasource.write.row.writer.enable", "true") .mode("append") .save("/tmp/tablePath") 追求高吞吐,无数据更新场景。 优点: 写入速度最快。 缺点: 无小文件合并能力。 无更新能力。 需要clustering合并小文件。 delete 删除操作 无需参数,直接使用delete语法即可: delete from tableName where primaryKey='id1'; SQL删除数据数据场景。 和upsert类型一样。 Insert overwrite 覆写分区 无需参数,直接使用insert overwrite语法即可: insert overwrite table tableName partition(dt ='2021-01-04') select * from srcTable; 分区级别重新。 覆写分区。 Insert overwrite table 覆写全表 无需参数,直接使用insert overwrite语法即可: insert overwrite table tableName select * from srcTable; 全部重写。 覆写全表。 Bulk_insert 批量导入 SparkSQL: set hoodie.datasource.write.operation = bulk_insert; set hoodie.datasource.write.row.writer.enable = true; DataSource Api: df.write .format("hudi") .options(xxx) .option("hoodie.datasource.write.operation", "bulk_insert") .option("hoodie.datasource.write.row.writer.enable", "true") .mode("append") .save("/tmp/tablePath") 建议表初始化搬迁的时候使用。 和append模式一样。
  • 第三方平台的直播画面突然中断是怎么回事? 可能是MetaStudio控制台自动退出登录导致。 排查和修改方法,如下所示: 在MetaStudio控制台直播间开播成功时,需要参考图1,单击URL地址右侧的拦截图标,从下拉框中选择允许弹出窗口。 图1 直播间开播 单击“完成”,会新增弹出如图2和图3所示的2个浏览器窗口。 MetaStudio控制台超过10分钟不操作,默认会退出登录,导致第三方直播平台的直播画面也中断。需要确保图3的窗口始终是打开的,直播过程中一定不能关闭,这样第三方直播平台的直播才能顺利完成。 图2 直播窗口 图3 确保直播过程不中断的窗口 父主题: 视频直播
  • 关联组织 登录AppStage控制台。 在左侧导航,选择“总览”,在页面顶部根据提示单击“去关联”;或在“应用平台使用向导”区域的“关联组织”节点单击“去关联”以关联使用AppStage的组织。 无组织,新建组织,执行如下操作。 在“创建组织”页面,设置组织名称。 名称由1~60个中文、英文、数字及合法字符组成。 设置组织的域名。 域名是指网址 (如www.example.com) 中“www.”之后的内容,以及电子邮件地址 (如《用户名》@example.com)中“@”符号之后的内容。 域名设置后组织管理员为组织创建成员时,创建的成员账号默认带有域名后缀,如设置的组织域名为abc.orgid.top,创建的成员账号为xxx@abc.orgid.top,设置的组织域名为example.com,创建的成员账号为xxx@example.com。 没有域名,域名可以输入组织简称,使用2~30位字母、数字和.-或它们的组合,如abc,后缀名为固定的.orgid.top,如图1所示。 图1 设置组织域名 已有域名,单击“使用自有域名”,输入自有域名,例如example.com,如图2所示。 图2 使用自有域名 阅读并勾选相关服务协议,单击“创建”。 组织创建成功。 单击“去关联”,选择租户要关联的组织。 已有组织,则单击“去关联”,选择租户要关联的组织。
  • 购买AppStage 打开AppStage官网页,单击“控制台”,并登录。 在应用平台控制台首页,单击“立即购买”。 根据需求购买。 购买AI原生应用引擎 选择“AI原生应用管理”页签。 在“订购方式”区域下,选择“自由订购”或“定制套餐”。 自由订购:执行3.c。 定制套餐:选择套餐包,选择购买时长,根据需求勾选“自动续费”。 在“计费模式”区域下,选择“按需计费”或“包年/包月”。 当“订购方式”选择“自由订购”时,执行此步骤。 按需计费:在“模型”区域,勾选要购买的资源。 包年包月:选择套餐包并配置规格,选择购买时长,根据需求勾选“自动续费”。 在“协议许可”区域勾选“我已阅读并同意《应用平台AppStage服务声明》”,单击“下一步”。 在“确认配置”页面确认订购的产品信息,单击“去支付”。 在“支付方式”区域,选择支付方式,单击“确认付款”。 支付完成后,系统会提示“订单支付成功”。 购买开发中心/运维中心/运营中心 选择“应用生命周期管理”页签。 在“选择产品类型”区域,请根据业务需求选择所需产品并配置规格。 (可选)在“选择增量包类型”区域,可以选择运维中心/运营中心的扩展包或增量包,并配置规格。 在“购买时长”区域,选择购买时长,根据需求勾选“自动续费”。 在“协议许可”区域勾选“我已阅读并同意《应用平台AppStage服务声明》”。 单击右下角“立即购买”。 在“确认配置”页面确认订购的产品信息,单击“去支付”。 在“支付方式”区域,选择支付方式,单击“确认付款”。 支付完成后,系统会提示“订单支付成功”。
  • 相关操作 在应用平台控制台“总览”页面,支持的其他操作请参考表1。 表1 相关操作 操作 说明 快速订购 在“套餐详情”区域,单击“快速订购”。购买未开通的资源。 变更规格 在“套餐详情”区域,单击“变更规格”。 续费 在“套餐详情”区域,单击“续费”。 退订 退订已购买的包年包月资源,适用于退订AI原生应用引擎/开发中心/运维中心/运营中心/的包年/包月资源。 在“套餐详情”区域,单击“退订”。 退订已购买的按需计费资源,适用于退订AI原生应用引擎的按需计费资源。 在应用平台控制台左侧导航栏选择“AI原生应用引擎”,在AI原生应用引擎详情页面的“我的资源”区域的资源列表中,单击需要停止计费的资源“操作”列的“退订”。
  • 相关操作 在“权限管理”页面,支持的其他操作请参考表1。 表1 相关操作 操作 步骤 延期权限 在“我的权限”页面,勾选需要延期的权限,单击“延期申请”。 取消权限 在“我的权限”页面,勾选需要取消的权限,单击“取消权限”。 查看权限申请信息 在“我的申请”页面,可以查看权限申请状态、审批结果信息。 查看详情:可以查看申请人的详细信息,以及审批人。可撤回“申请状态”为“审批中”的权限申请。 复制审批链接:复制审批链接提供给审批人进行审批。 查看我的权限变更记录 在“我的权限变更记录”界面,通过日期查询权限变更记录。 修改岗位/角色 在“岗位/角色配置”页面,在对应的“操作”列下,单击“编辑”。 “岗位/角色配置”页面仅组织管理员可见。 仅运维中心的一级审批人、二级审批人、三级审批人的“岗位/角色”“岗位/角色描述”可修改。 在岗位/角色中新增成员 在“岗位/角色配置”页面,在对应的“操作”列下,单击“成员列表”。 “岗位/角色配置”页面仅组织管理员可见。
  • 2024/11/6- WeLink PC端升级公告(NEW) 尊敬的华为云WeLink客户: 为进一步提升用户体验,华为云WeLink消息服务计划于2024年11月8日升级用户状态(头像右下角小绿点)服务,升级后WeLink PC端最低支持V7.13版本。 为避免影响您查看他人的在线状态,请尽快升级到WeLink PC最新版本,官网下载地址:https://www.huaweicloud.com/product/welink-download.html 。 给您带来不便,敬请谅解!如您有任何问题,可随时通过WeLink帮助与反馈或服务热线( 4000-955-988或950808 )与我们联系。 感谢您对华为云WeLink的支持! 华为云WeLink PC端用户状态升级公告.docx
  • 配置云手机服务器国内流量分流(可选) 参考以上“操作步骤”第6步,在国内云手机所在Region,购买EIP、公网NAT网关,并配置好SNAT规则。此处有一个差异,不需要配置路由表目的地址0.0.0.0/0到NAT网关。 参考以上“操作步骤”第2、3步,进入云手机服务器详情页面,找到“路由表”。 单击路由表名称,进入路由表页面,单击“添加路由”。 在弹出的对话框中,目的地址输入需要分流到国内的IP地址或网段,下一跳类型选择“NAT网关”,下一跳选择第1步购买的公网NAT网关,然后确定。 如果有其它IP地址或网段需要分流,重复第4步添加。
  • 升级AOSP版本 方法一(保留用户数据) 云手机重启接口支持切换AOSP镜像版本,同时保留用户数据,操作详情请参考重启云手机实例。 注意: 重启接口支持将低版本镜像升级成高版本,但不支持将高版本镜像降级为低版本。 如果您没有保留用户数据的强烈诉求,推荐您使用方法二切换AOSP版本,应用不兼容的风险更小。 方法二(不保留用户数据) 云手机重置接口支持切换AOSP镜像版本,操作详情请参考重置云手机实例。 注意: 重置接口支持将低版本镜像升级成高版本,也支持将高版本镜像回退为低版本。
  • 配置应用部署步骤并部署应用 配置应用部署步骤。 切换到“部署步骤”页签,单击“编辑”对部署步骤进行参数配置。 安装JDK 表2 安装JDK参数说明 参数项 是否必填 说明 步骤显示名称 是 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 环境 是 选择当前资源类型为主机集群的环境,作为部署对象。 jdk版本 是 选择要安装的jdk版本。 jdk安装路径 是 jdk的安装路径。 控制选项 否 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 安装Tomcat 表3 安装Tomcat参数说明 参数项 是否必填 说明 步骤显示名称 是 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 环境 是 选择当前资源类型为主机集群的环境,作为部署对象。 tomcat版本 是 选择要安装的tomcat的版本号。 安装路径 是 tomcat的安装路径。 http端口 是 默认为8080。 ajp端口 是 默认为8009。 shutdown端口 是 默认为8005。 控制选项 否 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 停止Tomcat服务 表4 停止Tomcat服务参数说明 参数项 是否必填 说明 步骤显示名称 是 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 环境 是 选择当前资源类型为主机集群的环境,作为部署对象。 服务操作类型 是 配置启动服务或者停止服务。 服务对应的绝对路径 是 Tomcat服务的路径。 控制选项 否 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 选择部署来源 表5 选择部署来源参数说明 参数项 是否必填 说明 步骤显示名称 是 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 选择源类型 是 包括“制品仓库”和“构建任务”两种类型。 环境 是 选择当前资源类型为主机集群的环境,作为部署对象。 选择软件包 是 可以选择制品仓库已有软件包,也可以选择本地上传的软件包/文件。 package_url是软件包在制品仓库中的路径。 说明: 本地上传的软件包/文件会上传到到制品仓库,可以重复使用。 下载到主机的部署目录 是 软件包下载后的路径。 控制选项 否 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 此处的部署来源以选择“制品仓库”为例,进行相应的参数说明。如部署来源选择“构建任务”,相关信息可参考用户指南里选择部署来源章节。 启动Tomcat服务 表6 启动Tomcat服务参数说明 参数项 是否必填 说明 步骤显示名称 是 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 环境 是 选择当前资源类型为主机集群的环境,作为部署对象。 服务操作类型 是 配置启动服务或者停止服务。 服务对应的绝对路径 是 Tomcat服务的路径。 http端口 是 Tomcat服务监听的http端口。 ajp端口 是 Tomcat服务监听的ajp端口。 shutdown端口 是 Tomcat服务监听的shutdown端口。 等待时间 是 等待已设置的时长后将监测服务是否已成功启动。可根据服务启动实际所需时间进行调整,如时间设置不合理,会导致检测结果无效。 输入限制:0-300,单位“秒”。 组件监控 否 配置是否启用应用运维服务( AOM ),该服务提供指标监控、日志查询、告警功能(勾选后自动安装数据采集器 ICAgent,仅支持华为云linux主机,且与此应用在同一region下),详细请参见配置组件监控。 服务关联组件 是 如勾选“组件监控”,则会配置此项参数。 此处选择或新建当前启动服务需要关联的组件。 日志路径 否 如勾选“组件监控”,则会配置此项参数。 填写服务的日志文件路径。日志文件仅支持以.log、.trace和.out结尾的文件,可以配置文件夹路径,且最多配置10个路径 控制选项 否 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 URL健康测试 表7 URL健康测试参数说明 参数项 是否必填 说明 步骤显示名称 是 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 环境 是 选择当前资源类型为主机集群的环境,作为部署对象。 重试次数 是 失败后重试次数,超过重试次数服务未启动会导致URL检测失败。 间隔时间 是 两次重试的间隔时间。 输入限制:0-60,单位“秒”。 测试路径 是 待测试服务的路径,可以添加多个。 控制选项 否 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 ”URL健康测试”的参数填写完成后,即完成了所有的参数配置。更多应用配置请参考配置CodeArts Deploy应用的参数。 部署应用。 配置好上述参数后,单击“保存并部署”即可开始部署应用。 应用部署成功。 应用部署失败时,可参考以下流程排查原因。 查看自动匹配解决方案 如果应用部署失败,可单击原子操作下的“查看解决方案”,前往对应的帮助中心页面。 手动搜索解决方案 如果所匹配的帮助中心页面未能解决问题,可将错误信息(即框图内容)粘贴到帮助中心的搜索栏,进行手动搜索解决方案。 发起技术支持申请 如果仍未能搜索到可行的解决方案,您可新建工单申请华为工程师协助。
  • 什么是组件? 组件(即Widget)是可复用的页面组成元素,一个页面由一个或多个Widget拼装而成。如果将一个页面看成拼图游戏的完整图案,那么Widget相当于拼图的每一小块。 Widget的运行依赖Library,如果缺少相应的Library,则Widget不能正常运行。如果页面要使用前端框架或组件库,例如流行的Vue、Bootstrap、ElementUI等,需要将其制作成Library资产,然后上传到环境中使用。
  • AstroCanvas中组件 介绍AstroCanvas支持的组件类型,以及每个类型下所包含的具体组件,帮助您快速了解各组件的位置分类,更加高效的开发可视化应用。目前AstroCanvas中支持如下类型的组件,各组件详情介绍请参见组件介绍。当预置组件不满足需求时,还可以自定义组件并上传到AstroCanvas中使用,详情请参见自定义组件说明。 当前仅“Astro大屏应用专业版”实例,才提供Echarts图表组件。 图2 AstroCanvas中组件
  • 组件通用设置 在AstroCanvas某个可视化页面中,单击画布中的某一个组件,组件上方会出现配置项面板,如图3。AstroCanvas中组件的配置项菜单分为卡片、指标、图形、图例、提示、参考线和坐标轴七大类(不同的组件展示有所不同,请以实际展示的为准)。 图3 组件配置项面板 图4 组件七大分类设置效果 卡片是指包裹图表组件的外层架构,可以理解为组件由卡片中基础元素(卡片标题、图表、卡片背景、卡片边框)和图表元素构成。 图形是指组件中,实现 数据可视化 的具体图形表达元素,例如饼图的扇区、柱状图的柱子、折线图的线条、拐点等。 图例是指在多维度可视化图形表达中,用以区分不同维度可视化图形的提示标识。 提示(悬浮提示)主要用于展示可视化图表组件,在具体维度节点的具体指标展示。 指标是指可视化组件中,对除可视化图形之外的具体补充,即主要以文字和数字的表现形式,为可视化组件提供具体数值的参考。 坐标轴是指对图表组件,进行坐标系相关样式、颜色、位置和行为的设置。 参考线是指为图表组件添加可视化的参考标准,为图表中数据提供具体的参考依据。
  • 操作步骤 参考登录AstroCanvas界面中操作,登录AstroCanvas界面。 在项目列表中,单击页面所在的项目,进入项目。 在所有页面中,单击待发布为模板的页面。 单击“编辑页面”,进入大屏开发页面。 在大屏开发页面,单击,选择“发布为模板”。 在大屏开发页面,单击。 填写模板名称和模板描述,单击“发布”。 模板名称的长度不能超过60个字符,且只能包含字母、数字、汉字及特殊符号“-”或“_”。 图1 发布自定义页面模板 发布完成后,本租户下的其他用户登录AstroCanvas新建页面时,即可在“自定义模板”中,使用页面模板创建页面。 图2 使用自定义模板创建页面
  • 步骤三:安装运行环境 部署AstroCanvas服务。 登录您的服务器,创建安装目录。 cd /home/ mkdir canvas_private 其中,“canvas_private”为安装目录,可自定义。本章节以在“home”目录创建安装目录为例进行介绍,您也可以在其他目录下创建该目录。 将步骤二:下载运行环境中获取的AstroCanvas运行环境部署包(AstroCanvas_Runtime.zip),上传到安装目录下。 解压已上传的部署包,并进入已解压后的目录。 unzip AstroCanvas_Runtime.zip cd AstroCanvas_Runtime 图6 解压后包中的内容 进入config目录,新增“application.yml”配置文件。 cd config vi application.yml 在配置文件中,添加如下内容: # 配置当前机器的ip(默认127.0.0.1) hostIp: 10.10.*.* # 配置http连接器超时时间(默认3000) http: connectTimeout: 30000 socketTimeout: 30000 magno: deploy: # 配置私有化环境启动端口(默认8081) serverPort: 19996 # 配置是否开启匿名访问,默认是false,开启则改为true enableAnonymous: false # 租户ID tenantId: tenant-2bb76b9b9f24****09737a83 其中,“tenantId”为租户ID,请参考步骤二:下载运行环境中操作,进入“本地部署信息”页面。在租户ID后,单击,即可复制租户ID。 图7 复制租户ID 进入解压后的目录,执行启动命令。 cd /home/canvas_private/AstroCanvas_Runtime sh start.sh 如果启动失败,请查看启动日志“/home/canvas_private/AstroCanvas_Runtime/startlogs/start.log”。如果提示权限不足,请返回安装目录,设置目录下所有文件为最大权限。 cd /home/canvas_private/AstroCanvas_Runtime chmod -R 777 AstroCanvas_Runtime 其他常用操作及命令如下: 查看日志:/home/canvas_private/AstroCanvas_Runtime/logs/***-PrivateDeployApp.log 重启服务:sh restart.sh,执行启动命令后,如果修改了“application.yml”文件,需要执行该命令,重启启动。 停止服务:sh stop.sh 服务启动后,在浏览器中,输入AstroCanvas服务所在服务器的IP地址和端⼝,获取机器码。 http://10.10.*.*:19996/ 其中,“10.10.*.*”为1.d中,修改application.yml时配置的服务器ip、“19996”为端口。 图8 复制服务器机器码 注册服务器。 在AstroCanvas界面,单击右上角的账号名,选择“本地部署”。 图9 选择本地部署 在本地部署信息页面,单击“注册”。 图10 选择新建服务机器码 输入服务器机器码和名称,单击“确定”,生成测试Key。 图11 生成测试Key 其中,“服务器机器码”请配置为2中获取的内容,服务器名称请根据实际情况进行配置。 返回本地部署信息页面,单击服务器机器码后的,下载测试Key文件(runtime.key)。 图12 下载测试Key文件 将获取的测试Key,上传到本地服务器的“/home/canvas_private/AstroCanvas_Runtime/config”目录下,验证服务器部署情况。 cd /home/canvas_private/AstroCanvas_Runtime/config 测试Key有效期为3天,过期后请使用机器码重新注册并生成测试Key或启用为正式Key。下载新的Key后,需要删除原先的Key,替换为新的Key。 使用机器码生成新的测试Key时,需要先删除失效的Key,再重新注册。因为一个机器码只能注册一个Key。 在浏览器中,输入AstroCanvas服务所在服务器的IP地址和端⼝,可正常进入AstroCanvas界面,说明已部署成功。 http://10.10.*.*:19996/ 其中,“10.10.*.*”为1.d中,修改application.yml时配置的服务器公网ip,“19996”为端口。 验证无误后,单击测试Key右侧操作栏中的,在弹出的页面单击“确定”,启动测试Key。 图13 启动测试Key 启动成功后,返回本地部署信息页面,可查看到“Key类型”由“测试”变为“正式”。 图14 正式Key 下载正式Key文件(runtime.key),替换测试Key的runtime.key文件,替换后重启服务即可使用。
  • 步骤四:使用私有化部署的AstroCanvas服务 在浏览器中,输入AstroCanvas服务所在服务器的IP地址和端⼝,进入AstroCanvas界面。 http://10.10.*.*:19996/ 其中,“10.10.*.*”为1.d中,修改application.yml时配置的服务器公网ip,“19996”为端口。 获取可视化应用本地部署包。 在步骤一:购买AstroCanvas企业版实例中,单击AstroCanvas实例中的“进入首页”,进入AstroCanvas界面。 在项目列表中,将鼠标放在对应的项目上,单击。 图15 单击下载本地部署包图标 在弹出的页面,勾选需要下载的页面,单击“下载本地部署包”。 可视化应用本地部署包用于在部署后的AstroCanvas运行环境中安装应用,实现项目的迁移,包名为“AstroCanvas_项目名_随机编码.zip“。 添加可视化应用。 在项目列表中,单击“导入项目包”。 选择2中下载的可视化应用本地部署包(AstroCanvas_项目名_随机编码.zip)。 在项目列表中,可查看到项目已成功导入。 配置数据源密码和加密字段。 在运行环境中导入可视化应用本地部署包后,如果应用包中包含关系型数据库和HTTP连接器数据源,需要重新配置密码和加密字段。 图16 修改关系型数据库数据源密码 图17 修改HTTP连接器数据源加密字段
  • 步骤一:购买AstroCanvas企业版实例 进入购买Astro大屏应用实例页面。 实例版本选择“Astro大屏应用企业版”,选择购买时长,单击“立即购买”。 选择支付方式,单击“确认付款”,完成订单支付。 图2 确认付款 订单支付成功后,单击“返回Astro轻应用控制台”。 在Astro大屏应用控制台中,可以查看到Astro大屏应用的安装状态。当“实例状态”变为“运行中”时,说明实例已安装好,可以正常使用。 图3 Astro大屏应用控制台 单击实例中的“进入首页”,进入AstroCanvas界面,开发页面并发布。 如何使用AstroCanvas开发可视化页面,请参见创建页面。
共100000条