本文汇总了EMR Doctor使用时的常见问题。
哪些集群类型支持EMR Doctor功能?
仅DataLake和Hadoop集群类型支持健康检查功能。集群创建后,您可以在EMR控制台目标集群的健康检查页签使用该功能。
如果您的Hadoop集群没有此功能,则需要开通EMR Doctor,详情请参见开通EMR Doctor(Hadoop集群类型)。
EMR Doctor在安装和升级过程中,是否会对集群组件和集群任务产生影响?
EMR Doctor在安装和升级过程中不会重启任何服务,本身过程也不会对您现有任务产生任何影响,并且在安装结束后,EMR Doctor会将必要参数配置到现有集群中,不需要您再手动进行配置。
EMR Doctor在安装和升级过程中会对YARN、Spark、Tez和Hive服务进行配置整体下发,如果您现有的部分配置只进行了修改保存,并没有下发,则需要您确保下发过程不会对服务造成影响。
EMR Doctor都会采集哪些数据?
EMR Doctor不会采集您的实际数据,也不会扫描您的实际文件和文件内容。
EMR Doctor仅采集必要的事件数据,例如任务启动时间、终止时间、Metrics数据和Counters数据等。
EMR Doctor收费吗?
当前是不收取任何费用的。
采集操作会对任务的运行会产生什么影响?
EMR Doctor存储元数据采集会根据用户资源动态调整采集的资源,不会占用过多用户资源。
EMR Doctor的任务采集使用Java探针技术,不会单独启动Java进程监控。采集使用异步方式,不会阻塞任务主进程,当采集造成的压力过大时,会自动丢弃采集数据,并且您可以根据参数调整采集频率等。
TPC-DS部分测试的数据如下表所示。
SQL及使用引擎 | 使用EMR Doctor采集时间(10次平均) | 不使用EMR Doctor采集时间(10次平均) |
query7(Spark) | 21.0s | 21.2s |
query71(Tez) | 50.8s | 49.8s |
query19(MapReduce) | 68.6s | 68.2s |
本文的TPC-DS的实现基于TPC-DS的基准测试,并不能与已发布的TPC-DS基准测试结果相比较,本文中的测试并不符合TPC-DS的基准测试的所有要求。
什么时候可以看到采集报告?
EMR Doctor自安装和升级之后,日报功能会根据用户运行的任务以及是否采集存储元数据来进行分析,所以集群需要存在负载任务。
对于计算任务:当集群的计算任务被收集后,第二天即可看到最新的报告,报告内容是根据前一天的集群任务运行状态对集群整体进行分析后给出的集群评估建议。
对于存储分析:EMR Doctor默认不启用存储采集分析,您可以手动开启存储采集。开启采集后,通常是上午10点左右进行采集,等待所有采集结束后第二天凌晨才会进行分析并生成报告。如果是当天下午才开启采集,则需要第三天才能看到结果。
可以给出配置的具体参数值吗?
EMR Doctor给出的建议,采用的是指向性方式。例如,建议减少内存配置和修改GC参数等,并没有给出具体的参数值。因为EMR Doctor采用打点抽样进行采集,尽量避免对您的程序造成影响,即使推荐配置也需要您进行调整,并验证可行性。