一次解决spark history server日志不见
通过cloudera的旧版VM(centos6版本)跑spark,之后,想看一下日志研究一下job,stage以及task,压力很大的发现完全没有日志,180088页面打开后:
Event log directory: hdfs://quickstart.cloudera:8020/user/spark/applicationHistory
No completed applications found!
回过头来还是真心感到spark做得人性化,因为在页面提示中给了两个很重要的信息:一个是spark的日志路径,一个是提示可能是因为权限导致日志无法显示(这个提示没有在贴上面),否则解决这个问题可能要花费更多的时间
后来网调发现是因为我使用的是root用户执行的;生成到日志文件到此目录下hdfs://quickstart.cloudera:8020/user/spark/applicationHistory,到此目录下一看用户是root:supergroup;改成spark;再刷http://quickstart.cloudera:18088/即可看到历史任务了;原来是没有权限读入。该权限即可;
之前为什么没有这种情况,之前的集群都没有root用户(只要在/user下面添加一个root即可添加hadoop用户),所以运行的时候都报错,于是切换为hdfs用户;hdfs用户生成的文件是hdfs的;
但是为什么会有问题?调查得知supergroup一般都是和系统的hadoop组绑定;通过下面的指令查看一下hadoop里面的组员
grep 'hadoop:' /etc/group
lid -g hadoop
你会发现做为hadoop组即superuser组只包含hdfs,hive等并没有spark;但是对于applicationHistory文件夹下权限是-rwxrwx--- 1 root supergroup,也就是只有root用户,以及supergroup具有全部权限,其他没有;所以即使是hdfs创建的文件仍然无法被spark读取,因为spark既不是hdfs,也没有包含在supergroup组中;
除非把spark放入到supergroup组中。调查说是和hadoop组绑定,那我就在hadoop组中添加了spark(需要首先启用spark用户);但是没有毛用。
怎么放?Hadoop的HDFS自身是没有用户组控制,用的是操作系统的用户组,这样就意味着:supergroup和本地操作系统用户是有映射关系的,就是在hdfs的配置项中,dfs.permissions.supergroup, dfs.permissions.superusergroup(这两个其实是一个配置内容),默认是supergroup,是的,默认是supergroup,你需要做的是修改为本地一个组,比如hadoop。然后重启HDFS组件,spark服务也一并重启吧。
之后你再向hadoop组中添加spark,再刷页面,就发现日志可以看到了。
这个问题的关键在于要明白supergroup是和Linux一个组映射;向映射组中添加即可,但是要进行配置映射。
一次解决spark history server日志不见的更多相关文章
- Spark学习笔记-使用Spark History Server
在运行Spark应用程序的时候,driver会提供一个webUI给出应用程序的运行信息,但是该webUI随着应用程序的完成而关闭端口,也就是 说,Spark应用程序运行完后,将无法查看应用程序的历史记 ...
- 【转】Spark History Server 架构原理介绍
[From]https://blog.csdn.net/u013332124/article/details/88350345 Spark History Server 是spark内置的一个http ...
- Spark History Server配置使用
Spark history Server产生背景 以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WEB ...
- Spark History Server产生背景
以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WEBUI随着Application的完成(成功/失败) ...
- Spark集群之Spark history server额外配置
Note: driver在SparkContext使用stop()方法后才将完整的信息提交到指定的目录,如果不使用stop()方法,即使在指定目录中产生该应用程序的目录,history server ...
- Spark history Server配置实用
Spark history Server产生背景 以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WEB ...
- spark history server
参考:http://blog.csdn.net/lsshlsw/article/details/44786575 为什么需要historyServer? 在运行Spark Application的时候 ...
- Spark history server 遇到的一些问题
最近学习Spark,看了一个视频,里面有提到启动spark后,一般都会启动Spark History Server.视频里把 spark.history.fs.logDirectory 设置成了Had ...
- Spark 学习笔记之 Spark history Server 搭建
在hdfs上建立文件夹/directory hadoop fs -mkdir /directory 进入conf目录 spark-env.sh 增加以下配置 export SPARK_HISTORY ...
随机推荐
- IOS-程序员和设计师必备的20个CSS工具
程序员和设计师必备的20个CSS工具 CSS工具是现今网站开发人员和设计人员使用的最必要和最重要的工具之一.这是因为这些CSS工具,可以为开发人员和设计人员简化手头的工作,大大减少web开发和设计 ...
- Ubuntu下压缩解压文件
一般来说ubuntu 下带有tar 命令,可以用来解压和压缩之用.但是我们经常要与win下用户打交道,所以要安装一些解压工具如:rar zip 等命令. 如果要需要用到zip工具那么可以: sudo ...
- vue组件间传值
父传子 1.父组件:在子组件容器内绑定数据 <router-view :unusedOrderNum="num1" :usedOrderNum="num2" ...
- linux安装jdk1.6
本来打算安装jdk1.8的 从官网下载来的jdk1.8的tar.gz的jar包. 使用tar命令解压,复制到指定文件夹后,配置完环境变量后一直报错,什么CGLIB2.4的.查询得到结果好像是linux ...
- Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量。
myeclipse和eclipse集成编译软件,都提供了一个快捷键用来批量重命名变量:Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量.扩展知识:如果想要重命名文件名,又不想手动 ...
- ASP.NET后台怎么输出方法中间调试信息?
后台方法,不止是aspx.cs,而是页面调用的一些其它方法.想调试这些方法,我以前winform都是MessageBox.Show一些中间结果,现在我也想用这种方式.但想想,网页会触发 Message ...
- 【OpenCV入门教程之二】 一览众山小:OpenCV 2.4.8 or OpenCV 2.4.9组件结构全解析
本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/19925819 作者:毛星云 ...
- Shell 命令行,实现对若干网站状态批量查询是否正常的脚本
Shell 命令行,实现对若干网站状态批量查询是否正常的脚本 如果你有比较多的网站,这些网站的运行状态是否正常则是一件需要关心的事情.但是逐一打开检查那简直是一件太糟心的事情了.所以,我想写一个 sh ...
- 《机器学习》第三章——LDA
import numpy as np x=np.zeros((2,17)) y=np.zeros((1,17)) def dataload(filename): f=open(filename) ar ...
- I.MX6 linux eGalaxTouch 自动获取设备节点
I.MX6 linux eGalaxTouch 自动获取设备节点 \\\\\\\\\\\\\\-*- 目录 -*-///////////// | 一. 需求: | 二. /proc/bus/input ...