华为云用户手册

  • 字段 在“数据”标签页选择数据集,并将所需的“维度”、“度量”双击或拖拽至“字段”标签页。 表1 字段参数 参数 参数说明 字段显示内容 单击列内字段的,选择“字段显示内容”单击,在弹出页面对字段显示内容进行修改。单击“确定”完成对字段显示内容的修改。 聚合方式 选择“聚合方式”单击,支持设置无聚合、求和、计数、去重计数、最大值、最小值、平均值、总体标准差、样本标准差、样本方差、区间起始值、区间结束值。 钻取 支持对维度字段进行钻取功能的设置。如按照时间维度,可以从年份粒度下钻到季度/月份/周/天/小时/分钟/秒粒度查看数据情况。 单击列内字段,将要钻取的目标位置的字段拖拽至“钻取”内。 单击更新,测试钻取功能是否设置成功。 说明: 只支持维度字段下钻,不支持度量字段下钻。 只有一个字段可以作为下钻的起点。 钻取的是时间时,自动将它的细分时间置入下钻顺序列表,并将它们放进排序字段中(已在排序中的字段不再加入)。 已下钻的字段需高亮下钻图标,将维度中的钻取字段删掉,则整个钻取功能框都消失。
  • 样式 设置堆积面积图的样式参数,请参考表3、表4、表5、表6设置。 表3 基础设置 参数 说明 卡片标题 自定义是否显示卡片标题 ,勾选后在图表左上角显示。 文本 设置文本大小和颜色,单击选择文本颜色。 对齐方式 设置对齐方式,支持左对齐和居中对齐。 下边距 设置卡片标题与图表之间的距离。 分割线 自定义是否显示分割线。支持设置分割线样式的大小和颜色、下边距大小。 卡片背景 自定义是否显示卡片背景。单击选择卡片背景颜色。 状态icon 自定义是否显示状态icon。支持设置icon的显示方式和颜色,显示方式包括始终显示和悬停显示。 隐藏更多操作 自定义是否显示图表右上角。 取消卡片内边距 自定义是否取消卡片内边距。 表4 图表样式 参数 说明 显示图例 设置图示图例,不支持:当未勾选框时,为无法设置图示图例。支持:当勾选框时,支持设置图示图例。 文本 设置图例显示时的文本字体大小。 位置 设置图例显示时的显示位置,支持下方和上方设置。 色板 设置图例的色板。 语境 设置数值内的语境,支持中文(简体)和English。 单位 设置数值的单位,支持设置为无、自动、百、千、万、亿、亿万。 科学计数法 设置是否支持数值的科学计数法。 使用千分位分割符 设置数值是否使用千分位分割符。 小数位 设置数值是否支持小数位展示。 表5 坐标轴 轴类别 参数 说明 X轴 显示标题和单位 设置是否显示X轴的轴标题单位。 当未勾选框时,为不显示X轴的标题和单位。 当勾选框时,支持对X轴的标题、文本,轴标题自动获取或自定义输入,单位可自定义输入,文本支持设置字体大小和颜色。 显示坐标轴 设置是否显示坐标轴。 当未勾选框时,为不显示X轴的坐标轴。 当勾选框时,支持对X轴坐标线的字体大小和颜色设置。 显示轴标签 设置是否显示X轴的轴标签。 当未勾选框时,为不显示X轴的轴标签。 当勾选框时,支持对X轴的轴标签的文本字体大小和颜色设置,也可设置X轴标签的角度。 显示网格线 设置是否显示X轴的网格线。 当未勾选框时,为不显示X轴的网格线。 当勾选框时,支持设置X轴的网格线的分格数和颜色。 显示刻度线 设置是否显示刻度线。 当未勾选框时,为不显示刻度线。 当勾选框时,显示刻度线。 尺度类型 支持序数类型。 缩略坐标轴标签 缩略X坐标轴标签。 Y轴 显示标题和单位 设置是否显示Y轴的轴标题单位。 当未勾选框时,为不显示Y轴的标题和单位。 当勾选框时,支持对Y轴的轴标题、位置、文本,轴标题自动获取或自定义输入,轴标题的位置可设置为轴上方或轴左侧,单位可自定义输入,文本支持设置字体大小和颜色。 自动设置数值范围 当未勾选框时,需要用户自己设置。 当勾选框时,图表自动设置数值范围。 显示坐标轴 设置是否显示坐标轴。 当未勾选框时,为不显示Y轴的坐标轴。 当勾选框时,支持对Y轴坐标线的字体大小和颜色设置。 显示轴标签 设置是否显示Y轴的轴标签。 当未勾选框时,为不显示Y轴的轴标签。 当勾选框时,支持对Y轴的轴标签的文本字体大小和颜色设置。 支持自定义轴标签显示格式,勾选后用户可以自定义显示格式。 显示网格线 设置是否显示Y轴的网格线。 当未勾选框时,为不显示Y轴的网格线。 当勾选框时,支持设置Y轴的网格线的分格数和颜色。 显示刻度线 设置是否显示刻度线。 当未勾选框时,为不显示刻度线。 当勾选框时,显示刻度线。 尺度类型 对数尺度展示数据范围需都大于0或都小于0 支持的类型:线性。 缩略坐标轴标签 缩略Y坐标轴标签。 表6 功能配置 功能配置 说明 缩略轴 设置是否开启缩略轴。 缩略轴背景数据 设置缩略轴背景数据显示。 空值处理 设置空值处理规则: 删除、智能删除、置零、空值断开。
  • 操作步骤 在仪表板导航栏单击,新建堆积面积图模板。 在数据列选择数据集。 设置字段、样式、高级相关参数。 单击“更新”,系统自动更新图表。 图1 堆积面积图 单击右侧的“保存”或“保存并发布”,保存智能图表组成的仪表板。 单击右侧的“保存”,输入仪表板的名称,单击“确定”保存成功,不支持仪表板的查看功能,支持删除仪表板。 单击“保存并发布”,不仅保存了仪表板也发布了仪表板。支持仪表板查看功能,如果要删除仪表板需要先将仪表进行下线操作。 在弹出的仪表板页面输入仪表板名称。
  • 操作步骤 在仪表板页面导航栏单击,新建组合容器控件。 在页面右侧的数据页签选择需要分析的数据集。 选择需要的可视化控件,单击放入组合容器控件内。 设置相关参数,参数说明请参见表2。 单击 “确定”,系统自动更新图表。 单击页面右上角的“保存”或“保存并发布”保存仪表板。 图1 组合容器 表1 基础设置 参数 说明 卡片标题 自定义是否显示卡片标题 ,勾选后在图表左上角显示。 文本 设置文本大小和颜色,单击选择文本颜色。 对齐方式 设置对齐方式,支持左对齐和居中对齐。 下边距 设置卡片标题与图表之间的距离。 分割线 自定义是否显示分割线。支持设置分割线样式的大小和颜色、下边距大小。 卡片背景 自定义是否显示卡片背景。单击选择卡片背景颜色。 状态icon 自定义是否显示状态icon。支持设置icon的显示方式和颜色,显示方式包括始终显示和悬停显示。 隐藏更多操作 自定义是否显示图表右上角。 取消卡片内边距 自定义是否取消卡片内边距。 表2 功能配置 参数 说明 显示线条 支持显示线条和不显示线条设置,显示线条支持右箭头和无箭头。线条可以起到类似流程图的线条的作用,将容器内的控件联系起来。 不显示线条:当未勾选框时,不显示线条。 显示线条:当勾选框时,显示线条。 类型 线条类型支持以下几种:——、-------、........。 页面标题 设置页面标题的字体大小、颜色。 隐藏子组件边框 自定义是否隐藏组合容器中子组件的边框。
  • 操作步骤 在仪表板页面导航栏单击,新建页签控件。 在页面右侧的数据页签选择需要分析的数据集。 选择需要的可视化控件,单击放入页签控件内。 设置相关参数,参数说明请参见表2。 单击 “确定”,系统自动更新图表。 单击页面右上角的“保存”或“保存并发布”保存仪表板。 图1 页签 表1 基础设置 参数 说明 卡片标题 自定义是否显示卡片标题 ,勾选后在图表左上角显示。 文本 设置文本大小和颜色,单击选择文本颜色。 对齐方式 设置对齐方式,支持左对齐和居中对齐。 下边距 设置卡片标题与图表之间的距离。 分割线 自定义是否显示分割线。支持设置分割线样式的大小和颜色、下边距大小。 卡片背景 自定义是否显示卡片背景。单击选择卡片背景颜色。 状态icon 自定义是否显示状态icon。支持设置icon的显示方式和颜色,显示方式包括始终显示和悬停显示。 隐藏更多操作 自定义是否显示图表右上角。 取消卡片内边距 自定义是否取消卡片内边距。 表2 页签样式参数说明 参数 说明 卡片标题 卡片支持有和无标题的设置。设置卡片的标题,在卡片的左上角展示。 无标题:当未勾选框时,为无标题格式。 有标题:当勾选框时,为有标题格式。 文本 设置文本字体的大小和字体颜色。可通过输入修改字体大小也可通过和修改字体的大小。 对齐方式 支持左对齐和居中对齐方式。 下边距 卡片标题的下边距可设置,取值范围0~32。 卡片标题下边距 设置标题下边距。可通过输入修改下边距大小也可通过和修改下边距的大小。 分割线 卡片支持无和有分割线的设置。 无分割线:当未勾选框时,为无分割线格式。 有分割线:当勾选框时,为有分割线格式。支持对分割线的样式和下框边距进行设置。分割线样式和下边框支持输入设置,也可通过和进行设置。 分割线样式:用户可自定义用户颜色和大小(范围0~8之间)。 分割线下边距:设置分割线下边距。可通过输入修改下边距大小也可通过和修改分割线下边距的大小,输入值大小0~32之间。 卡片背景 卡片背景支持有背景和无背景设置。 无背景:当未勾选框时,为无背景格式。 有背景:当勾选框时,为有背景格式。支持背景颜色的设置。 状态icon 可以设置icon的显示方式和颜色,支持始终显示和悬停显示。卡片icon支持有状态icon和无状态icon设置。 无背景:当未勾选框时,为无状态icon。 有背景:当勾选框时,为有状态icon。 卡片显示类型:悬停显示、始终显示。颜色用户自定义。 Tab样式 Tab样式支持默认设置和自定义设置。自定义设置支持下划线和选中块设置。 默认:当未勾选框时,为默认设置。 自定义:当勾选框时,为自定义Tab样式。 Tab内文字 设置选中和文本的字体大小和颜色,支持输入设置,也可通过和进行设置。 Tab位置 支持设置为居左、居中、居右。 自定义Tab内组件边框 支持默认和自定义两种方式。自定义设置组件边框和颜色,支持输入设置,也可通过和进行设置。 默认:当未勾选框时,为默认设置。 自定义:当勾选框时,为自定义Tab样式。 Tab标签设置 支持新增、删除、修改标签名称等功能。 预览时显示Tab 未勾选:当未勾选框时,为不显示Tab。 勾选:当勾选框时,为显示Tab。
  • 操作步骤 页面设置 在仪表板编辑页面,单击页面右上角“页面设置”。 在页面设置页面,设置仪表板全局样式、页面布局,参数说明请参见表1、表2。 表1 全局样式参数说明 参数 说明 页面背景 用来设置仪表板的背景色。 色板 设置仪表板支持的色系,有两种模式可以选择:系统和自定义。 系统支持的色系:在下拉菜单中选择需要的色系。 自定义:可以自定义上传图片,来确定色系。 字体 设置仪表板的字体类型。 卡片圆角 配置图表卡片边角弧度,可以输入设置,也可通过控制台上的和来对弧度设置。 卡片描边 设置卡片的描边,可以输入设置,也可通过控制台上的和来对描边设置。 组件内边距 设置组件内的距离有两种设置格式,默认和自定义。自定义的距离可以输入设置,也可通过控制台上的和来对组件内边距进行设置。 表2 页面布局参数说明 参数 说明 页面标题 用来设置页面标题,有两种模式可选,勾选和不勾选。 勾选:展示页面标题。不勾选:不展示页面标题。 标题 页面标题,可进行自定义编辑。 文本 标题字体的大小,可以输入设置,也可通过控制台上的和来对组件间距设置。 对齐方式 支持两种对齐方式,左对齐和居中对齐。 下边距 设置标题到页面的边距,两种格式默认和自定义。自定义的距离可以输入设置,也可通过控制台上的和来对组件间距设置。 单击“高级”,进入高级设置页签,设置相关参数,参数说明请参见表3 表3 高级设置参数说明 参数 说明 显示水印 勾选后,默认用户名显示在图表画布中,未勾选图表画布中未显示用户名。用户也可根据自己的实际情况在水印内容输入框中输入水印内容。 全局参数 单击参数设置右侧,进入全局参数页面,设置全局参数列表、查询条件、图表。 配置完成后,单击“保存”保存仪表板。 栅格设置 在仪表板编辑页面,单击页面右上角“格栅设置”。 在页面设置页面,设置栅格列数、列间距、行间距、页面边距等配置项,参数说明请参见表4。 配置完成后,单击“保存”保存仪表板。 表4 栅格参数说明 参数 说明 栅格列数 设置栅格的列数,支持和来设置列数,也支持输入设置。 列间距 设置栅格的列间距,单位为px,支持和来设置列间距,也支持输入设置。 行间距 设置栅格的行间距,单位为px,支持和来设置行间距,也支持输入设置。 页面边距 设置栅格距页面的距离,单位为px,支持和来设置页面边距,也支持输入设置。
  • 示例流程 图1 为 IAM 用户授权DataArts Insight资源权限 创建用户组并授权。 在IAM控制台创建用户组,并授予DataArts Insight服务普通用户权限“DataArts Insight ReadOnlyAccess”。 创建用户并加入用户组。 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限。 使用新创建的用户登录控制台,切换至授权区域,验证权限: 登录DataArts Insight管理控制台。如果在“数据集”页面可以查看数据集列表,但是无法创建数据集(假设当前权限仅包含DataArts Insight ReadOnlyAccess),表示“DataArts Insight ReadOnlyAccess”已生效。 在“服务列表”中选择除登录DataArts Insight外(假设当前策略仅包含DataArts Insight ReadOnlyAccess)的任一服务,如果提示权限不足,表示“DataArts Insight ReadOnlyAccess”已生效。
  • HoodieDeltaStreamer流式写入 Hudi自带HoodieDeltaStreamer工具支持流式写入,也可以使用SparkStreaming以微批的方式写入。HoodieDeltaStreamer提供以下功能: 支持Kafka,DFS多种数据源接入 。 支持管理检查点、回滚和恢复,保证exactly once语义。 支持自定义转换操作。 示例: 准备配置文件kafka-source.properties #hudi配置 hoodie.datasource.write.recordkey.field=id hoodie.datasource.write.partitionpath.field=age hoodie.upsert.shuffle.parallelism=100 #hive config hoodie.datasource.hive_sync.table=hudimor_deltastreamer_partition hoodie.datasource.hive_sync.partition_fields=age hoodie.datasource.hive_sync.partition_extractor_class=org.apache.hudi.hive.MultiPartKeysValueExtractor hoodie.datasource.hive_sync.use_jdbc=false hoodie.datasource.hive_sync.support_timestamp=true # Kafka Source topic hoodie.deltastreamer.source.kafka.topic=hudimor_deltastreamer_partition #checkpoint hoodie.deltastreamer.checkpoint.provider.path=hdfs://hacluster/tmp/huditest/hudimor_deltastreamer_partition # Kafka props # The kafka cluster we want to ingest from bootstrap.servers= xx.xx.xx.xx:xx auto.offset.reset=earliest #auto.offset.reset=latest group.id=hoodie-delta-streamer offset.rang.limit=10000 指定HoodieDeltaStreamer执行参数(具体参数配置,请查看官网https://hudi.apache.org/ )执行如下命令: spark-submit --master yarn --jars /opt/hudi-java-examples-1.0.jar // 指定spark运行时需要的hudi jars路径 --driver-memory 1g --executor-memory 1g --executor-cores 1 --num-executors 2 --conf spark.kryoserializer.buffer.max=128m --driver-class-path /opt/client/Hudi/hudi/conf:/opt/client/Hudi/hudi/lib/*:/opt/client/Spark2x/spark/jars/*:/opt/hudi-examples-0.6.1-SNAPSHOT.jar:/opt/hudi-examples-0.6.1-SNAPSHOT-tests.jar // 指定spark driver需要的hudi jars路径 --class org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer spark-internal --props file:///opt/kafka-source.properties // 指定配置文件,注意:使用yarn-cluster模式提交任务时,请指定配置文件路径为HDFS路径。 --target-base-path /tmp/huditest/hudimor1_deltastreamer_partition // 指定hudi表路径 --table-type MERGE_ON_READ // 指定要写入的hudi表类型 --target-table hudimor_deltastreamer_partition // 指定hudi表名 --source-ordering-field name // 指定hudi表预合并列 --source-class org.apache.hudi.utilities.sources.JsonKafkaSource // 指定消费的数据源为JsonKafkaSource, 该参数根据不同数据源指定不同的source类 --schemaprovider-class com.huawei.bigdata.hudi.examples.DataSchemaProviderExample // 指定hudi表所需要的schema --transformer-class com.huawei.bigdata.hudi.examples.TransformerExample // 指定如何处理数据源拉取来的数据,可根据自身业务需求做定制 --enable-hive-sync // 开启hive同步,同步hudi表到hive --continuous // 指定流处理模式为连续模式
  • 背景信息 假定用户开发一个应用程序,用于管理企业中的使用A业务的用户信息,使用Impala客户端实现A业务操作流程如下: 普通表的操作: 创建用户信息表user_info。 在用户信息中新增用户的学历、职称信息。 根据用户编号查询用户姓名和地址。 A业务结束后,删除用户信息表。 表1 用户信息 编号 姓名 性别 年龄 地址 12005000201 A 男 19 A城市 12005000202 B 女 23 B城市 12005000203 C 男 26 C城市 12005000204 D 男 18 D城市 12005000205 E 女 21 E城市 12005000206 F 男 32 F城市 12005000207 G 女 29 G城市 12005000208 H 女 30 H城市 12005000209 I 男 26 I城市 12005000210 J 女 25 J城市
  • 操作场景 在现有的缺省DFSclient failover proxy provider中,一旦某进程中的一个NameNode发生故障,在同一进程中的所有HDFS client实例都会尝试再次连接NameNode,导致应用长时间等待超时。 当位于同一JVM进程中的客户端对无法访问的NameNode进行连接时,会对系统造成负担。为了避免这种负担, MRS 集群搭载了NameNode blacklist功能。 在新的Blacklisting DFSClient failover provider中,故障的NameNode将被记录至一个列表中。DFSClient会利用这些信息,防止客户端再次连接这些NameNode。该功能被称为NameNode blacklisting。 例如,有如下集群配置: NameNode:nn1、nn2 dfs.client.failover.connection.retries:20 单JVM中的进程:10个客户端 在上述集群中,如果当前处于active状态的nn1无法访问,client1将会对nn1进行20次重新连接,之后发生故障转移,client1将会连接至nn2。与此相同,client2至client10也会在对nn1进行20次重新连接后连接至nn2。这样会延长NameNode的整体故障恢复时间。 针对该情况,当client1试图连接当前处于active状态的nn1,但其已经发生故障时,nn1将会被添加至blacklist。这样其余client就不会连接已被添加至blacklist的nn1,而是会选择连接nn2。 图1 NameNode blacklisting状态图 若在任一时刻,所有NameNode都被添加至blacklist,则其内容会被清空,client会按照初始的NameNode list重新尝试连接。若再次出现任何故障,NameNode仍会被添加至blacklist。
  • 问题排查步骤 磁盘或其他存储介质问题导致merge过慢或者中止。 登录Manager页面,检查是否存在磁盘容量不足或其他磁盘告警,如果存在,请按照告警指导处理。 如果是磁盘容量不足,也可以联系客户删除部分过期数据,释放空间,快速恢复业务。 Zookeeper异常导致merge无法正常执行。 登录Manager页面,检查ZooKeeper是否存在服务不可用、ClickHouse服务在ZooKeeper的数量配额使用率超过阈值等相关告警,如果存在,请按照告警指导处理。 执行如下SQL排查是否存在副本同步队列任务积压: select FQDN() as node,type,count() from clusterAllReplicas(default_cluster, system.replication_queue) group by node,type; 如果存在积压,请查看副本队列中的任务是否报错,并根据报错信息处理。 执行如下SQL排查是否存在节点间表结构不一致。 select FQDN(), create_table_query from clusterAllReplicas(default_cluster,system.tables) where name = '${table_name}' group by FQDN(),create_table_query; 如果存在,请将不一致的表结构修改一致。 执行如下SQL排查是否存在mutation任务异常: select FQDN(), database, table, mutation_id, create_time, command from clusterAllReplicas(default_cluster, system.mutations) where is_done = '0' order by create_time asc; 如果mutation任务正常,等待mutation任务完成,如果mutation任务异常,清理异常的mutation任务。 业务写入压力过大导致merge速度小于insert速度。 可以用以下SQL语句检查报错节点最近一小时的写入条数和频次: select tables,written_rows,count() from system.query_log where type='QueryFinish' and query_start_time between (toUnixTimestamp(now()) - 3600) AND toUnixTimestamp(now()) and query_kind = 'Insert' group by tables,written_rows order by written_rows limit 10; 业务上建议一次写入一个分区,写入频率不要太快,不要小批量数据的插入,适当增大每次插入的时间间隔。 如果没有触发Merge,或者Merge较慢,需要调整参数加快Merge。 加速Merge,需要调整如下参数,请参考加速Merge操作: 配置项 参考值 max_threads CPU核数*2 background_pool_size CPU核数 merge_max_block_size 8192的整数倍,根据CPU内存资源大小调整 cleanup_delay_period 适当小于默认值30
  • 为已有的租户关联ClickHouse服务 在 FusionInsight Manager页面,选择“租户资源”,选中需要操作的租户,选择“服务关联”页签,单击“关联服务”,具体参数如下表所示: 参数 描述 服务 选择“ClickHouse” 关联类型 选择“共享” 关联逻辑集群 如果ClickHouse没有开启逻辑集群,则默认关联default_cluster,如果已经开启逻辑集群,则按需选择需要关联的逻辑集群 CPU优先级 CPU优先级取值范围为-20~19,该值关联OS的NICE值,取值越小,CPU优先级越高。如需开启CPU优先级请参考开启ClickHouse租户CPU优先级配置 内存 内存限制为百分比,如该值设置为80,则当前租户可使用的内存总额为:服务可使用内存 * 80% 在弹出的页签中按照业务需求进行租户配置,单击“确定”,租户关联服务。 如果需要解除关联ClickHouse服务: 在FusionInsight Manager页面,选择“租户资源”,选中需要操作的租户,在“操作”列单击“删除”,在弹窗中单击“确定”,解除关联ClickHouse服务。 当租户解除关联ClickHouse服务后,该租户将不再拥有ClickHouse逻辑集群的权限。同时绑定该租户的用户也不再拥有ClickHouse逻辑集群的权限。
  • 创建ClickHouse租户 登录FusionInsight Manager系统。 详细操作请参考访问集群Manager。 选择“租户资源”,单击,打开添加租户的配置页面,参见表1为租户配置属性。 表1 租户参数一览 参数名 描述 集群 选择要创建租户的集群。 名称 指定当前租户的名称,长度为3~50个字符,可包含数字、字母或下划线(_)。 根据业务需求规划租户的名称,不得与当前集群中已有的角色、HDFS目录或者Yarn队列重名。 租户资源类型 选择“叶子租户资源” 说明: 创建ClickHouse租户,租户资源类型只能选择“叶子租户”。 计算资源 为当前租户选择动态计算资源。 选择“Yarn”时,系统自动在Yarn中以租户名称创建任务队列。 不选择“Yarn”时,系统不会自动创建任务队列。 配置模式 计算资源参数配置模式。 选择“基础”时,只需配置“默认资源池容量 (%)”参数即可。 选择“高级”时,可手动配置资源分配权重,租户的最小/最大/预留资源。 默认资源池容量 (%) 配置当前租户在默认资源池中使用的计算资源百分比,取值范围0~100%。 权重 资源分配权重,取值范围从0到100。 最小资源 保证租户资源能获得的资源(有抢占支持)。取值可以是父租户资源的百分比或绝对值。当租户资源作业量比较少时,资源会自动借给其他租户资源,当租户资源能使用的资源不满足最小资源时,可以通过抢占来要回之前借出的资源。 最大资源 租户资源最多能使用的资源,租户资源不能得到比最大资源设定更多的资源。取值可以是父租户资源的百分比或绝对值。 预留资源 租户资源预留资源。即使租户资源内没有作业,预留的资源也不能给别的租户资源使用。取值可以是父租户资源的百分比或绝对值。 存储资源 为当前租户选择存储资源。 选择“HDFS”时,系统将分配存储资源。 不选择“HDFS”时,系统不会分配存储资源。 文件\目录数上限 配置文件和目录数量配额。 存储空间配额 配置当前租户使用的HDFS存储空间配额。 取值范围:当存储空间配额单位设置为MB时,范围为1~8796093022208。当存储空间配额单位设置为GB时,范围为1~8589934592。 此参数值表示租户可使用的HDFS存储空间上限,不代表一定使用了这么多空间。 如果参数值大于HDFS物理磁盘大小,实际最多使用全部的HDFS物理磁盘空间。 存储路径 配置租户在HDFS中的存储目录。 系统默认将自动在“/tenant”目录中以租户名称创建文件夹。例如租户“ta1”,默认HDFS存储目录为“/tenant/ta1”。 第一次创建租户时,系统自动在HDFS根目录创建“/tenant”目录。支持自定义存储路径。 服务 “服务”选择“ClickHouse”。 “关联类型”:当“服务”选择“ClickHouse”时,“关联类型”只支持“共享”。 “关联逻辑集群”:如果ClickHouse没有开启逻辑集群,则默认关联default_cluster,如果已经开启逻辑集群,则按需选择需要关联的逻辑集群。 “CPU优先级”:CPU优先级取值范围为-20~19,该值关联OS的NICE值,取值越小,CPU优先级越高。如需开启CPU优先级请参考开启ClickHouse租户CPU优先级配置。 “内存”:内存限制为百分比,如该值设置为80,则当前租户可使用的内存总额为:服务可使用内存 * 80%。 描述 配置当前租户的描述信息。 单击“确定”,等待界面提示租户创建成功。 ClickHouse租户创建完成后,可以在“租户资源”中查看并修改租户资源。 在FusionInsight Manager页面,选择“租户资源”,在租户列表中选中需要查看的ClickHouse租户,查看租户概述和资源配额。 选择“资源”,单击“资源详情”后的,对租户资源进行修改。 修改完成后,单击“确定”,返回“资源”页面,展示修改后的资源详情。 修改ClickHouse租户资源配额后,需要重新登录ClickHouse客户端才能生效。
  • 配置场景 当Yarn本地目录和DataNode目录配置在同一个磁盘时,具有较大容量的磁盘可以运行更多的任务,因此将有更多的中间数据存储在Yarn本地目录。 目前DataNode支持通过配置“dfs.datanode.du.reserved”来配置预留磁盘空间大小(默认值为“0”)。配置较小的数值不能满足更大的磁盘要求,但对于更小的磁盘配置更大的数值将浪费大量的空间。 为了避免这种情况,MRS支持配置预留磁盘空间占总磁盘空间大小的百分比,可以基于总的磁盘空间来预留磁盘百分比。
  • 操作场景 HDFS部署在具有多个NameNode实例的HA(High Availability)模式中,HDFS客户端需要依次连接到每个NameNode,以确定当前活动的NameNode,并将其用于客户端操作。 一旦识别出活动的NameNode,该NameNode的详细信息就可以被缓存并共享给在客户端机器中运行的所有客户端。此时,每个新客户端可以首先尝试从缓存加载活动的NameNode的详细信息,并将RPC调用保存到备用的NameNode。该机制在异常情况下具有显著优势,例如当备用的NameNode连接长时间不响应时,系统会将另一个NameNode切换为活动状态时,缓存的详细信息将被更新为当前活动的NameNode的信息。
  • 使用HDFS客户端 安装客户端,详细操作请参考使用MRS客户端。 以客户端安装用户,登录安装客户端的节点。 执行以下命令,切换到客户端安装目录,例如“/opt/client”。 cd /opt/client 执行以下命令配置环境变量。 source bigdata_env 如果集群为安全模式,执行以下命令进行用户认证。普通模式集群无需执行用户认证。 kinit 组件业务用户 执行HDFS Shell命令。例如: hdfs dfs -ls /
  • 如何设置HDFS客户端运行时的日志级别? HDFS客户端运行时的日志是默认输出到管理控制台的,其级别默认为INFO。如果需要开启DEBUG级别日志,可以通过导出一个环境变量来设置,命令如下: export HADOOP_ROOT_ LOG GER=DEBUG,console 在执行完上面命令后,再执行HDFS Shell命令时,即可打印出DEBUG级别日志。 如果想恢复INFO级别日志,可执行如下命令: export HADOOP_ROOT_LOGGER=INFO,console
  • 相关文档 如果HDFS客户端写文件close失败,客户端提示数据块没有足够副本数,处理方法请参见HDFS客户端写文件close失败。 如果需要调整客户端日志级别,处理方法请参见调整HDFS Shell客户端日志级别。 如果使用HDFS客户端命令删除超长目录报错,处理方法请参见HDFS客户端无法删除超长目录。 如果集群外节点安装客户端使用hdfs命令上传文件失败,报错no route to host,处理方法请参见集群外节点安装客户端上传HDFS文件失败。 更多使用HDFS客户端常见问题如下:
  • 背景信息 假定用户开发一个应用程序,用于管理企业中的使用A业务的用户信息,使用Impala客户端实现A业务操作流程如下: 普通表的操作: 创建用户信息表user_info。 在用户信息中新增用户的学历、职称信息。 根据用户编号查询用户姓名和地址。 A业务结束后,删除用户信息表。 表1 用户信息 编号 姓名 性别 年龄 地址 12005000201 A 男 19 A城市 12005000202 B 女 23 B城市 12005000203 C 男 26 C城市 12005000204 D 男 18 D城市 12005000205 E 女 21 E城市 12005000206 F 男 32 F城市 12005000207 G 女 29 G城市 12005000208 H 女 30 H城市 12005000209 I 男 26 I城市 12005000210 J 女 25 J城市
  • 步骤三:运行UDF 将步骤一:开发UDF打包的“AddDoublesUDF.jar”上传至客户端安装节点,例如“opt”目录下。 以客户端安装用户登录安装客户端的节点,上传1中的“AddDoublesUDF.jar”到HDFS指定目录下,例如“/user/hive_examples_jars”,且创建函数的用户与使用函数的用户都需要具有该文件的可读权限。 切换至客户端安装目录并配置环境变量: 切换至客户端安装目录: cd 客户端安装目录 配置环境变量: source bigdata_env 认证用户。 集群已开启Kerberos认证(安全模式): kinit 业务用户 集群未开启Kerberos认证(普通模式): export HADOOP_USER_NAME=业务用户 上传UDF Jar包至HDFS目录中: hdfs dfs -put /opt /user/hive_examples_jars 修改权限: hdfs dfs -chmod 777 /user/hive_examples_jars 登录Hive客户端。 集群已开启Kerberos认证(安全模式),执行如下命令: beeline 如果用户绑定了Hive管理员角色,在每个beeline的维护操作会话中,都需要执行以下命令切换成admin角色再执行后续操作: set role admin; 集群未开启Kerberos认证(普通模式),执行如下命令: beeline -n Hive业务用户 在Hive Server中执行以下命令创建自定义函数: 创建永久函数: CREATE FUNCTION addDoubles AS 'com.xxx.bigdata.hive.example.udf.AddDoublesUDF' using jar 'hdfs://hacluster/user/hive_examples_jars/AddDoublesUDF.jar'; 其中addDoubles是该函数的名称,用于SELECT查询中使用;xxx通常为程序开发的组织名称。 创建临时函数: CREATE TEMPORARY FUNCTION addDoubles AS 'com.xxx.bigdata.hive.example.udf.AddDoublesUDF' using jar 'hdfs://hacluster/user/hive_examples_jars/AddDoublesUDF.jar'; addDoubles是该函数的名称,用于SELECT查询中使用。 关键字TEMPORARY说明该函数只在当前这个Hive Server的会话过程中定义使用。 在Hive Server中执行以下命令使用该函数: SELECT addDoubles(1,2,3); 如果重新连接客户端再使用函数出现“[Error 10011]”错误,可执行reload function;命令后再使用该函数。例如,报错信息如下: Error: Error while compiling statement: FAILED: SemanticException [Error 10011]: Line 1:7 ... 在Hive Server中执行以下命令删除该函数: DROP FUNCTION addDoubles;
  • 相关文档 如果在Hive客户端中使用Spark创建UDF函数或多个HiveServer之间使用UDF报错“ERROR 10011”、“invalid function”,处理该故障的具体操作请参见使用UDF函数时提示“Invalid function”。 创建Hive永久UDF函数时报错用户权限不足,处理该故障的具体操作请参见在beeline客户端创建UDF时报错。 如需在Hive自定义函数中操作本地文件,具体操作请参见如何在Hive自定义函数中操作本地文件。 如需删除所有HiveServer中的永久函数,具体操作请参见如何删除所有HiveServer中的永久函数。
  • Hive UDF介绍 表1 Hive UDF介绍 UDF分类 说明 UDF(User-Defined Functions) 自定义标量函数,其输入与输出是一对一的关系,即读入一行数据,写出一条输出值。 UDAF(User-Defined Aggregating Functions) 自定义聚合函数,其输入与输出是多对一的关系,即将多条输入记录聚合成一条输出值,可以与SQL中的Group By语句联合使用。 UDTF(User-Defined Table-Generating Functions) 自定义表值函数,用来解决一次函数调用输出多行数据场景的,也是唯一一个可以返回多个字段的自定义函数。 按使用方法,UDF有如下分类: 临时函数,只能在当前会话使用,重启会话后需要重新创建。 永久函数,可以在多个会话中使用,不需要每次创建。
  • 操作场景 安全加密通道是HDFS中RPC通信的一种加密协议,当用户调用RPC时,用户的login name会通过RPC头部传递给RPC,之后RPC使用Simple Authentication and Security Layer(SASL)确定一个权限协议(支持Kerberos和DIGEST-MD5两种),完成RPC授权。用户在部署安全集群时,需要使用安全加密通道,配置相关参数。安全Hadoop RPC相关信息请参考: MRS 3.2.0之前版本:https://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-common/SecureMode.html#Data_Encryption_on_RPC MRS 3.2.0及之后版本:https://hadoop.apache.org/docs/r3.3.1/hadoop-project-dist/hadoop-common/SecureMode.html#Data_Encryption_on_RPC
  • 操作场景 该任务指导用户使用Flume客户端从本地采集静态日志保存到HBase表:flume_test。该场景介绍的是多级agent串联操作。 本章节适用于MRS 3.x及之后版本。 本配置默认集群网络环境是安全的,数据传输过程不需要启用SSL认证。如需使用加密方式,请参考配置Flume加密传输数据采集任务。该配置可以只用一个Flume场景,例如Server:Spooldir Source+File Channel+HBase Sink。
  • 配置LZC压缩算法 以root用户,登录安装客户端的节点。 执行以下命令,修改客户端配置文件“core-site.xml”。 vi 客户端安装路径/HDFS/hadoop/etc/hadoop/core-site.xml 根据需要修改以下参数值,并保存。 表1 参数描述 参数 描述 默认值 io.compression.codecs 为了使LZC压缩格式生效,在现有的压缩格式列表中增加如下值: “com.huawei.hadoop.datasight.io.compress.lzc.ZCodec”。 若配置了多于一种的压缩格式需要使用英文逗号分隔。 org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.DeflateCodec,org.apache.hadoop.io.compress.Lz4Codec,org.apache.hadoop.io.compress.SnappyCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.ZStandardCodec,com.huawei.hadoop.datasight.io.compress.lzc.ZCodec io.compression.codec.lzc.class 为了使LZC压缩格式生效,使用该参数默认值,配置参数值为“com.huawei.hadoop.datasight.io.compress.lzc.ZCodec”。 com.huawei.hadoop.datasight.io.compress.lzc.ZCodec
  • 对系统的影响 修改磁盘选择策略为“节点磁盘可用空间块放置策略(org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy)”,经过测试验证,在该测试结果中,修改前后,HDFS写文件性能影响范围在3%以内。 NameNode默认的副本存储策略为: 第一副本:存放到客户端所在节点。 第二副本:远端机架的数据节点。 第三副本:存放到客户端所在节点的相同机架的不同节点。 如还有更多副本,则随机选择其它DataNode。 “节点磁盘可用空间块放置策略”的副本选择机制为: 第一个副本:存放在客户端所在DataNode(和默认的存放策略一样)。 第二个副本: 选择存储节点的时候,先挑选2个满足要求的数据节点。 比较这2个节点磁盘空间使用比例,如果磁盘空间使用率的相差小于5%,随机存放到第一个节点。 如果磁盘空间使用率相差超过5%,即有60%(由dfs.namenode.available-space-block-placement-policy.balanced-space-preference-fraction指定,默认值0.6)的概率写到磁盘空间使用率低的节点。 第三副本等其他后续副本的存储情况,也参考第二个副本的选择方式。
  • 基于标签的数据块摆放策略样例 例如某MRS集群有六个DataNode:dn-1,dn-2,dn-3,dn-4,dn-5以及dn-6,对应的IP为10.1.120.[1-6]。有六个目录需要配置标签表达式,Block默认备份数为3。 下面给出3种DataNode标签信息在“host2labels”文件中的表示方式,其作用是一样的。 主机名正则表达式 /dn-[1456]/ = label-1,label-2 /dn-[26]/ = label-1,label-3 /dn-[3456]/ = label-1,label-4 /dn-5/ = label-5 IP地址范围表示方式 10.1.120.[1-6] = label-1 10.1.120.1 = label-2 10.1.120.2 = label-3 10.1.120.[3-6] = label-4 10.1.120.[4-6] = label-2 10.1.120.5 = label-5 10.1.120.6 = label-3 普通的主机名表达式 /dn-1/ = label-1, label-2 /dn-2/ = label-1, label-3 /dn-3/ = label-1, label-4 /dn-4/ = label-1, label-2, label-4 /dn-5/ = label-1, label-2, label-4, label-5 /dn-6/ = label-1, label-2, label-3, label-4 目录的标签表达式设置结果如下: /dir1 = label-1 /dir2 = label-1 && label-3 /dir3 = label-2 || label-4[replica=2] /dir4 = (label-2 || label-3) && label-4 /dir5 = !label-1 /sdir2.txt = label-1 && label-3[replica=3,fallback=NONE] /dir6 = label-4[replica=2],label-2 标签表达式设置方式请参考通过命令行配置。 文件的数据块存放结果如下: “/dir1”目录下文件的数据块可存放在dn-1,dn-2,dn-3,dn-4,dn-5和dn-6六个节点中的任意一个。 “/dir2”目录下文件的数据块可存放在dn-2和dn-6节点上。Block默认备份数为3,表达式只匹配了两个DataNode节点,第三个副本会在集群上剩余的节点中选择一个DataNode节点存放。 “/dir3”目录下文件的数据块可存放在dn-1,dn-3,dn-4,dn-5和dn-6中的任意三个节点上。 “/dir4”目录下文件的数据块可存放在dn-4,dn-5和dn-6。 “/dir5”目录下文件的数据块没有匹配到任何一个DataNode,会从整个集群中任意选择三个节点存放(和默认选块策略行为一致)。 “/sdir2.txt”文件的数据块,两个副本存放在dn-2和dn-6节点上,虽然还缺失一个备份节点,但由于使用了fallback=NONE参数,所以只存放两个备份。 “/dir6”目录下文件的数据块在具备label-4的节点中选择2个节点(dn-3 -- dn-6),然后在label-2中选择一个节点,如果用户指定“/dir6”下文件副本数大于3,则多出来的副本均在label-2。
  • 多余块副本删除选择说明 如果块副本数超过参数“dfs.replication”值(即用户指定的文件副本数,可以参考修改集群服务配置参数进入HDFS服务全部配置页面,搜索对应参数查看),HDFS会删除多余块副本来保证集群资源利用率。 删除规则如下: 优先删除不满足任何表达式的副本。 示例:文件默认副本数为3 /test标签表达式为“LA[replica=1],LB[replica=1],LC[replica=1]”; /test文件副本分布的四个节点(D1~D4)以及对应标签(LA~LD): D1:LA D2:LB D3:LC D4:LD 则选择删除D4节点上的副本块。 如果所有副本都满足表达式,删除多于表达式指定的数量的副本。 示例:文件默认副本数为3 /test标签表达式为“LA[replica=1],LB[replica=1],LC[replica=1]”; /test文件副本分布的四个节点以及对应标签: D1:LA D2:LA D3:LB D4:LC 则选择删除D1或者D2上的副本块。 如果文件所有者或文件所有者的组不能访问某个标签,则优先删除映射到该标签的DataNode中的副本。
  • 操作场景 用户需要通过数据特征灵活配置HDFS文件数据块的存储节点。通过设置HDFS目录/文件对应一个标签表达式,同时设置每个DataNode对应一个或多个标签,从而给文件的数据块存储指定了特定范围的DataNode。 当使用基于标签的数据块摆放策略,为指定的文件选择DataNode节点进行存放时,会根据文件的标签表达式选择出DataNode节点范围,然后在这些DataNode节点范围内,选择出合适的存放节点。 场景1 DataNodes分区场景。 场景说明: 用户需要让不同的应用数据运行在不同的节点,分开管理,就可以通过标签表达式,来实现不同业务的分离,指定业务存放到对应的节点上。 通过配置NodeLabel特性使得: /HBase下的数据存储在DN1、DN2、DN3、DN4节点上。 /Spark下的数据存储在DN5、DN6、DN7、DN8节点上。 图1 DataNode分区场景 通过hdfs nodelabel -setLabelExpression -expression 'LabelA[fallback=NONE]' -path /Hbase命令,给Hbase目录设置表达式。从图1中可知,“/Hbase”文件的数据块副本会被放置在有LabelA标签的节点上,即DN1、DN2、DN3、DN4。 同理,通过hdfs nodelabel -setLabelExpression -expression 'LabelB[fallback=NONE]' -path /Spark命令,给Spark目录设置表达式。在“/Spark”目录下文件对应的数据块副本只能放置到LabelB标签上的节点,如DN5、DN6、DN7、DN8。 设置数据节点的标签参考DataNode节点标签配置。 如果同一个集群上存在多个机架,每个标签下可以有多个机架的DataNodes,以确保数据块摆放的可靠性。 场景2 多机架下指定副本位置场景 场景说明: 在异构集群中,需要分配一些特定的具有高可靠性的节点用以存放重要的商业数据,可以通过标签表达式指定副本位置,指定文件数据块的其中一个副本存放到高可靠性的节点上。 “/data”目录下的数据块,默认三副本情况下,其中至少有一个副本会被存放到RACK1或RACK2机架的节点上(RACK1和RACK2机架的节点为高可靠性节点),另外两个副本会被分别存放到RACK3和RACK4机架的节点上。 图2 场景样例 通过hdfs nodelabel -setLabelExpression -expression 'LabelA||LabelB[fallback=NONE],LabelC,LabelD' -path /data命令给“/data”目录设置表达式。 当向“/data”目录下写数据时,至少有一个数据块副本存放在LabelA或者LabelB标签的节点中,剩余的两个数据块副本会被存放在有LabelC和LabelD标签的节点上。
  • 块副本位置选择说明 NodeLabel支持对各个副本的摆放采用不同的策略,如表达式“label-1,label-2,label-3”,表示3个副本分别放到含有label-1、label-2、label-3的DataNode中,不同的副本策略用逗号分隔。 如果label-1,希望放2个副本,可以这样设置表达式:“label-1[replica=2],label-2,label-3”。这种情况下,如果默认副本数是3,则会选择2个带有label-1和一个label-2的节点;如果默认副本数是4,会选择2个带有label-1、一个label-2以及一个label-3的节点。可以注意到,副本数是从左到右依次满足各个副本策略的,但也有副本数超过表达式表述的情况,当默认副本数为5时,多出来的一个副本会放到最后一个节点中,也就是label-3的节点里。 当启用ACLs功能并且用户无权访问表达式中使用的标签时,将不会为副本选择属于该标签的DataNode。
共100000条