云服务器内容精选

  • 原因分析 PostgreSQL缓存:除了常见的执行计划缓存、数据缓存,PostgreSQL为了提高生成执行计划的效率,还提供了catalog,relation等缓存机制。长连接场景下这些缓存中的某些缓存是不会主动释放的,因此可能导致长连接占用大量的内存不释放。 PMS是 MRS 的监控进程,此进程会经常创建表分区或者新表,由于PostgreSQL会缓存当前会话访问过的对象的元数据,且PMS的数据库连接池连接会长时间存在,所以连接占用的内存会逐渐上升。
  • 问题现象 在MRS 2.x集群详情页面调整集群Task节点,将Task节点调整成0个,最终缩容失败,提示如下: This operation is not allowed because the number of instances of NodeManager will be less than the minimum configuration after scale-in, which may cause data loss.
  • 参考信息 在添加规则时,可以参考表1配置相应的指标。 混合集群的支持分析集群和流式集群的所有指标。 表1该表中不同数值类型取值精度如下: 整型:整数。 百分比:0.01。 比率:0.01。 表1 弹性伸缩指标列表 集群类型 指标名称 数值类型 说明 流式集群 StormSlotAvailable 整型 Storm组件的可用slot数。 取值范围为[0~2147483646]。 StormSlotAvailablePercentage 百分比 Storm组件可用slot百分比。是可用slot数与总slot数的比值。 取值范围为[0~100]。 StormSlotUsed 整型 Storm组件的已用slot数。 取值范围为[0~2147483646]。 StormSlotUsedPercentage 百分比 Storm组件已用slot百分比。是已用slot数与总slot数的比值。 取值范围为[0~100]。 StormSupervisorMemAverageUsage 整型 Storm组件Supervisor的内存平均使用量。 取值范围为[0~2147483646]。 StormSupervisorMemAverageUsagePercentage 百分比 Storm组件Supervisor进程使用的内存占系统总内存的平均百分比。 取值范围[0 ~ 100]。 StormSupervisorCPUAverageUsagePercentage 百分比 Storm组件Supervisor进程使用的CPU占系统总CPU的平均百分比。 取值范围[0 ~ 6000]。 分析集群 YARNAppPending 整型 YARN组件挂起的任务数。 取值范围为[0~2147483646]。 YARNAppPendingRatio 比率 YARN组件挂起的任务数比例。是YARN挂起的任务数与YARN运行中的任务数比值。 取值范围为[0~2147483646]。 YARNAppRunning 整型 YARN组件运行中的任务数。 取值范围为[0~2147483646]。 YARNContainerAllocated 整型 YARN组件中已分配的container个数。 取值范围为[0~2147483646]。 YARNContainerPending 整型 YARN组件挂起的container个数。 取值范围为[0~2147483646]。 YARNContainerPendingRatio 比率 YARN组件挂起的container比率。是挂起的container数与运行中的container数的比值。 取值范围为[0~2147483646]。 YARNCPUAllocated 整型 YARN组件已分配的虚拟CPU核心数。 取值范围为[0~2147483646]。 YARNCPUAvailable 整型 YARN组件可用的虚拟CPU核心数。 取值范围为[0~2147483646]。 YARNCPUAvailablePercentage 百分比 YARN组件可用虚拟CPU核心数百分比。是可用虚拟CPU核心数与总虚拟CPU核心数比值。 取值范围为[0~100]。 YARNCPUPending 整型 YARN组件挂起的虚拟CPU核心数。 取值范围为[0~2147483646]。 YARNMemoryAllocated 整型 YARN组件已分配内存大小。单位为MB。 取值范围为[0~2147483646]。 YARNMemoryAvailable 整型 YARN组件可用内存大小。单位为MB。 取值范围为[0~2147483646]。 YARNMemoryAvailablePercentage 百分比 YARN组件可用内存百分比。是YARN组件可用内存大小与YARN组件总内存大小的比值。 取值范围为[0~100]。 YARNMemoryPending 整型 YARN组件挂起的内存大小。 取值范围为[0~2147483646]。 在添加资源计划时,可以参考表2配置相应的参数。 表2 资源计划配置项说明 配置项 说明 生效日期 资源计划的生效日期。默认是每日生效,也可以选择周一至周日任意一天或几天生效。 时间范围 资源计划的起始时间和结束时间,精确到分钟,取值范围[00:00, 23:59]。例如资源计划开始于早上8:00,结束于10:00,则配置为8:00-10:00。结束时间必须晚于开始时间至少30分钟。不同资源计划配置的时间段不可交叉。 节点数量范围 资源计划内的节点数量上下限,取值范围[0,500],在资源计划时间内,集群Task节点数量小于最小节点数时,弹性伸缩会将集群Task节点一次性扩容到最小节点数。在资源计划时间内,集群Task节点数量大于最大节点数时,弹性伸缩会将集群Task节点一次性缩容到最大节点数。最小节点数必须小于或等于最大节点数。
  • 操作场景 本入门指导以如下业务场景为例,介绍弹性伸缩规则与资源计划均叠加使用的操作: 某项实时处理业务数据量在周一、周二和周六7:00~13:00出现规律性变化,但是数据量变化并非非常平稳。假设在周一、周二和周六7:00~13:00期间,需要Task节点的数量范围是5~8个,其他时间需要Task节点数量是2~4个。 因此可以在资源计划的基础上,设置基于负载的弹性伸缩规则,以实现当数据量超出预期后,Task节点数量可以在资源计划规定的范围内根据负载情况进行浮动,但不会超出该规定范围。资源计划触发时,会以变化最小的方式使节点数量满足计划规定范围,即如果需要扩容则扩容到计划节点数量范围的下限,如果需要缩容则缩容到计划节点数量范围的上限。
  • 添加Task节点 MRS集群创建成功之后,如果需要规划Task类型的节点组进行弹性伸缩,可通过手动添加节点组的方式进行配置。 “自定义”类型集群添加Task节点操作步骤: 在集群详情页面,选择“节点管理”页签,单击“新增节点组”,进入“新增节点组”页面。 节点类型选择“Task”,“部署角色”参数默认选择“NM”部署NodeManager角色,则新增节点组为Task节点组,其他参数根据需要配置。 图1 添加Task节点组 非“自定义”类型集群添加Task节点操作步骤: 在集群详情页面,选择“节点管理”页签,单击“配置Task节点”,进入“配置Task节点”页面。 配置“节点类型”、“节点规格”、“节点数量”、“系统盘”,如开启“添加数据盘”后,还需要配置数据盘的存储类型、大小和数量。 单击“确定”。
  • 弹性伸缩规则与资源计划叠加使用 登录MRS管理控制台。 选择“现有集群”,单击待操作的集群名称,进入集群详情页面。 选择“弹性伸缩”页签,进入配置弹性伸缩界面。 单击“新增弹性伸缩”按钮,并配置“节点数量范围”为“2 - 4”。 图2 配置弹性伸缩 配置资源计划。 单击默认范围下方的“配置指定时间段的节点数量范围”。 配置“时间范围”和“节点数量范围”。 “时间范围”:“07:00-13:00” “节点数量范围”:“5-8” 图3 弹性伸缩 配置弹性伸缩规则。 勾选“扩容”。 单击右侧“添加规则”,进入“添加规则”页面。 图4 添加规则 “规则名称”:default-expand-2 “如果”:在下拉框中选择规则对象及约束要求,例如YARNAppRunning大于75 “持续”:1个五分钟 “添加”:1个节点 “冷却时间”:20分钟 单击“确定”。 勾选“我同意授权MRS服务根据以上策略自动进行节点扩容/缩容操作。”。 单击“确定”,等待弹性伸缩集群设置完成。
  • 监控指标参考 FusionInsight Manager转告警监控指标可分为节点信息指标与集群服务指标。表2表示节点中可配置阈值的指标、表3表示组件可配置阈值的指标。 下表中的“默认阈值”参数值以未开启分级告警开关为例,具体以实际界面显示为准。 表2 节点信息监控指标转告警列表(未开启分级告警开关) 监控指标组名称 监控指标名称 告警ID 告警名称 告警对系统的影响 默认阈值 CPU 主机CPU使用率 12016 CPU使用率超过阈值 业务进程响应缓慢或不可用。 90.0% 磁盘 磁盘使用率 12017 磁盘容量不足 业务进程不可用。 90.0% 磁盘inode使用率 12051 磁盘Inode使用率超过阈值 文件系统无法正常写入。 80.0% 内存 主机内存使用率 12018 内存使用率超过阈值 业务进程响应缓慢或不可用。 90.0% 主机状态 主机文件句柄使用率 12053 主机文件句柄使用率超过阈值 系统应用无法打开文件、网络等IO操作,程序异常。 80.0% 主机PID使用率 12027 主机PID使用率超过阈值 无法分配PID给新的业务进程,业务进程不可用。 90% 网络状态 TCP临时端口使用率 12052 TCP临时端口使用率超过阈值 主机上业务无法发起对外建立连接,业务中断。 80.0% 网络读信息 读包错误率 12047 网络读包错误率超过阈值 通信闪断,业务超时。 0.5% 读包丢包率 12045 网络读包丢包率超过阈值 业务性能下降或者个别业务出现超时问题。 0.5% 读吞吐率 12049 网络读吞吐率超过阈值 业务系统运行不正常或不可用。 80% 网络写信息 写包错误率 12048 网络写包错误率超过阈值 通信闪断,业务超时。 0.5% 写包丢包率 12046 网络写包丢包率超过阈值 业务性能下降或者个别业务出现超时问题。 0.5% 写吞吐率 12050 网络写吞吐率超过阈值 业务系统运行不正常或不可用。 80% 进程 D状态和Z状态进程总数 12028 主机D状态和Z状态进程数超过阈值 占用系统资源,业务进程响应变慢。 0 omm进程使用率 12061 进程使用率超过阈值 无法切换到omm用户。无法创建新的omm线程。 90 表3 集群监控指标转告警列表(未开启分级告警开关) 服务 监控指标名称 告警ID 告警名称 告警对系统的影响 默认阈值 DBService 数据库连接数使用率 27005 数据库连接数使用率超过阈值 可能导致上层服务无法连接DBService的数据库,影响正常业务。 90% 数据目录磁盘空间使用率 27006 数据目录磁盘空间使用率超过阈值 业务进程不可用。 当数据目录磁盘空间使用率超过90%时,数据库进入只读模式并发送告警“数据库进入只读模式”,业务数据丢失。 80% Flume Flume堆内存使用率 24006 Flume Server堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% Flume直接内存使用率 24007 Flume Server直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% Flume非堆内存使用率 24008 Flume Server非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80.0% Flume垃圾回收(GC)总时间 24009 Flume Server垃圾回收(GC)时间超过阈值 导致Flume数据传输效率低下。 12000ms HBase GC中回收old区所花时长 19007 HBase GC时间超出阈值 老年代GC时间超出阈值,会影响到HBase数据的读写。 5000ms RegionServer直接内存使用率统计 19009 HBase服务进程直接内存使用率超出阈值 HBase可用的直接内存不足,可能会造成内存溢出导致服务崩溃。 90% RegionServer堆内存使用率统计 19008 HBase服务进程堆内存使用率超出阈值 HBase可用内存不足,可能会造成内存溢出导致服务崩溃。 90% HMaster直接内存使用率统计 19009 HBase服务进程直接内存使用率超出阈值 HBase可用的直接内存不足,可能会造成内存溢出导致服务崩溃。 90% HMaster堆内存使用率统计 19008 HBase服务进程堆内存使用率超出阈值 HBase可用内存不足,可能会造成内存溢出导致服务崩溃。 90% 单个RegionServer的region数目 19011 RegionServer的Region数量超出阈值 RegionServer的Region数超出阈值,会影响HBase的数据读写性能。 2000 处在RIT状态达到阈值时长的region数 19013 region处在RIT状态的时长超过阈值。 表的部分数据丢失或不可用。 1 RegionServer的handler使用 19021 RegionServer活跃handler数超过阈值 RegionServer的handler使用率超出阈值,会影响RegionServer对外提供服务的能力,如果集群的大部分RegionServer的handler使用率超过阈值,可导致HBase无法对外提供服务。 90% 容灾同步失败次数 19006 HBase容灾同步失败 无法同步集群中HBase的数据到备集群,导致主备集群数据不一致。 1 主集群等待同步的日志文件数量 19020 HBase容灾等待同步的wal文件数量超过阈值 RegionServer等待同步的wal文件数量超出阈值,会影响HBase使用的znode超出阈值,影响HBase服务状态。 128 主集群等待同步的HFile文件数量 19019 HBase容灾等待同步的HFile文件数量超过阈值 RegionServer等待同步的HFile文件数量超出阈值,会影响HBase使用的znode超出阈值,影响HBase服务状态。 128 Compaction操作队列大小 19018 HBase合并队列超出阈值 产生该告警表示HBase服务的compaction队列长度已经超过规定的阈值,如果不及时处理,可能会导致集群性能下降,影响数据读写。 100 HDFS HDFS缺失的块数量 14003 丢失的HDFS块数量超过阈值 HDFS存储数据丢失,HDFS可能会进入安全模式,无法提供写服务。丢失的块数据无法恢复。 0 需要复制副本的块总数 14028 待补齐的块数超过阈值 HDFS存储数据丢失,HDFS可能会进入安全模式,无法提供写服务。丢失的块数据无法恢复。 1000 主NameNode RPC处理平均时间 14021 NameNode RPC处理平均时间超过阈值 NameNode无法及时处理来自HDFS客户端、依赖于HDFS的上层服务、DataNode等的RPC请求,表现为访问HDFS服务的业务运行缓慢,严重时会导致HDFS服务不可用。 100ms 主NameNode RPC队列平均时间 14022 NameNode RPC队列平均时间超过阈值 NameNode无法及时处理来自HDFS客户端、依赖于HDFS的上层服务、DataNode等的RPC请求,表现为访问HDFS服务的业务运行缓慢,严重时会导致HDFS服务不可用。 200ms HDFS磁盘空间使用率 14001 HDFS磁盘空间使用率超过阈值 HDFS集群磁盘容量不足,会影响到HDFS的数据写入。 80% DataNode磁盘空间使用率 14002 DataNode磁盘空间使用率超过阈值 DataNode容量不足,会影响到HDFS的数据写入。 80% 总副本预留磁盘空间所占比率 14023 总副本预留磁盘空间所占比率超过阈值 HDFS集群磁盘容量不足,会影响到HDFS的数据写入。如果DataNode的剩余空间都已经给副本预留,则写入HDFS数据失败。 90% 故障的DataNode总数 14009 Dead DataNode数量超过阈值 故障状态的DataNode节点无法提供HDFS服务。 3 NameNode非堆内存使用百分比统计 14018 NameNode非堆内存使用率超过阈值 HDFS NameNode非堆内存使用率过高,会影响HDFS的数据读写性能。 90% NameNode直接内存使用百分比统计 14017 NameNode直接内存使用率超过阈值 NameNode可用直接内存不足,可能会造成内存溢出导致服务崩溃。 90% NameNode堆内存使用百分比统计 14007 NameNode堆内存使用率超过阈值 HDFS NameNode堆内存使用率过高,会影响HDFS的数据读写性能。 95% DataNode直接内存使用百分比统计 14016 DataNode直接内存使用率超过阈值 DataNode可用直接内存不足,可能会造成内存溢出导致服务崩溃。 90% DataNode堆内存使用百分比统计 14008 DataNode堆内存使用率超过阈值 HDFS DataNode堆内存使用率过高,会影响到HDFS的数据读写性能。 95% DataNode非堆内存使用百分比统计 14019 DataNode非堆内存使用率超过阈值 HDFS DataNode非堆内存使用率过高,会影响HDFS的数据读写性能。 90% 垃圾回收时间统计(GC)(NameNode) 14014 NameNode进程垃圾回收(GC)时间超过阈值 NameNode进程的垃圾回收时间过长,可能影响该NameNode进程正常提供服务。 12000ms 垃圾回收时间统计(GC)(DataNode) 14015 DataNode进程垃圾回收(GC)时间超过阈值 DataNode进程的垃圾回收时间过长,可能影响该DataNode进程正常提供服务。 12000ms Hive Hive执行成功的HQL百分比 16002 Hive SQL执行成功率低于阈值 系统执行业务能力过低,无法正常响应客户请求。 90.0% Background线程使用率 16003 Background线程使用率超过阈值 后台Background线程数过多,导致新提交的任务无法及时运行。 90% MetaStore的总GC时间 16007 Hive GC时间超出阈值 GC时间超出阈值,会影响到Hive数据的读写。 12000ms HiveServer的总GC时间 16007 Hive GC时间超出阈值 GC时间超出阈值,会影响到Hive数据的读写。 12000ms Hive已经使用的HDFS空间占可使用空间的百分比 16001 Hive 数据仓库 空间使用率超过阈值 系统可能无法正常写入数据,导致部分数据丢失。 85.0% MetaStore直接内存使用率统计 16006 Hive服务进程直接内存使用超出阈值 Hive直接内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% MetaStore非堆内存使用率统计 16008 Hive服务进程非堆内存使用超出阈值 Hive非堆内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% MetaStore堆内存使用率统计 16005 Hive服务进程堆内存使用超出阈值 Hive堆内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% HiveServer直接内存使用率统计 16006 Hive服务进程直接内存使用超出阈值 Hive直接内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% HiveServer非堆内存使用率统计 16008 Hive服务进程非堆内存使用超出阈值 Hive非堆内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% HiveServer堆内存使用率统计 16005 Hive服务进程堆内存使用超出阈值 Hive堆内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% 连接到HiveServer的session数占最大允许session数的百分比 16000 连接到HiveServer的session数占最大允许数的百分比超过阈值 发生连接数告警时,表示连接到HiveServer的session数过多,将会导致无法建立新的连接。 90.0% Kafka 未完全同步的Partition百分比 38006 Kafka未完全同步的Partition百分比超过阈值 Kafka服务未完全同步的Partition数过多,会影响服务的可靠性,一旦发生leader切换,可能会导致丢数据。 50% broker上用户连接数使用率 38011 Broker上用户连接数使用率超过设定阈值 当同一个用户连接数太多时,产生告警的用户将无法与Broker建立新的连接。 80% Broker磁盘使用率 38001 Kafka磁盘容量不足 磁盘容量不足会导致Kafka写入数据失败。 80.0% Broker磁盘IO使用率 38009 Broker磁盘IO繁忙 Partition所在的磁盘分区IO过于繁忙,产生告警的Kafka Topic上可能无法写入数据。 80% Broker每分钟的垃圾回收时间统计(GC) 38005 Broker进程垃圾回收(GC)时间超过阈值 Broker进程的垃圾回收时间过长,可能影响该Broker进程正常提供服务。 12000ms Kafka堆内存使用率 38002 Kafka堆内存使用率超过阈值 Kafka可用内存不足,可能会造成内存溢出导致服务崩溃。 95% Kafka直接内存使用率 38004 Kafka直接内存使用率超过阈值 Kafka可用直接内存不足,可能会造成内存溢出导致服务崩溃。 95% Loader Loader堆内存使用率 23004 Loader堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95% Loader直接内存使用率统计 23006 Loader直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% Loader非堆内存使用率 23005 Loader非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80% Loader的总GC时间 23007 Loader进程垃圾回收(GC)时间超过阈值 导致Loader服务响应缓慢。 12000ms Mapreduce 垃圾回收时间统计(GC) 18012 JobHistoryServer进程垃圾回收(GC)时间超过阈值 JobHistoryServer进程的垃圾回收时间过长,可能影响该JobHistoryServer进程正常提供服务。 12000ms JobHistoryServer直接内存使用百分比统计 18015 JobHistoryServer直接内存使用率超过阈值 MapReduce可用直接内存不足,可能会造成内存溢出导致服务崩溃。 90% JobHistoryServer非堆内存使用百分比统计 18019 JobHistoryServer非堆内存使用率超过阈值 MapReduce JobHistoryServer非堆内存使用率过高,会影响MapReduce任务提交和运行的性能,甚至造成内存溢出导致 MapReduce服务 不可用。 90% JobHistoryServer堆内存使用百分比统计 18009 JobHistoryServer堆内存使用率超过阈值 Mapreduce JobHistoryServer堆内存使用率过高,会影响Mapreduce服务日志归档的性能,甚至造成内存溢出导致Mapreduce服务不可用。 95% Oozie Oozie堆内存使用率 17004 Oozie堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% Oozie直接内存使用率 17006 Oozie直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% Oozie非堆内存使用率 17005 Oozie非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80% Oozie垃圾回收(GC)总时间 17007 Oozie垃圾回收(GC)时间超过阈值 导致Oozie提交任务响应变慢。 12000ms Spark2x JD BCS erver2x堆内存使用率统计 43010 JDB CS erver2x进程堆内存使用超出阈值 JDBCServer2x进程堆内存使用率过高,会影响JDBCServer2x进程运行的性能,甚至造成内存溢出导致JDBCServer2x进程不可用。 95% JDBCServer2x直接内存使用率统计 43012 JDBCServer2x进程直接内存使用超出阈值 JDBCServer2x进程直接内存使用率过高,会影响JDBCServer2x进程运行的性能,甚至造成内存溢出导致JDBCServer2x进程不可用。 95% JDBCServer2x非堆内存使用率统计 43011 JDBCServer2x进程非堆内存使用超出阈值 JDBCServer2x进程非堆内存使用率过高,会影响JDBCServer2x进程运行的性能,甚至造成内存溢出导致JDBCServer2x进程不可用。 95% JobHistory2x直接内存使用率统计 43008 JobHistory2x进程直接内存使用超出阈值 JobHistory2x进程直接内存使用率过高,会影响JobHistory2x进程运行的性能,甚至造成内存溢出导致JobHistory2x进程不可用。 95% JobHistory2x非堆内存使用率统计 43007 JobHistory2x进程非堆内存使用超出阈值 JobHistory2x进程非堆内存使用率过高,会影响JobHistory2x进程运行的性能,甚至造成内存溢出导致JobHistory2x进程不可用。 95% JobHistory2x堆内存使用率统计 43006 JobHistory2x进程堆内存使用超出阈值 JobHistory2x进程堆内存使用率过高,会影响JobHistory2x进程运行的性能,甚至造成内存溢出导致JobHistory2x进程不可用。 95% IndexServer2x直接内存使用率统计 43021 IndexServer2x进程直接内存使用超出阈值 IndexServer2x进程直接内存使用率过高,会影响IndexServer2x进程运行的性能,甚至造成内存溢出导致IndexServer2x进程不可用。 95% IndexServer2x堆内存使用率统计 43019 IndexServer2x进程堆内存使用超出阈值 IndexServer2x进程堆内存使用率过高,会影响IndexServer2x进程运行的性能,甚至造成内存溢出导致IndexServer2x进程不可用。 95% IndexServer2x非堆内存使用率统计 43020 IndexServer2x进程非堆内存使用超出阈值 IndexServer2x进程非堆内存使用率过高,会影响IndexServer2x进程运行的性能,甚至造成内存溢出导致IndexServer2x进程不可用。 95% JDBCServer2x的Full GC次数 43017 JDBCServer2x进程Full GC次数超出阈值 GC次数超出阈值,会影响JDBCServer2x进程运行的性能,甚至造成JDBCServer2x进程不可用。 12 JobHistory2x的Full GC次数 43018 JobHistory2x进程Full GC次数超出阈值 GC次数超出阈值,会影响JobHistory2x进程运行的性能,甚至造成JobHistory2x进程不可用。 12 IndexServer2x的Full GC次数 43023 IndexServer2x进程Full GC次数超出阈值 GC次数超出阈值,会影响IndexServer2x进程运行的性能,甚至造成IndexServer2x进程不可用。 12 JDBCServer2x的总GC时间 43013 JDBCServer2x进程GC时间超出阈值 GC时间超出阈值,会影响JDBCServer2x进程运行的性能,甚至造成JDBCServer2x进程不可用。 12000ms JobHistory2x的总GC时间 43009 JobHistory2x进程GC时间超出阈值 GC时间超出阈值,会影响JobHistory2x进程运行的性能,甚至造成JobHistory2x进程不可用。 12000ms IndexServer2x的总GC时间 43022 IndexServer2x进程GC时间超出阈值 GC时间超出阈值,会影响IndexServer2x进程运行的性能,甚至造成IndexServer2x进程不可用。 12000ms Storm Supervisor数 26052 Storm服务可用Supervisor数量小于阈值 集群已经存在的任务无法运行;集群可接收新的Storm任务,但是无法运行。 1 已用Slot比率 26053 Storm Slot使用率超过阈值 用户无法执行新的Storm任务。 80.0% Nimbus堆内存使用率 26054 Nimbus堆内存使用率超过阈值 Storm Nimbus堆内存使用率过高时可能造成频繁GC,甚至造成内存溢出,进而影响Storm任务提交。 80% Yarn NodeManager直接内存使用百分比统计 18014 NodeManager直接内存使用率超过阈值 NodeManager可用直接内存不足,可能会造成内存溢出导致服务崩溃。 90% NodeManager堆内存使用百分比统计 18018 NodeManager堆内存使用率超过阈值 NodeManager堆内存使用率过高,会影响Yarn任务提交和运行的性能,甚至可能会造成内存溢出导致Yarn服务崩溃。 95% NodeManager非堆内存使用百分比统计 18017 NodeManager非堆内存使用率超过阈值 Yarn NodeManager非堆内存使用率过高,会影响Yarn任务提交和运行的性能,甚至造成内存溢出导致Yarn服务不可用。 90% ResourceManager直接内存使用百分比统计 18013 ResourceManager直接内存使用率超过阈值 ResourceManager可用直接内存不足,可能会造成内存溢出导致服务崩溃。 90% ResourceManager堆内存使用百分比统计 18008 ResourceManager堆内存使用率超过阈值 Yarn ResourceManager堆内存使用率过高,会影响Yarn任务提交和运行的性能,甚至造成内存溢出导致Yarn服务不可用。 95% ResourceManager非堆内存使用百分比统计 18016 ResourceManager非堆内存使用率超过阈值 Yarn ResourceManager非堆内存使用率过高,会影响Yarn任务提交和运行的性能,甚至造成内存溢出导致Yarn服务不可用。 90% 垃圾回收时间统计(GC) (NodeManager) 18011 NodeManager进程垃圾回收(GC)时间超过阈值 NodeManager进程的垃圾回收时间过长,可能影响该NodeManager进程正常提供服务。 12000ms 垃圾回收时间统计(GC)(ResourceManager) 18010 ResourceManager进程垃圾回收(GC)时间超过阈值 ResourceManager进程的垃圾回收时间过长,可能影响该ResourceManager进程正常提供服务。 12000ms root队列下失败的任务数 18026 Yarn上运行失败的任务数超过阈值 大量应用任务运行失败。 运行失败的任务需要重新提交。 50 root队列下被杀死的任务数 18025 Yarn被终止的任务数超过阈值 大量应用任务被强制终止。 50 挂起的内存量 18024 Yarn任务挂起内存超过阈值 应用任务结束时间变长。 新应用提交后长时间无法运行。 83886080MB 正在挂起的任务 18023 Yarn任务挂起数超过阈值 应用任务结束时间变长。 新应用提交后长时间无法运行。 60 ZooKeeper ZooKeeper连接数使用率 13001 ZooKeeper可用连接数不足 ZooKeeper可用连接数不足,当连接率超过100%时无法处理外部连接。 80% ZooKeeper堆内存使用率 13004 ZooKeeper堆内存使用率超过阈值 ZooKeeper可用内存不足,可能会造成内存溢出导致服务崩溃。 95% ZooKeeper直接内存使用率 13002 ZooKeeper直接内存使用率超过阈值 ZooKeeper可用内存不足,可能会造成内存溢出导致服务崩溃。 80% ZooKeeper每分钟的垃圾回收时间统计(GC) 13003 ZooKeeper进程垃圾回收(GC)时间超过阈值 ZooKeeper进程的垃圾回收时间过长,可能影响该ZooKeeper进程正常提供服务。 12000ms Ranger UserSync垃圾回收(GC)时间 45284 UserSync垃圾回收(GC)时间超过阈值 导致UserSync响应缓慢。 12000ms PolicySync垃圾回收(GC)时间 45292 PolicySync垃圾回收(GC)时间超过阈值 导致PolicySync响应缓慢。 12000ms RangerAdmin垃圾回收(GC)时间 45280 RangerAdmin垃圾回收(GC)时间超过阈值 导致RangerAdmin响应缓慢。 12000ms TagSync垃圾回收(GC)时间 45288 TagSync垃圾回收(GC)时间超过阈值 导致TagSync响应缓慢。 12000ms UserSync非堆内存使用率 45283 UserSync非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80.0% UserSync直接内存使用率 45282 UserSync直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% UserSync堆内存使用率 45281 UserSync堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% PolicySync直接内存使用率 45290 PolicySync直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% PolicySync堆内存使用率 45289 PolicySync堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% PolicySync非堆内存使用率 45291 PolicySync非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80.0% RangerAdmin非堆内存使用率 45279 RangerAdmin非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80.0% RangerAdmin堆内存使用率 45277 RangerAdmin堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% RangerAdmin直接内存使用率 45278 RangerAdmin直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% TagSync直接内存使用率 45286 TagSync直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% TagSync非堆内存使用率 45287 TagSync非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80.0% TagSync堆内存使用率 45285 TagSync堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% ClickHouse Clickhouse服务在ZooKeeper的数量配额使用率 45426 ClickHouse服务在ZooKeeper的数量配额使用率超过阈值 ClickHouse在ZooKeeper的数量配额超过阈值后,无法通过FusionInsight Manager对ClickHouse进行集群操作,无法使用ClickHouse服务功能。 90% Clickhouse服务在ZooKeeper的容量配额使用率 45427 ClickHouse服务在ZooKeeper的容量配额使用率超过阈值 ClickHouse在ZooKeeper的容量配额超过阈值后,无法通过FusionInsight Manager对ClickHouse进行集群操作,无法使用ClickHouse服务功能。 90% IoTDB 合并任务 (空间内合并) 的最大时延 45594 IoTDBServer空间内合并执行时长超过阈值 空间内合并任务超时,会阻塞写数据,影响写操作的性能。 300000ms 合并任务 (Flush) 的最大时延 45593 IoTDBServer Flush执行时长超过阈值 Flush任务超时,会阻塞写数据,影响写操作的性能。 300000ms 合并任务 (跨空间合并) 的最大时延 45595 IoTDBServer跨空间合并执行时长超过阈值 跨空间合并任务超时,会阻塞写数据,影响写操作的性能。 300000ms RPC (executeStatement) 的最大时延 45592 IoTDBServer RPC执行时长超过阈值 IoTDBServer进程RPC过高,会影响IoTDBServer进程运行的性能。 10000s IoTDBServer垃圾回收(GC)总时间 45587 IoTDBServer垃圾回收(GC)时间超过阈值 IoTDBServer进程的垃圾回收(GC)时间过长,可能影响该IoTDBServer进程正常提供服务。 12000ms ConfigNode垃圾回收(GC)总时间 45590 ConfigNode垃圾回收(GC)时间超过阈值 ConfigNode进程的垃圾回收(GC)时间过长,可能影响该ConfigNode进程正常提供服务。 12000ms IoTDBServer堆内存使用率 45586 IoTDBServer堆内存使用率超过阈值 IoTDBServer进程堆内存使用率过高,会影响IoTDBServer进程运行的性能,甚至造成内存溢出导致IoTDBServer进程不可用。 90% IoTDBServer直接内存使用率 45588 IoTDBServer直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 90% ConfigNode堆内存使用率 45589 ConfigNode堆内存使用率超过阈值 ConfigNode进程堆内存使用率过高,会影响ConfigNode进程运行的性能,甚至造成内存溢出导致ConfigNode进程不可用。 90% ConfigNode直接内存使用率 45591 ConfigNode直接内存使用率超过阈值 直接内存溢出可能导致IoTDB实例不可用。 90%
  • 答: 在为集群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。
  • 操作步骤 登录FusionInsight Manager,查看是否存在未清除的告警? 是,请修复告警。告警处理完毕后,执行2。 否,执行2。 以omm用户分别登录主备管理节点。 在主管理节点执行以下命令查看管理平面网关。 cat ${BIGDATA_HOME}/om-server/ OMS /workspace/conf/oms-config.ini | grep om_gateway 在主备管理节点分别执行ping 管理平面网关,检查节点是否与管理平面网关连通? 是,执行5。 否,请联系网络管理员修复网络故障,处理完毕后,执行5。 在主管理节点执行以下命令,获取当前环境NTP服务器 域名 。 本章节后续步骤中将以“ntp.myhuaweicloud.com”为例 cat /opt/Bigdata_func/cloudinit/cloudinit_params | grep ntpserver 在主管理节点执行以下命令,检查集群时间与新的NTP服务器时间偏差。单位为秒。 例如,检查与NTP服务器“ntp.myhuaweicloud.com”的时间差,执行ntpdate -d ntp.myhuaweicloud.com命令,界面显示: 6 Dec 15:16:10 ntpdate[2861453]: step time server 10.79.3.251 offset +2.118107 sec 其中+2.118107 sec表示时间偏差。正数表示NTP服务器时间比集群当前时间快,负数表示NTP服务器时间比集群当前时间慢。 ntp的版本号可以使用ntpq -v或者ntpq --version命令查询,具体显示信息以实际环境为准。 ntpq -v界面显示: 10.1.1.112: ~# ntpq -v ntpq - standard NTP query program - Ver. 4.2.4p8 ntpq --version界面显示: 10.1.1.112: ~# ntpq --version ntpq 4.2.8p10@1.3728-o Mon Jun 6 08:01:59 UTC 2016 (1) 检查时间偏差的绝对值是否超过“150”。 是,执行8。 否,时间偏差的绝对值不超过“150”,以omm用户执行10。 确认是否可以停止集群。 是,停止上层业务并停止集群,然后执行9。 否,任务结束。 确认NTP服务器时间是否比集群当前时间慢? 是,NTP服务器时间慢,停止集群界面显示“操作成功”后需等待,间隔大约为6得到的时间偏差,再以omm用户执行11。 否,NTP服务器时间快,停止集群界面显示“操作成功”后直接以omm用户执行11。 在主管理节点执行以下命令,更换NTP服务器,任务结束。 sh ${BIGDATA_HOME}/om-server/om/bin/tools/modifyntp.sh --ntp_server_ip ntp.myhuaweicloud.com NTP服务器IP地址不可以设置为集群内节点IP地址,否则可能会导致节点与主备oms节点业务网络断连。 在主管理节点执行以下命令,从NTP服务器“ntp.myhuaweicloud.com”“立即强制同步时间并更换NTP服务器,任务结束。 sh ${BIGDATA_HOME}/om-server/om/bin/tools/modifyntp.sh --ntp_server_ip ntp.myhuaweicloud.com --force_sync_time 如果停止了集群,在更换NTP服务器后需要重新启动集群。 执行强制同步时间命令后,集群节点大约需要5分钟完成时间同步。
  • MRS集群数据备份与恢复 MRS集群提供对集群内的用户数据及系统数据的备份恢复能力,备份功能按组件提供。 MRS 3.x版本支持将数据备份至本地磁盘(LocalDir)、本端HDFS(LocalHDFS)、远端HDFS(RemoteHDFS)、NAS(NFS/CIFS)、SFTP服务器(SFTP)、OBS。对于支持多服务的组件,支持同服务多个实例的备份恢复功能且备份恢复操作与自身服务实例一致。 备份恢复任务的使用场景如下: 用于日常备份,确保系统及组件的数据安全。 当系统故障导致无法工作时,使用已备份的数据完成恢复操作。 当主集群完全故障,需要创建一个与主集群完全相同的镜像集群,可以使用已备份的数据完成恢复操作。 表1 根据业务需要备份元数据(MRS 2.x及之前版本) 备份类型 备份内容 OMS 默认备份集群管理系统中的数据库数据(不包含告警数据)以及配置数据。 LdapServer 备份用户信息,包括用户名、密码、密钥、密码策略、组信息。 DBService 备份DBService管理的组件(Hive)的元数据。 NameNode 备份HDFS元数据。 表2 根据业务需要备份Manager配置数据(MRS 3.x版本) 备份类型 备份内容 备份目录类型 OMS 默认备份集群管理系统中的数据库数据(不包含告警数据)以及配置数据。 LocalDir LocalHDFS RemoteHDFS NFS CIFS SFTP OBS 表3 根据业务需要备份组件元数据或其他数据(MRS 3.x版本) 备份类型 备份内容 备份目录类型 DBService 备份DBService管理的组件(Loader、Hive、Spark、Oozie、Hue、CDL)的元数据。对于安装了多服务的集群,包含多个Hive和Spark服务实例的元数据。 LocalDir LocalHDFS RemoteHDFS NFS CIFS SFTP OBS Flink (适用于MRS 3.2.0及以后版本) Flink的元数据。 LocalDir LocalHDFS RemoteHDFS Kafka Kafka的元数据。 LocalDir LocalHDFS RemoteHDFS NFS CIFS OBS NameNode 备份HDFS元数据。添加多个NameService后,支持不同NameService的备份恢复功能且备份恢复操作与默认实例“hacluster”一致。 LocalDir RemoteHDFS NFS CIFS SFTP OBS Yarn 备份Yarn服务资源池相关信息。 HBase HBase系统表的tableinfo文件和数据文件。 IoTDB IoTDB的元数据。 LocalDir NFS RemoteHDFS CIFS SFTP ClickHouse ClickHouse的元数据。 LocalDir RemoteHDFS 表4 根据业务需要备份特定组件业务数据(MRS 3.x版本) 备份类型 备份内容 备份目录类型 HBase 备份表级别的用户数据。对于安装了多服务的集群,支持多个HBase服务实例的备份恢复功能且备份恢复操作与HBase服务实例一致。 RemoteHDFS NFS CIFS SFTP HDFS 备份用户业务对应的目录或文件。 说明: 加密目录不支持备份恢复。 Hive 备份表级别的用户数据。对于安装了多服务的集群,支持多个Hive服务实例的备份恢复功能且备份恢复操作与Hive服务实例一致。 IoTDB 备份IoTDB业务数据。 RemoteHDFS ClickHouse 备份表级别的用户数据。 RemoteHDFS 需要特别说明的是,部分组件不提供单独的数据备份与恢复功能: Kafka支持副本特性,在创建主题时可指定多个副本来备份数据。 CDL的数据存储在DBService与Kafka服务中,系统管理员可以通过创建备份DBService和Kafka的任务来备份数据。 Mapreduce和Yarn的数据存放在HDFS上,故其依赖HDFS提供备份与恢复即可。 ZooKeeper中存储的业务数据,其备份恢复能力由各上层组件按需独立实现。 父主题: MRS集群管理
  • 如何查看所有集群? MRS所有的集群都展示在MRS管理控制台的“MRS集群”页面中,进入“MRS集群”页面,可查看所有集群。集群数量较多时,可采用翻页显示,您可以查看任何状态下的集群。 现有集群:包括除了“失败”和“已删除”状态以外的所有集群。 历史集群:仅包含“已删除”状态的集群,目前界面只显示6个月内创建且已删除的集群,如果需要查看6个月以前删除的集群,请联系技术支持人员。 失败任务管理:仅包含“失败”状态的任务。 集群创建失败的任务 集群删除失败的任务 集群扩容失败的任务 集群缩容失败的任务 父主题: 集群管理类
  • MRS集群节点时间信息不正确如何处理? 如果集群内节点时间不正确,请分别登录集群内时间不正确的节点,并从2开始执行。 如果集群内节点与集群外节点时间不同步,请登录集群外节点,并从1开始执行。 执行vi /etc/ntp.conf命令编辑NTP客户端配置文件,并增加MRS集群中Master节点的IP并注释掉其他server的地址。 server master1_ip prefer server master2_ip 图1 增加Master节点的IP 执行service ntpd stop命令关闭NTP服务。 执行/usr/sbin/ntpdate 主Master节点的IP地址 命令手动同步一次时间。 执行service ntpd start或systemctl restart ntpd命令启动NTP服务。 执行ntpstat命令查看时间同步结果。 父主题: 集群管理类
  • 缩容集群 用户可以根据业务需求量,通过简单的缩减Core节点或者Task节点,对集群进行缩容,以使MRS拥有更优的存储、计算能力,降低运维成本。用户执行MRS集群缩容后,MRS服务将根据节点已安装的服务类型自动选择可以缩容的节点。 Core节点在缩容的时候,会对原节点上的数据进行迁移。业务上如果对数据位置做了缓存,客户端自动刷新位置信息可能会影响时延。缩容节点可能会影响部分HBase on HDFS数据的第一次访问响应时长,可以重启HBase或者对相关的表执行Disable/Enable操作来避免。 Task节点本身不存储集群数据,属于计算节点,不存在节点数据迁移的问题。
  • 客户价值 MRS的自动弹性伸缩可以帮助用户实现以下价值。 降低使用成本 部分企业并不是时刻都在进行批量分析,例如一般情况下数据持续接入,而到了特定时间段(例如凌晨3点)进行批量分析,可能仅需要消耗2小时。 MRS提供的弹性伸缩能力,可以帮助用户在进行批量分析操作时,将分析节点扩容到指定规模,而计算完毕后,则自动释放计算节点,尽可能的降低使用成本。 平衡突发查询 大数据集群上,由于有大量的数据,企业会经常面临临时的分析任务,例如支撑企业决策的临时数据报表等,都会导致对于资源的消耗在极短时间内剧增。MRS提供的弹性伸缩能力,可以在突发大数据分析时,及时补充计算节点,避免因为计算能力不足,导致业务宕机。用户无需手动购买额外资源,当突发事件结束后,MRS会自动判断缩容时机,自动完成缩容。 聚焦核心业务 大数据作为二次开发平台,开发人员时常难以判断具体的资源消耗,由于查询分析的条件复杂性(例如全局排序,过滤,合并等)以及数据的复杂性(例如增量数据的不确定性等),都会导致预估计算量难以进行,而使用弹性伸缩能力,可以让业务人员专注于业务开发,无需分心再做各种资源评估。
  • 特性简介 随着企业的数据越来越多,越来越多的企业选择使用Spark/Hive等技术来进行分析,由于数据量大,任务处理繁重,资源消耗较高,因此使用成本也越来越高。当前并不是每个企业在每时每刻在进行分析,而一般是在一天的一个时间段内进行分析汇总,因此MRS提供了弹性伸缩能力,可以自动在业务在繁忙时申请额外资源,业务不繁忙时释放闲置资源,让用户按需使用,尽可能的帮助客户降低使用成本,聚焦核心业务。 在大数据应用,尤其是周期性的数据分析处理场景中,需要根据业务数据的周期变化,动态调整集群计算资源以满足业务需要。MRS的弹性伸缩规则功能支持根据集群负载对集群进行弹性伸缩。此外,如果数据量为周期有规律的变化,并且希望在数据量变化前提前完成集群的扩缩容,可以使用MRS的资源计划特性。 MRS服务支持规则和时间计划两种弹性伸缩的策略: 弹性伸缩规则:根据集群实时负载对Task节点数量进行调整,数据量变化后触发扩缩容,有一定的延后性。 资源计划:若数据量变化存在周期性规律,则可通过资源计划在数据量变化前提前完成集群的扩缩容,避免出现增加或减少资源的延后。 弹性伸缩规则与资源计划均可触发弹性伸缩,两者既可同时配置也可单独配置。资源计划与基于负载的弹性伸缩规则叠加使用可以使得集群节点的弹性更好,足以应对偶尔超出预期的数据峰值出现。 当某些业务场景要求在集群扩缩容之后,根据节点数量的变化对资源分配或业务逻辑进行更改时,手动扩缩容的场景需要用户登录集群节点进行操作。对于弹性伸缩场景,MRS支持通过自定义弹性伸缩自动化脚本来解决。自动化脚本可以在弹性伸缩前后执行相应操作,自动适应业务负载的变化,免去了人工操作。同时,自动化脚本给用户实现个性需求提供了途径,完全自定义的脚本与多个可选的执行时机基本可以满足用户的各项需求,使弹性伸缩更具灵活性。