华为云用户手册

  • 解决方法 执行如下两条命令。 grep "^[ \t]*include" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v "include mime.types;"|grep -v "'lua/nginx.http.lua.conf'"|grep -v "include vhosts/"|grep -v "include slb_conf/" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*include"|grep -v "include geoip.txt;"|grep -v "include geoip_country.txt;"|grep -v "include vhosts/" 根据以上两条命令的结果进行调整(将出现的内容注释掉),然后重新部署即可。
  • 解决方法 登录SLB实例主机,执行命令su os用户切换业务账号,然后执行以下命令: openssl req -new -newkey rsa:2048 -days 3650 -sha256 -nodes -x509 \-subj '/CN=dummy' \-keyout /opt/huawei/openresty/nginx/conf/ssl/dummy.key \-out /opt/huawei/openresty/nginx/conf/ssl/dummy.pem
  • 问题现象 SLB部署失败,日志详细信息提示如下: "cannot access /opt/huawei/openresty/nginx/conf/ssl/sample/resty-auto-ssl-fallback.pem. Permission denined" "cannot access /opt/huawei/openresty/nginx/conf/ssl/sample/resty-auto-ssl-fallback.key. Permission denined"
  • 解决方法 登录SLB实例主机,先执行启动命令/opt/huawei/openresty/init.d/nginx start,确认nginx启动失败的原因,可能是以下两种: 版本选装错误 图1 版本选装错误 解决方法:登录SLB实例主机,执行cat /proc/version,查看环境系统,SLB分为ARM、X86两个版本,界面上部署时需要选择与环境系统一样的包。 系统参数配置不正确 部署完之后,启动时提示参数不正确。 图2 参数配置不正确 解决方法:重新配置参数,参照参数配置不正确。
  • 解决方法 登录SLB实例主机,执行以下几条命令,先将找到的html文件注释掉,然后部署。 grep "^[ \t]*root" /opt/huawei/openresty/nginx/conf/nginx.conf|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" grep "^[ \t]*root" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v " /"|grep -v " html/"|grep -v " html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*root"|awk -F ":" '{print $2}'|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*root"|awk -F ":" '{print $2}'|grep -v " /"|grep -v " html/"|grep -v " html;" grep "^[ \t]*alias" /opt/huawei/openresty/nginx/conf/nginx.conf|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" grep "^[ \t]*alias" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v " /"|grep -v " html/"|grep -v " html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*alias"|awk -F ":" '{print $2}'|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*alias"|awk -F ":" '{print $2}'|grep -v " /"|grep -v " html/"|grep -v " html;"
  • 解决方法 系统参数修改 登录SLB实例主机,执行命令vim /etc/sysctl.conf,加入以下三行: fs.file-max = 1024000 fs.nr_open = 1048576 net.ipv4.ip_local_port_range = 1024 65535 执行命令/sbin/sysctl -p,刷新sysctl.conf文件。 执行命令vim /etc/security/limits.conf,加入以下两行: * soft nofile 1024000 * hard nofile 1024000 执行命令,su os用户,执行ulimit -n查看使limits.conf生效。
  • 排查定位 登录SLB实例主机,执行命令curl -k -v https://172.25.100.42:2379检查网络是否通畅。 若网络不通,执行命令ps -ef|grep easyconf,检查进程是否存在。 执行命令cat /opt/huawei/logs/easyconf/confagent_monitor.count,检查返回值是否为5;若不是,执行命令vim /opt/huawei/logs/easyconf/confagent_monitor.count修改。
  • 问题现象 SLB部署失败,日志详细信息提示如下: step2_install : generate confd conf & templates /opt/huawei/easyconf/sbin/confagent[27688]: FATAL Can't get local ip" ... "etcd_addr": "172.25.100.42:2379,172.25.100.43:2379,172.25.101.42:2379",
  • 解决方法 登录SLB实例主机,运行以下几条命令,根据提示处理找到的文件,然后部署。 grep "ssl_certificate" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v "^[ \t]*#"|grep -v "^[ \t]*ssl_certificate_by_lua_block"|grep -v "^[ \t]*ssl\.certificate"|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/conf/ssl/" grep "ssl_certificate" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v "^[ \t]*#"|grep -v "^[ \t]*ssl_certificate_by_lua_block"|grep -v "^[ \t]*ssl\.certificate"|grep -v " /"|grep -v " ssl/" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "ssl_certificate"|awk -F ":" '{print $2}'|grep -v "^[ \t]*ssl_certificate_by_lua_block"|grep -v "^[ \t]*ssl\.certificate"|grep -v "^[ \t]*#"|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/conf/ssl/"|grep -v " /opt/huawei/openresty/nginx/conf/vhosts/" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "ssl_certificate"|awk -F ":" '{print $2}'|grep -v "^[ \t]*ssl_certificate_by_lua_block"|grep -v "^[ \t]*ssl\.certificate"|grep -v "^[ \t]*#"|grep -v " /"|grep -v " ssl/"|grep -v " vhosts/"
  • 问题现象 SLB部署失败,日志详细信息提示如下: "content": "{\"data\":null,\"message\":\"[Service proxy.apply_sudo._wrapped_f]: fail to operator sudo, message: send request fail, status code: 400, error: None, message: illegal param\",\"status\":-2}", "msg": "status was not in [200]",
  • 日志 KooDrive控制台为企业租户提供KooDrive云服务的订购(开通和变更)、冻结和退订等服务,其日志系统对接了华为云的云日志服务(Log Tank Service)。LTS提供一站式日志采集、秒级搜索、海量存储、结构化处理、转储和可视化图表等功能,满足应用运维、网络日志可视化分析、等保合规和运营分析等应用场景。 用户开通云日志服务后,LTS可记录KooDrive管理侧的操作日志。 LTS的详细介绍和开通配置方法,请参见LTS快速入门。 开启了云日志服务后,系统开始记录KooDrive管理侧的操作日志。您可以在云日志服务管理控制台,单击“日志管理”,查看实时上报的日志(日志每隔大约1分钟上报一次,在日志消息区域,您最多需要等待1分钟左右,即可查看实时上报的日志)。 KooDrive服务记录了租户资源被访问的日志,客户可以使用祥云提供的日志管理工具,可以查询指定时间段的日志,分析日志,对相关业务资源的被访问情况进行详细的分析。
  • 审计 云审计服务(Cloud Trace Service,CTS),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务后,CTS可记录KooDrive的操作事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 CTS支持追踪KooDrive管理事件,请参见审计管理。 开启了云审计服务后,系统开始记录KooDrive的操作。您可以在云审计服务控制台查看最近7天的操作记录,具体操作指导请参见查看审计事件。
  • 告警解释 系统每一个小时获取指定目录下直接子文件/目录的数量,判断其是否达到HDFS目录最大子文件/目录个数的百分比阈值(默认为“90%”),如果超过该阈值,则触发告警。 当发出告警的目录的子目录/文件数所占百分比低于阈值后,该告警将自动恢复。当监控开关关闭,所有目录对应的该告警都将自动恢复。当从监控列表中移除指定目录时,该目录对应的告警也会自动恢复。 HDFS目录的子文件/目录最大个数由参数“dfs.namenode.fs-limits.max-directory-items”指定,默认值为“1048576”。如果一个目录的子文件/目录数量超过该值,则无法再在该目录下创建新的子文件/目录。 要监控的目录列表由参数“dfs.namenode.directory-items.monitor”指定,默认值为“/tmp,/SparkJobHistory,/mr-history”。 监控开关由参数“dfs.namenode.directory-items.monitor.enabled”指定,默认值为“true”,即该检测默认开启。
  • 线下集群向云迁移 线下集群可以通过如下两种方式将数据迁移至云: 云专线(DC) 为源集群与目标集群之间建立云专线,打通线下集群出口网关与线上VPC之间的网络,然后参考同Region执行Distcp进行拷贝。 数据快递服务(DES) 对于TB或PB级数据上云的场景,华为云提供数据快递服务 DES。将线下集群数据及已导出的元数据拷贝到DES盒子,快递服务将数据递送到华为云机房,然后通过云数据迁移 CDM将DES盒子数据拷贝到HDFS。
  • 不同Region 当源集群与目标集群处于不同Region时,用Distcp工具将源集群数据拷贝到OBS,借助OBS跨区域复制功能(请参见跨区域复制)将数据复制到对应目的集群所在Region的OBS,然后通过Distcp工具将OBS数据拷贝到目的集群的HDFS上。由于执行Distcp无法为OBS上的文件设置权限、属主/组等信息,因此当前场景在进行数据导出时也需要将HDFS的元数据信息进行导出并拷贝,以防HDFS文件属性信息丢失。
  • 告警解释 HDFS的元数据信息存储在NameNode数据目录(由配置项“dfs.namenode.name.dir”指定)中的FsImage文件中。备NameNode会周期将已有的FsImage和JournalNode中存储的Editlog合并生成新的FsImage,然后推送到主NameNode的数据目录。这个周期由HDFS的配置项“dfs.namenode.checkpoint.period”指定,默认为3600秒,即1个小时。如果主NameNode数据目录的FsImage没有更新,则说明HDFS元数据合并功能异常,需要修复。 在主NameNode节点上,系统每5分钟检测其上的FsImage文件的信息。如果在三个合并周期没有新的FsImage文件生成,则系统产生该告警。 当新的FsImage文件生成并成功推送到主NameNode,说明HDFS元数据合并功能恢复正常,告警自动恢复。
  • 参考信息 NameNode JVM参数配置规则 NameNode JVM参数“GC_OPTS”默认值为: -Xms2G -Xmx4G -XX:NewSize=128M -XX:MaxNewSize=256M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=65 -XX:+PrintGCDetails -Dsun.rmi.dgc.client.gcInterval=0x7FFFFFFFFFFFFFE -Dsun.rmi.dgc.server.gcInterval=0x7FFFFFFFFFFFFFE -XX:-OmitStackTraceInFastThrow -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1M -Djdk.tls.ephemeralDHKeySize=3072 -Djdk.tls.rejectClientInitiatedRenegotiation=true -Djava.io.tmpdir=${Bigdata_tmp_dir} NameNode文件数量和NameNode使用的内存大小成比例关系,文件对象变化时请修改默认值中的“-Xms2G -Xmx4G -XX:NewSize=128M -XX:MaxNewSize=256M”。参考值如下表所示。 表1 NameNode JVM配置 文件对象数量 参考值 10,000,000 -Xms6G -Xmx6G -XX:NewSize=512M -XX:MaxNewSize=512M 20,000,000 -Xms12G -Xmx12G -XX:NewSize=1G -XX:MaxNewSize=1G 50,000,000 -Xms32G -Xmx32G -XX:NewSize=3G -XX:MaxNewSize=3G 100,000,000 -Xms64G -Xmx64G -XX:NewSize=6G -XX:MaxNewSize=6G 200,000,000 -Xms96G -Xmx96G -XX:NewSize=9G -XX:MaxNewSize=9G 300,000,000 -Xms164G -Xmx164G -XX:NewSize=12G -XX:MaxNewSize=12G
  • 可能原因 Hive服务不可用可能与ZooKeeper、HDFS、Yarn和DBService等基础服务有关,也可能由Hive自身的进程故障引起。 ZooKeeper服务异常。 HDFS服务异常。 Yarn服务异常。 DBService服务异常。 Hive服务进程故障,如果告警由Hive进程故障引发,告警上报时间可能会延迟5分钟左右。 Hive服务和基础服务间的网络通信中断。 Hive的HDFS临时目录权限异常。 Hive节点本地磁盘空间不足。
  • 告警解释 系统每30秒周期性检查DBServer节点的数据库连接数使用率,并把实际数据库连接数使用率和阈值相比较,当数据库连接数的使用率连续5次(可配置,默认值为5)超过设定阈值时,系统将产生此告警,数据库连接数使用率的阈值设为90%(可配置,默认值为90%)。 平滑次数可配置,当平滑次数为1,数据库连接数使用率小于或等于阈值时,该告警恢复;当平滑次数大于1,数据库连接数使用率小于或等于阈值的90%时,该告警恢复。
  • MRS 3.2.0-LTS.1.1补丁基本信息 表8 补丁基本信息 补丁号 MRS 3.2.0-LTS.1.1 发布时间 2023-04-07 安装前处理 如果MRS集群节点故障或者网络不通,需要先隔离该节点,否则补丁会安装失败。 解决的问题 MRS 3.2.0-LTS.1.1 修复问题列表: 解决Hudi性能优化,增加优化参数控制同步Hive schema问题 解决Hudi表包含decimal字段做ddl变更时,执行clustering报错问题 解决MRS 3.1.2版本创建的hudi bucket索引表,在升级后compaction作业失败问题 解决Table can not read correctly when computed column is in the midst问题 解决Hudi的schema evolution和历史版本不兼容问题 解决Fink无法读取低版本Spark用bulk insert方式写入的timestamp类型数据的精度问题 解决mor表delete数据,下游Flink读任务失败问题 解决Flink流写mor开启同步compaction,包含decimal列,Spark添加一列后重启作业,触发compaction执行失败问题 解决Flink写mor表同时sparksql查询,当Flink触发clean后,Spark查询失败问题 解决mor表有rollback,执行cleanData后Flink schedule生成计划,spark run compaction报空指针问题 解决Flink进行批量作业时权限不足导致作业失败问题 解决Flink指定timestamp读Kafka异常的问题 解决Flink写历史版本创建的bucket索引hudi表,索引数据错乱重复fileid问题 解决Flink On HBase当条件为null时,使用错误下推Filter导致漏数问题 解决Flink on hudi解析的时间范围如果超过2262-04-11 23:47:16,则会解析失败,报错overflow问题 解决Spark/Flink写Hudi表,控制归档文件大小的参数不生效问题 解决Spark任务,有多个ddl语句(drop,truncate,create)长时间执行不结束问题 解决Spark建mor表带timestamp,Flink流读数据有误,相差8h问题 解决cow/mor表执行完drop partition后,首次执行delete报错,堆栈异常问题 解决datasource写Hudi表名和同步的Hive表明不一致,写入失败,sql写location指定到一个存量cow表目录,表名不一致,insert成功的问题 CDL链路hudi-dws性能优化 解决CDL升级后业务用户未添加hadoop组,任务启动失败问题 解决CDL hudi-dws链路配置max.commit.number参数时,偶现同步数据丢失问题 解决当CDL存在链接源端库失败的作业,task线程泄漏,导致作业启动超时问题 解决CDL Hudi connector代码中增加hoodie.datasource.hive_sync.skip_sync_schema参数,默认为true,优化元数据同步性能,减少性能毛刺问题 解决CDL读Hudi表出现404失败,找不到rollback.requested问题 解决CDL Task阻塞导致所有任务Task失败问题 解决Yarn的jdbcserver资源超长时间不释放问题 补丁兼容关系 MRS 3.2.0-LTS.1.1补丁包中包含所有MRS 3.2.0-LTS.1版本单点问题修复补丁。 安装补丁的影响 请参考安装补丁的影响。
  • MRS 3.2.0-LTS.1.4补丁基本信息 表5 补丁基本信息 补丁号 MRS 3.2.0-LTS.1.4 发布时间 2023-10-16 安装前处理 如果MRS集群节点故障或者网络不通,需要先隔离该节点,否则补丁会安装失败。 新特性 支持在Hue WebUI中使用HetuEngine SQL编辑器。 运维巡检工具查询优化。 解决的问题 MRS 3.2.0-LTS.1.4修复问题列表: 解决Flink读MySQL作业出现的类冲突问题 解决Flink Server提交SQL作业时解码异常错误 解决DataArts Studio提交Flink SQL作业报StackOverflow错误 解决普通集群使用RestA调用FlinkServer的jobs/action时报错 解决Flink客户端不支持-yD或-D配置keytab和principal的问题 解决HetuEngine查询Flink写入的HudiMOR表数据为空的问题 解决HetuEngine对Hudi的bucket索引mor表和mor_rt表查询失败问题 解决HetuEngine查询Hive的LZ4压缩格式数据失败问题 解决HetuEngine查询Hudi的OBS表失败问题 解决HetuEngine多hashkey时,查询条件包含单个hashkey时,无法查出结果的问题 解决Hudi数据源add columns/drop columns之后Hetu查询失败的问题 解决Hudi在replacement场景下无法正常归档文件问题 解决Hudi在InternalSchema转AvroSchema未去掉元字段导致流任务更新数据失败问题 解决Hudi版本升级后出现Spark读hudi表和run compaction失败问题 解决Hudi SQL执行call run_clustering_Mor后,rt/ro表的log数据丢失问题 解决Hudi ro表compaction期间数据查询不出来问题 解决Hudi表带decimal字段做ddl变更,在执行clustering报错问题 解决Hudi Cow/mor表执行完drop partition后,首次执行delete报堆栈异常的问题 解决Hive on Tez查询Hudi的schema演进表报错,需要适配默认InputFormat切分方式问题 解决Spark/Flink写Hudi表,控制归档文件大小的参数不生效的问题 解决Hudi mor表,log中1900前的timestamp数据错误问题 解决HetuEngine查询Hudi数据重复问题 解决Manager中12小时以上监控数据无法导出的问题 解决Manager中节点磁盘使用率和磁盘读速率无法显示一周数据的问题 解决弹性伸缩场景下操作更新集群拓扑时,全表查询TBL_HISTORY_TOPOLOGY导致controller触发OOM问题 解决弹性伸缩过程中出现Metaspace内存不足触发agent重启的问题 解决弹性伸缩场景下OMA进程异常无法采集指标,导致扩缩容任务异常问题 解决大集群中监控数据丢失问题 解决Manager AD对接后同步用户失败问题 解决集群配置ranger元数据外置后RangerAdmin实例启动失败问题 LakeFormation下移混合云,对接lakeformation,policysync同步策略失败整改 解决Spark JDBC模式执行插入耗时过久的问题 解决Hudi-Connector支持bucket裁剪性能优化问题 补丁兼容关系 MRS 3.2.0-LTS.1.4补丁包中包含所有MRS 3.2.0-LTS.1版本单点问题修复补丁。 安装补丁的影响 请参考安装补丁的影响。
  • MRS 3.2.0-LTS.1.7补丁基本信息 表2 补丁基本信息 补丁号 MRS 3.2.0-LTS.1.7 发布时间 2024-02-21 安装前处理 如果MRS集群节点故障或者网络不通,需要先隔离该节点,否则补丁会安装失败。 解决的问题 MRS 3.2.0-LTS.1.7修复问题列表: 解决Spark子查询当做列字段执行SQL任务时Ranger鉴权报错。 解决Flink写Hudi失败时,作业从checkpoint恢复失败的问题。 补丁兼容关系 MRS 3.2.0-LTS.1.7补丁包中包含所有MRS 3.2.0-LTS.1版本单点问题修复补丁。 安装补丁的影响 请参考安装补丁的影响。
  • MRS 3.2.0-LTS.1.3补丁基本信息 表6 补丁基本信息 补丁号 MRS 3.2.0-LTS.1.3 发布时间 2023-08-04 安装前处理 如果MRS集群节点故障或者网络不通,需要先隔离该节点,否则补丁会安装失败。 新特性 Manager支持指定节点进行退服入服 MRS集群支持对接LakeFormation MRS对接LakeFormation操作指导,请参见:配置LakeFormation数据连接。 LakeFormation使用流程简介以及约束,请参见:LakeFormation使用流程简介。 Guardian新增开启accesslabel开关 Guardian支持自定义文件生成器 支持添加RangerKMS实例,提供数据加密服务 管控面提交FlinkSQL作业支持元数据管理 解决的问题 MRS 3.2.0-LTS.1.3修复问题列表: 解决Hudi修改long到string后run compaction,spark读失败问题 解决Hudi修改schedule后之前的commit文件被清理,spark compaction失败问题 解决Hudi表有修改列名、删除重新添加列,只进行schedule,spark compaction失败问题 解决Hudi增删改列后run compaction,cdl hudi2dws作业失败报空指针问题 解决Hudi写log会从文件中读schema,log越大读取越慢,影响写入效率问题 解决Hudi subtasks处理数据倾斜,导致300并发的场景下部分资源闲置问题 解决Hudi stg_rtd_hah_ae_t_detail_t表异步compaction失败问题 解决Flink指定COMPLEX创建的hudi表,spark写失败,报KeyGenerator冲突问题 解决Flink提交作业错误提示问题 解决Flink作业异常退出,同一个key的数据做分区变更报NPE的问题 解决Flink作业读hudi log文件报错Did not find the magic bytes at the start of block的问题 解决DataArts Studio作业配置后未从上一个checkpoint重启Flink的问题 解决管控面提交Spark作业长时间运行后访问obs报403问题 解决CDL appid刷新错误,任务显示失败,但实际是运行中的问题 解决CDL Topic Creation失败,报Topic已存在的问题 解决CDL单AZ断网场景,出现作业自动停止的问题 解决CDL任务一直处于正常状态,历史任务id存在失败,仍然上报告警问题 解决CDL单AZ断网后,作业失败,查看appid为空,但是在yarn页面查看任务实际是存在并运行中的问题 补丁兼容关系 MRS 3.2.0-LTS.1.3补丁包中包含所有MRS 3.2.0-LTS.1版本单点问题修复补丁。 安装补丁的影响 请参考安装补丁的影响。
  • MRS 3.2.0-LTS.1.2补丁基本信息 表7 补丁基本信息 补丁号 MRS 3.2.0-LTS.1.2 发布时间 2023-05-10 安装前处理 如果MRS集群节点故障或者网络不通,需要先隔离该节点,否则补丁会安装失败。 解决的问题 MRS 3.2.0-LTS.1.2 修复问题列表: 解决Manager无法创建带点字符用户问题 解决IAM同步的用户组无法添加Manager页面上创建的用户问题 解决夏令时时间下组件 on obs功能不可用问题 解决在Manager页面创建备份任务到obs时参数校验异常问题 解决通过API接口提交Spark作业时的日志打印问题 解决修改ClickHouse索引列导致进程重启问题 解决在Manager页面租户管理中动态资源计划显示异常问题 解决修改Clickhouse配置时创建的Zookeeper连接不释放问题 解决在Manager页面ClickHouse组件修改角色添加数据库的create权限,导致已有表的自定义权限丢失问题 补丁兼容关系 MRS 3.2.0-LTS.1.2补丁包中包含所有MRS 3.2.0-LTS.1版本单点问题修复补丁。 安装补丁的影响 请参考安装补丁的影响。
  • MRS 3.2.0-LTS.1.5补丁基本信息 表4 补丁基本信息 补丁号 MRS 3.2.0-LTS.1.5 发布时间 2023-10-23 安装前处理 如果MRS集群节点故障或者网络不通,需要先隔离该节点,否则补丁会安装失败。 新特性 支持在Hue WebUI中使用HetuEngine SQL编辑器。 运维巡检工具查询优化。 Flink流读Hudi新增了对消息滞留时间和消息堆积时间的监控。 解决的问题 MRS 3.2.0-LTS.1.5修复问题列表: 解决Spark-JDBC偶现多租户模式下,driver端口与thriftserver端口一致冲突引发一系列问题。 解决Spark空闲的SparkJDBC任务超过30分钟,没有结束,资源未释放浪费资源问题。 解决HetuEngine在存散分离场景下映射方式对接OBS,查询大数据量时报错的问题。 补丁兼容关系 MRS 3.2.0-LTS.1.5补丁包中包含所有MRS 3.2.0-LTS.1版本单点问题修复补丁。 安装补丁的影响 请参考安装补丁的影响。
  • MRS 3.2.0-LTS.1.8补丁基本信息 表1 补丁基本信息 补丁号 MRS 3.2.0-LTS.1.8 发布时间 2024-04-23 安装前处理 如果MRS集群节点故障或者网络不通,需要先隔离该节点,否则补丁会安装失败。 解决的问题 MRS 3.2.0-LTS.1.8修复问题列表: 解决Spark JDBCServer在session关闭超时的时候会出现session一直存在的问题。 解决Spark列字段中的子查询带有distinct聚合函数时执行查询语法报错的问题。 解决DataArts Studio API方式连接Spark SQL查询遇到特殊字符,比如换行时标准的解析会自动换行的问题。 解决Yarn监控图缺失问题。 解决使用Sqoop将MySQL数据导入到Hive中失败的问题。 解决Yarn配置本地化日志级别参数被设置为不支持修改的问题。 Hudi clean与archive逻辑解耦,不执行clean也能执行归档。 解决Hudi的.schema目录下文件找不到的问题。 解决Hudi clean触发时偶现文件mv to trash失败,导致.clean为空,影响Flink流读作业的问题。 Hudi支持changelog特性。 Hudi支持temp view特性。 MRS实时任务告警通知支持显示具体作业名称。 Flink读开启changelog后的表。 解决多AZ集群无法缩容的问题。 解决capacity调度原生页面无法访问队列任务详情的问题。 解决Flink作业无法通过checkpoint恢复的问题(遇到无法从checkpoint启动时:Cannot map checkpoint/savepoint state for operator xxxxx to the new program, because the operator is not available in the new program。需要在第一次启动作业以及通过checkpoint恢复作业时,均添加内核参数table.exec.uid.generation=ALWAYS。)。 Flink用hms方式同步Hive,支持参数配置化。 解决ResourceManager内存泄漏,开源单YARN-11489。 解决Yarn精细化监控部分指标没有数据的问题。 解决3AZ环境DataNode 5个节点,健康度阈值是80%,构造每个AZ下一个DataNode磁盘属主root:root,只有一个DataNode的AZ报了AZ不健康的问题。 解决AZ下缩容DataNode,副本未按照预期AZ策略补齐,导致退服失败的问题。 解决Flink在mysql数据库insert timestamp类型数据,数据通过Flink写入Hudi后和原数据差8小时的问题。 解决HetuEngine SQL查询偶现数组越界报错的问题。 解决IAM同步的用户加入supergroup用户组后,无法删除的问题。 补丁兼容关系 MRS 3.2.0-LTS.1.8补丁包中包含所有MRS 3.2.0-LTS.1版本单点问题修复补丁。 安装补丁的影响 请参考安装补丁的影响。
  • 入门实践 当您完成创建项目、代码仓库等准备工作后,可以根据业务需求使用流水线提供的一系列常用实践。 表1 常用最佳实践 实践 描述 通过微服务变更流水线修复项目BUG并快速发布 CodeArts Pipeline为企业提供了一种微服务模型,将企业大军团的作战方式转变为小团队精英作战方式,支持每个微服务独立进行开发、验证、部署及上线发布,缩短需求发布周期。同时支持企业按照业务功能组织团队,优化管理模型,使运作更精细化,有效提升团队运作效率。 该解决方案介绍如何通过微服务变更流水线模拟修复项目下的一个BUG并快速发布。 基于K8S原生Service的场景完成微服务蓝绿发布 灰度发布是在生产环境中创建与当前线上服务完全一致的工作负载(灰度负载),仅对其中的包版本(业务代码和配置)进行更新,但是新创建的工作负载不承接任何现网流量,对线上用户没有任何影响。此时,就可以在没有风险的情况下,在生产环境放心地进行测试了。在灰度环境验证无问题之后,就可以逐渐将线上用户的真实访问引流到灰度负载,直至完全引流之后,新创建的灰度负载承接所有现网流量,原先的线上负载不承接任何流量,此时就可以安全地删除旧负载,保留新负载,完成一次发布。 该解决方案介绍在不需要占用集群额外资源安装插件的情况下,基于K8S原生Service的场景完成微服务灰度蓝绿发布。 配置准出条件并对代码检查结果进行校验 CodeArts Pipeline提供统一的准出条件管理能力,使用规则和策略将插件和流水线联系起来,并最终实现阶段准出的校验。用户根据实际需要将策略资源应用到流水线作为准出条件,帮助高效管理项目,保障产品高质量交付。 该解决方案基于“Check代码检查”策略,通过添加代码检查任务所在阶段的准出条件,对代码检查任务的检查结果进行自动化校验,只有检查结果满足准出条件,才可以进入下一个阶段。
  • 步骤3:新建变更 重新进入微服务“概览”页面。 切换到“变更”页签,进入微服务变更列表页面。 单击“新建变更”,进入“新建变更 ”页面,配置以下信息。 表3 新建变更 参数项 说明 变更标题 变更的名称,输入“bugfix”。 代码仓 变更关联的源码仓库,自动和微服务保持一致。 代码分支 变更新需求的开发分支,变更通过流水线发布成功后,会将代码分支自动合并至微服务的默认分支。选择“从默认分支拉取新分支”并输入分支名称“buxfix”。 关联工作项 变更关联的工作项,选择准备工作中已创建的工作项“BUGFIX”。 单击“确定”,完成变更的创建。 变更创建完成后,进入代码开发阶段,系统自动基于微服务默认分支创建出本次变更的特性分支,开发人员可以基于该特性分支进行代码开发活动。可根据需要,模拟向新拉取的分支提交代码更新。
  • 步骤2:新建变更流水线 在微服务列表页面,单击微服务名称,进入微服务“概览”页面。 切换到“流水线”页签,进入微服务流水线列表页面。 单击“新建流水线”,进入“新建流水线 ”页面,配置以下信息。 表2 新建变更流水线 参数项 说明 所属项目 变更流水线所在的项目,不可更改。 名称 变更流水线的名称,使用自动生成的即可。 代码源 变更流水线关联的源码类型,自动和微服务保持一致。 代码仓 变更流水线关联的源码仓库,自动和微服务保持一致。 默认分支 默认使用的分支,自动和微服务保持一致。 Repo https授权 打开“基于变更触发”后需配置“Repo HTTPS授权”,配置授权扩展点以提升代码仓操作权限。选择准备工作中已创建的授权扩展点“https-endpoint”。 别名 输入别名,会生成该仓库对应的相关系统参数,这里不设置。 基于变更触发 打开“基于变更触发”,将当前流水线设置为微服务变更流水线。 描述 变更流水线的描述,选填。 微服务变更流水线仅支持基于变更触发运行,且单个微服务下只能存在一条微服务变更流水线。 单击“下一步”,选择“新手上路”模板,自动生成代码检查、构建、部署等阶段,可根据需要对流水线进行编排,这里使用默认配置即可。 单击“保存”,完成微服务变更流水线的创建。
  • 步骤4:执行变更流水线 代码更新完成后,即可通过变更流水线执行变更。 在微服务变更列表页面,单击变更名称,进入“变更详情”页面。 单击右上角“提交发布”,弹出“提交发布”确认框,提示是否确认将变更提交至变更流水线。 图1 提交发布 单击“确定”,完成变更提交,页面跳转至对应变更流水线发布列表页面。 单击右上角“执行”,弹出“执行配置”侧滑框,选择刚提交的变更,并根据需要配置运行参数、选择执行阶段和任务等。 单击“执行”,启动变更流程。 微服务变更流水线在运行过程中,会自动增加“合并集成分支”和“合并主干”阶段,并将本次变更关联的特性分支合并到该集成分支上。 代码检查、构建、部署任务执行成功后,系统自动进入“合并主干”阶段,并弹出“手动确认”对话框。 图2 执行流水线 单击“继续执行”,“合并主干”阶段执行完成后,系统将自动完成以下事项。 将本次发布的变更状态更新为“已发布”。 将本次发布的变更关联的工作项状态更新为“已关闭”。 将本次发布使用的集成分支代码内容合并到微服务默认分支,实现代码自动合并。 至此,即完成了一次基本的微服务变更发布流程。
共100000条