华为云用户手册

  • 实现步骤 请参见OBS帮助中心创建桶。若已有OBS桶,请直接执行步骤2。 创建的OBS桶所在区域必须为华北-北京四。 OBS桶授权。 登录 实时音视频 控制台。 在左侧导航树中选择“云资源授权”,进入桶授权页面。 在对应的OBS桶行单击“授权”,完成桶授权。 配置录制规则。 登录实时音视频控制台。 在左侧导航树中选择“应用管理”,进入应用管理页面。 在需要创建录制规则的应用行单击“录制配置”,进入录制配置页面。 在“录制规则”页签,单击“添加”,进入添加录制规则页面。 一个应用ID仅支持创建一个录制规则。 请您按照实际需求配置录制参数,参数说明如表1所示。 表1 录制参数说明 参数名 描述 存储-桶 存储录制文件的OBS桶。 目前录制文件仅支持存储到华北-北京四的OBS桶中。 区域 OBS桶所在的区域。 存储-路径 存储录制文件的OBS桶路径。 录制格式 录制文件的格式,支持HLS和MP4文件格式。 HLS规则 m3u8命名规则 录制m3u8文件的存储路径和文件的前缀。 默认命名格式: {app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 上述特殊变量的含义如下: app_id:应用ID。 record_format:录制格式。 stream:流名。 file_start_time:文件生成时间。 录制周期 录制时长支持0-720分钟,最小录制周期为1分钟,最大录制周期为12小时,超过12小时,系统将按照命名规则生成新文件。如果录制周期为0,则整个流录制为一个文件。 最大断流合并时长 支持如下三种配置: 断流后生成新文件:是指录制的直播流中断后,会立即生成新的录制文件。 断流后不生成新文件:是指录制的直播流中断后,会和之前录制的文件合并为一个文件。最大断流合并时长为30天。 其他数值:是指录制的直播流中断时间在设置范围内,则和之前录制的文件合并为一个文件,否则,生成新的录制文件。 MP4规则 mp4命名规则 录制mp4文件的存储路径和文件的前缀。 默认命名格式: {app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 上述特殊变量的含义如下: app_id:应用ID。 record_format:录制格式。 stream:流名。 file_start_time:文件生成时间。 录制周期 录制时长支持1-180分钟,最小录制周期为1分钟,最大录制周期为3小时,超过3小时,系统将按照命名规则生成新文件。 最大断流合并时长 支持如下两种配置: 断流后生成新文件:是指录制的直播流中断后,会立即生成新的录制文件。 其他数值:是指录制的直播流中断时间在设置范围内,则和之前录制的文件合并为一个文件,否则,生成新的录制文件。 单击“确定”,在录制规则列表中会增加一条新的录制规则。 图3 录制规则 您可以在录制规则列表中,根据实际需求选择是否开启自动录制功能。自动录制功能开启后,若该应用下有新创建的房间,则会按照已配置的录制规则自动对该房间中的实时音视频互动过程进行录制。 自动录制功能开启后,仅对同一应用下新创建的房间生效,自动录制功能开启前已创建的房间不生效。 加入房间。 录制规则配置完成后,您可以通过SparkRTC APP加入某个SparkRTC房间进行音视频互动,SparkRTC服务会根据配置的录制规则对正在直播的音视频进行录制。 若配置录制规则时,未开启自动录制功能,则加入SparkRTC房间后,您需要调用实时音视频API开启云端录制任务,SparkRTC才会根据API中的录制规则ID对实时音视频互动画面进行录制。 回放录制文件。 录制完成后,您可以在OBS控制台中或通过回调消息查看录制文件。 通过OBS控制台查看录制文件 在OBS管理控制台左侧导航栏选择“对象存储”。 在桶列表中单击存储SparkRTC录制文件的桶,进入“概览”页面。 在左侧导航栏,单击“对象”,查看录制文件信息。 您还可以对录制文件进行下载、分享等操作,具体请参见OBS帮助中心。
  • 实现流程 创建OBS桶:创建用于存储SparkRTC录制文件的OBS桶,若已有OBS桶,请直接执行2。 由于单AZ桶的可靠性低于多AZ桶,为避免因OBS服务异常导致录制失败,建议您创建多AZ桶用于录制文件的存储。 OBS桶授权:在SparkRTC服务中对存储录制文件的OBS桶进行授权,允许SparkRTC服务将录制文件存储在对应的OBS桶中。 配置录制规则:为实时音视频互动配置录制规则,并开启自动录制功能,加入SparkRTC房间后,与应用中的录制规则ID相同的录制模板会自动生效,录制内容按录制设置存储至OBS中。还可以通过设置回调地址获取录制任务状态通知。 加入房间:录制规则配置完成后,您可以通过SparkRTC APP加入某个SparkRTC房间进行音视频互动,SparkRTC会根据配置的录制规则对正在直播的音视频进行录制。 若配置录制规则时,未开启自动录制功能,则加入SparkRTC房间后,您需要调用实时音视频API开启、查询和控制云端录制任务。SparkRTC服务才会根据接口中的录制规则ID对实时音视频互动画面进行录制。 回放录制文件:录制完成后,在已配置的回调地址中会收到录制任务的回调消息,您可以获取到录制文件的基本信息,也可以在OBS中管理录制文件,如下载、分享、删除等。 录制文件的分辨率与推流分辨率相关,按推流原分辨率进行录制。
  • 常用API 本节介绍常用API,更多API信息详见E CS 的API接口文档API概览。 操作 API 说明 创建Flexus X实例 创建云服务器 创建默认的实例类型时,请求消息中Flavor命名(对应flavorRef参数)为x1.?u.?g。 创建性能模式下的实例类型时,请求消息中Flavor命名(对应flavorRef参数)为x1e.?u.?g。 将Flexus X实例切换为性能模式 变更云服务器规格 您已创建默认规格的Flexus X实例时,可使用API将Flexus X实例切换为性能模式的实例规格,请求消息中Flavor命名(对应flavorRef参数)为x1e.?u.?g。 关闭性能模式 关闭性能模式,即将性能模式实例规格切换为默认规格,请求消息中Flavor命名(对应flavorRef参数)为x1.?u.?g。
  • 实例规格命名规范 在使用API时,您需要了解Flexus X实例的Flavor命名规则。 Flexus X实例的Flavor命名规则如图1,包含规格类型、vCPU核数、内存三部分。 图1 Flavor命名规则 规格类型:Flexus X实例的规格类型包括x1、x1e。 x1为Flexus X实例默认的实例规格。 x1e为Flexus X实例开启性能模式后的实例规格。 vCPU核数:直接通过数字表示,例如2u表示vCPU核数为2。 内存:直接通过数字表示,例如2g表示内存容量为2GiB。 Flexus X实例是否开启性能模式的vCPU核数、内存范围不同,实例规格信息详见实例规格。 不同区域Flexus X实例的vCPU和内存资源略有差异,具体以控制台为准。在使用接口前请先在控制台查询vCPU和内存资源,避免API调用失败。
  • 实施方案(双读模式迁移实例) 将原RabbitMQ实例的元数据迁移到目标RabbitMQ实例。 图1 迁移元数据 迁移步骤如下: 登录原RabbitMQ的WebUI页面,在“Overview”页签中,单击“Download broker definitions”,导出元数据。 图2 导出元数据 登录目标RabbitMQ的WebUI页面,在“Overview”页签中,单击“选择文件”,选择1.a中导出的元数据,单击“Upload broker definitions”,上传元数据。 图3 导入元数据 为目标RabbitMQ实例添加新的消费者,准备消费目标实例的消息。 图4 添加新消费者 为目标RabbitMQ实例添加新的生产者,下线原RabbitMQ实例的生产者,旧的消费者继续消费原RabbitMQ实例中的消息。 图5 迁移生产者 旧的消费者消费完原RabbitMQ实例的全部消息后,下线旧的消费者和原RabbitMQ实例。 图6 下线旧的消费者和原RabbitMQ实例
  • 迁移后检查 通过以下方法,确认原实例是否消费完成: 在RabbitMQ WebUI页面查看,如图7所示。 Overview视图中,可消费消息数(Ready)以及未确认的消息数(Unacked)都为0时,说明消费完成。 图7 RabbitMQ WebUI 调用API查看。 curl -s -u username:password -XGET http://ip:port/api/overview 参数说明: username:原实例登录RabbitMQ WebUI的账号 password:原实例登录RabbitMQ WebUI的密码 ip:原实例登录RabbitMQ WebUI的IP地址 port:原实例登录RabbitMQ WebUI的端口号 回显信息中“messages_ready”和“messages_unacknowledged”都为0时,说明消费完成。 图8 回显信息
  • MRS 如何连接spark-shell? 用root用户登录集群Master节点。 配置环境变量。 source 客户端安装目录/bigdata_env 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户。如果当前集群未启用Kerberos认证,则无需执行此命令。 kinit MRS集群业务用户 例如: “机机”用户请执行:kinit -kt user.keytab sparkuser “人机”用户请执行:kinit sparkuser 执行如下命令连接Spark组件的客户端。 spark-shell 父主题: 客户端使用类
  • 解决方法 在执行SQL语句前,执行如下命令。注意执行前保证集群有足够内存可以设置。 SET max_memory_usage = 128000000000; #128G 如果没有上述大小内存可用,ClickHouse可以通过如下设置将“溢出”数据到磁盘。建议将max_memory_usage设置为max_bytes_before_external_group_by大小的两倍。 set max_bytes_before_external_group_by=20000000000; #20G set max_memory_usage=40000000000; #40G 如果客户数据量大,而且是全表查询,建议按照分区进行查询或者进行升级集群core节点的规格。
  • 问题现象 ClickHouse会限制group by使用的内存量,在使用ClickHouse客户端执行SQL查询时报如下错误: Progress: 1.83 billion rows, 85.31 GB (68.80 million rows/s., 3.21 GB/s.) 6%Received exception from server: Code: 241. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Memory limit (for query) exceeded: would use 9.31 GiB (attempt to allocate chunk of 1048576 bytes), maximum: 9.31 GiB: (while reading column hits):
  • 答: 用户子账号同时添加了MRS ReadOnlyAccess、MRS FullAccess权限,由于权限优先级的问题导致了当前在控制台界面无法添加作业。 当 IAM 子账号所在组同时有MRS FullAccess、MRS ReadOnlyAccess、MRS Administrator三种权限。其中MRS FullAccess、MRS ReadOnlyAccess是细粒度的权限。MRS Administrator是RBAC策略。细粒度的权限优先于RBAC策略。当同时配置时就先看细粒度权限。细粒度权限又有deny优先原则,所以最终MRS ReadOnlyAccess起了作用,这个权限具有只读权限。所以会提示子账号没权限。 将MRS ReadOnlyAccess权限策略删除,退出重新登录,问题解决。
  • 原因分析 按照设定,任务应该只扫描b=xxx的分区,但是查看任务日志可以发现,实际上任务却扫描了所有的分区再来计算b=xxx的数据,因此任务计算的很慢。并且因为需要扫描所有文件,会有大量的OBS请求发送。 MRS默认开启基于分区统计信息的执行计划优化,相当于自动执行Analyze Table(默认开启的设置方法为spark.sql.statistics.fallBackToHdfs=true,可通过配置为false关闭)。开启后,SQL执行过程中会扫描表的分区统计信息,并作为执行计划中的代价估算,例如对于代价评估中识别的小表,会广播小表放在内存中广播到各个节点上,进行join操作,大大节省shuffle时间。 此开关对于Join场景有较大的性能优化,但是会带来OBS调用量的增加。
  • MRS是否支持变更MRS集群节点? MRS管理控制台不支持变更集群节点,也不建议用户在ECS管理控制台直接修改MRS集群节点。如果手动在ECS管理控制台对集群节点执行停止ECS、删除ECS、修改或重装ECS操作系统,以及修改ECS规格的操作,可能影响集群稳定运行。 如果您对MRS集群节点进行了上述操作,MRS会自动识别并直接删除发生变更的集群节点。您可以登录MRS管理控制台,通过扩容恢复已经删除的节点。请勿在扩容过程中对正在扩容的节点进行操作。 父主题: 节点管理类
  • 问题现象 使用clickhouse client命令连接ClickHouse服务端,报错: ClickHouse exception, code: 516, host: 192.168.0.198, port: 8443; Code: 516, e.displayText() = DB::Exception: clickDevelopuser: Authentication failed: password is incorrect or there is no user with such name
  • 答: 用户可以通过MRS管理控制台页面登录到MRS的Manager页面。 Manager分为MRS Manager和 FusionInsight Manager,其中: MRS 2.x及之前版本集群的Manager界面称为MRS Manager。 MRS 3.x及之后版本集群的Manager界面称为FusionInsight Manager。 管理控制台与FusionInsight Manager页面的区别和联系请参考下表: 常用操作 MRS Console FusionInsight Manager 切换子网、添加安全组规则、OBS权限控制、管理委托、IAM用户同步 支持 不支持 新增节点组、扩容、缩容、升级规格 支持 不支持 隔离主机、启动所有角色、停止所有角色 支持 支持 下载客户端、启动服务、停止服务、滚动重启服务 支持 支持 查看服务实例状态、参数配置、同步配置 支持 支持 查看清除告警、查看事件 支持 支持 查看告警帮助 支持 支持 阈值类告警的阈值设置 不支持 支持 添加消息订阅规格 支持 不支持 文件管理 支持 不支持 作业管理 支持 不支持 租户管理 支持 支持 标签管理 支持 不支持 权限设置(添加删除用户、用户组、角色) 不支持 支持 集群组件数据备份恢复 不支持 支持 Manager操作审计日志 不支持 支持 资源监控 支持 支持
  • 如何通过happybase连接到MRS服务的HBase? MRS服务集群的HBase服务使用的是thriftserver2,thriftserver1和thriftserver2不能同时并存,但happybase只能通过thriftserver1接口连接到HBase,故建议客户使用python直接连接到HBase,具体实现请参考demohttps://github.com/huaweicloud/huaweicloud-mrs-example/blob/mrs-1.8/src/hbase-examples/hbase-python-example/DemoClient.py。 父主题: 周边生态对接类
  • MRS如何连接spark-beeline? 用root用户登录集群Master节点。 配置环境变量。 source 客户端安装目录/bigdata_env 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户。如果当前集群未启用Kerberos认证,则无需执行此命令。 kinit MRS集群业务用户 例如: “机机”用户请执行:kinit -kt user.keytab sparkuser “人机”用户请执行:kinit sparkuser 执行如下命令连接Spark组件的客户端。 spark-beeline 在spark-beeline中执行命令,例如在obs://mrs-word001/table/目录中创建表test。 create table test(id int) location 'obs://mrs-word001/table/'; 执行如下命令查询所有表,返回结果中存在表test,即表示访问OBS成功。 show tables; 图1 Spark验证返回已创建的表名 使用“Ctrl + C”退出spark beeline。 父主题: 客户端使用类
  • MRS集群版本如何进行升级? MRS普通版本集群 MRS普通版本集群无法实现低版本到高版本的平滑升级。如需体验新版本集群相关能力,建议重新创建一个新版本的集群,然后将老版本集群的数据迁移到新的集群。 MRS LTS版本集群 MRS LTS版集群支持版本升级能力,可从历史版本升级至目标LTS版本。如果需要使用版本升级能力,需联系运维人员确认支持的升级路径并购买相关专业服务进行升级。 父主题: 升级补丁类
  • 答: 不同版本的集群对应的主机操作系统不同,具体对应关系如表1所示。 表1 MRS集群版本与主机操作系统对应关系 MRS集群版本 x86计算 鲲鹏计算(ARM) MRS 3.2.0-LTS.1 EulerOS 2.10 EulerOS 2.10 MRS 3.1.5 EulerOS 2.9 EulerOS 2.9 MRS 3.1.2-LTS.3 EulerOS 2.9 EulerOS 2.9 MRS 3.1.0 EulerOS 2.5 EulerOS 2.8 MRS 1.9.2 EulerOS 2.2 EulerOS 2.8
  • 答: 在为集群Manager绑定了EIP后,通常不建议用户进行解绑,以免影响其他用户正常访问集群的Manager管理界面。 在MRS管理控制台为MRS的Manager界面绑定了EIP后,通过弹性公网IP列表界面无法直接解绑EIP。 如需解绑,可通过调用EIP服务的相关API接口进行解绑: 登录EIP管理控制台,在EIP列表中查看并记录需要解绑的公网IP地址对应的ID信息。 参考解绑弹性公网IP接口说明,在 API Explorer 中解绑EIP。 例如使用当前用户登录API Explorer后,根据实际情况选择Region信息,设置“project_id”为当前Region的项目ID信息、“publicip_id”为1查询到的待解绑EIP的ID。 接口调用成功后,登录EIP管理控制台,在EIP列表中可查看到当前EIP已变为未绑定状态。 登录MRS管理控制台,进入集群概览页面后,可为MRS集群重新绑定其他EIP。
  • Hue下载的Excel无法打开如何处理? 本案例适用于MRS 3.x之前版本。 以root用户登录任意一个Master节点,切换到omm用户。 su - omm 使用如下命令查看当前节点是否为 OMS 主节点。 sh ${BIGDATA_HOME}/om-0.0.1/sbin/status-oms.sh 回显active即为主节点,否则请登录另一个Master节点。 图1 oms主节点 进入“{BIGDATA_HOME}/Apache-httpd-*/conf”目录。 cd ${BIGDATA_HOME}/Apache-httpd-*/conf 打开httpd.conf文件。 vim httpd.conf 在文件中搜索21201,并删除文件中的如下内容。proxy_ip和proxy_port对应实际环境中的值。 ProxyHTMLEnable On SetEnv PROXY_PREFIX=https://[proxy_ip]:[proxy_port] ProxyHTMLURLMap (https?:\/\/[^:]*:[0-9]*.*) ${PROXY_PREFIX}/proxyRedirect=$1 RV 图2 待删除内容 退出并保存修改。 再次打开httpd.conf文件,搜索proxy_hue_port,并删除如下内容。 ProxyHTMLEnable On SetEnv PROXY_PREFIX=https://[proxy_ip]:[proxy_port] ProxyHTMLURLMap (https?:\/\/[^:]*:[0-9]*.*) ${PROXY_PREFIX}/proxyRedirect=$1 RV 图3 待删除内容 退出并保存修改。 执行如下命令重启httpd。 sh ${BIGDATA_HOME}/Apache-httpd-*/setup/restarthttpd.sh 检查备Master节点上的httpd.conf文件是否已修改,如果已修改则处理完成,如果未修改,参考上述步骤进行修改备Master节点的httpd.conf文件,无需重启httpd。 重新下载Excel即可打开。 父主题: Web页面访问类
  • LauncherJob作业执行失败,报错信息为“jobPropertiesMap is null”如何处理? 问:Launcher作业失败的,提示原因为:提交作业用户无“hdfs /mrs/job-properties”目录的写权限如何处理? 答:该问题已在MRS 2.1.0.6的补丁中修复,也可通过在MRS Manager页面给同步的提交作业用户赋予该目录“/mrs/job-properties”的写入权限进行处理。 父主题: 作业管理类
  • 添加Hive服务后,提交hivesql/hivescript作业失败如何处理? 该问题是由于提交作业的用户所在用户组绑定的MRS CommonOperations策略权限在同步到Manager中后没有Hive相关权限,处理方法如下: 添加Hive服务完成。 登录IAM服务控制台,创建一个用户组,该用户组所绑定策略和提交作业用户所在用户组权限相同。 将提交作业的用户添加到新用户组中。 刷新MRS控制台集群详情页面,“IAM用户同步”会显示“未同步”。 单击“IAM用户同步”右侧的“同步”。同步状态在MRS控制台页面选择“操作日志”查看当前用户是否被修改。 是,则可以重新提交Hive作业。 否,则检视上述步骤是否全部已执行完成。 是,请联系运维人员处理。 否,请等待执行完成后再提交Hive作业。 父主题: 作业管理类
  • 解决方法 调大launcher-job的heap size值。 使用omm用户登录主OMS节点。 修改“/opt/executor/webapps/executor/WEB-INF/classes/servicebroker.xml”中参数“job.launcher.resource.memory.mb”的值为“2048”。 使用sh /opt/executor/bin/restart-executor.sh重启executor进程。
  • SparkStreaming作业运行几十个小时后失败,报OBS访问403如何处理? 问:SparkStreaming作业运行几十个小时后失败,报OBS访问403如何处理? 答:当用户提交作业需要读写OBS时,提交作业程序会默认为用户添加访问OBS的临时accesskey和secretkey,但是临时accesskey和secretkey有过期时间。 如果需要运行像Flink和SparkStreaming这样的长时作业时,用户可通过“服务配置参数”选项框传入永久的accesskey和secretkey,以保证作业不会在运行过程中因密钥过期而执行失败。 父主题: 作业管理类
  • 如何使用PySpark连接MRS Spark? 问:如何在ECS服务器上用PySpark连接内网开启Kerberos认证的MRS Spark集群? 答:将Spark的“spark-defaults.conf”文件中“spark.yarn.security.credentials.hbase.enabled”修改为“true”,然后使用spark-submit --master yarn --keytab keytabfile --principal principal指定Kerberos认证文件。 父主题: 周边生态对接类
  • 为什么MRS Console页面Flink作业状态与Yarn上的作业状态不一致? 问:为什么MRS Console页面Flink作业状态与Yarn上的作业状态不一致? 答:为了节约存储空间,用户修改了Yarn的配置项yarn.resourcemanager.max-completed-applications,减小yarn上历史作业的记录保存个数。由于Flink是长时作业,在yarn上realJob还在运行,但launcherJob已经被删除,导致因从Yarn上查不到launcherJob,从而更新作业状态失败。该问题在2.1.0.6补丁中解决。 解决方法:终止找不到launcherJob的作业,后续提交的作业状态就会更新。 父主题: 作业管理类
  • 解决步骤 通过root用户登录Master1或Master2其中任意一节点,执行以下命令切换到omm用户。 su - omm 执行以下命令,修改“catalina.sh”脚本,搜索“JAVA_OPTS” ,找到类似如下的配置JAVA_OPTS=“-Xms1024m -Xmx4096m”,将其修改为需要的值大小,保存修改。 vim /opt/executor/bin/catalina.sh 重启manager-executor进程,该进程在Master1和Master2节点上为主备部署,同一时刻只有一个节点上运行该进程,首先确认节点上是否有该进程,如果有该进程则进行重启操作。 分别登录Master1节点和Master2节点,执行以下命令确认当前节点是否存在该进程。当有输出时则进程存在。 ps -ef | grep "/opt/executor" | grep -v grep 重启命令如下。 sh /opt/executor/bin/shutdown.shsh /opt/executor/bin/startup.sh
  • MRS是否支持同时运行多个Flume任务? Flume客户端可以包含多个独立的数据流,即在一个配置文件properties.properties中配置多个Source、Channel、Sink。这些组件可以链接以形成多个流。 例如在一个配置中配置两个数据流,示例如下: server.sources = source1 source2 server.sinks = sink1 sink2 server.channels = channel1 channel2 #dataflow1 server.sources.source1.channels = channel1 server.sinks.sink1.channel = channel1 #dataflow2 server.sources.source2.channels = channel2 server.sinks.sink2.channel = channel2 父主题: 组件配置类
  • Hue连接HiveServer报错“over max user connections”如何处理? 适用版本:MRS 3.1.0及之前的MRS 3.x版本。 修改所有Hue节点上的以下配置文件: /opt/Bigdata/FusionInsight_Porter_8.*/install/FusionInsight-Hue-*/hue/apps/beeswax/src/beeswax/models.py 修改文件中的396和404行的值。 q = self.filter(owner=user, application=application).exclude(guid='').exclude(secret='') 修改为: q = self.filter(owner=user, application=application).exclude(guid=None).exclude(secret=None) 图1 修改Hue配置文件 父主题: 组件配置类
  • 如何修改FlumeClient的日志为标准输出日志? 登录Flume客户端安装节点。 进入Flume客户端安装目录,假设Flume客户端安装路径为“/opt/FlumeClient”,可以执行以下命令。 cd /opt/FlumeClient/fusioninsight-flume-1.9.0/bin 执行./flume-manage.sh stop force命令,停止FlumeClient。 执行vi ../conf/log4j.properties命令,打开log4j.properties文件,修改“flume.root.logger”的取值为“${flume.log.level},console”。 执行./flume-manage.sh start force命令,重启FlumeClient。 修改完成后,请检查docker配置信息是否正确。 父主题: 组件配置类
共100000条