第一步就是要打开yarn ui页面
这个页面可以在ambari上找到resourcemanager所在的服务器
然后http://hostip:8088/ 或者 http://hostip:12088/ 打开就能看到了
大概就是如图页面
接下来进入正题
1.先找container,可以在后台输入
yarn applicationattempt -list applicationID
可能会有几行,running状态的就是要找的服务器
或者
前端点进要找的任务,如图框住的就是container
2.任务类型为spark的话可以继续找driver和executor在哪台服务器上
点击如图url连接跳转spark页面
可能会显示不出来,将连接上的host名改成具体的ip即可,跳转成功后会展示如下页面
点击Environment页签
此页面上即可找到【spark driver host】--即为driver所在服务器
点击executors即可找到executor所在服务器
但我碰到过executor点开啥也没有的情况,这个时候咋办?
就在spark-jobs页签下找到可点击链接,一直点就会出现如下截图,在这也会显示executor所在服务器
3.怎么计算driver和executor分别使用了多少资源
还是在上一步Spark页面Environment可以得到以下数据,以下为举例
spark.driver.memory=1G
spark.executor.cores=3
spark.executor.memory=2G
内存:
executor=executorMemory+Max(excutorMemory0.1,384)
driver=driverMemory+Max(driverMemory0.1,384)
384M是spark默认overhead大小,Max(x,x)表示两者取最大值
driver=1024M+Max(102.4,384)=1208M=2G
executor=2048M+Max(204.8,384)=2432M=3G
4.找出任务执行的额本地文件,包括jar包和配置文件
jar包在如图位置,也是第2步找到的environment页面
配置文件
以上为一次小实战经验分享,希望对你们有帮助~