一次解决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 ...
随机推荐
- 2016ACM/ICPC亚洲区沈阳站H - Guessing the Dice Roll HDU - 5955 ac自动机+概率dp+高斯消元
http://acm.hdu.edu.cn/showproblem.php?pid=5955 题意:给你长度为l的n组数,每个数1-6,每次扔色子,问你每个串第一次被匹配的概率是多少 题解:先建成ac ...
- Codeforces Round #202 (Div. 2)
第一题水题但是wa了一发,排队记录下收到的25,50,100,看能不能找零,要注意100可以找25*3 复杂度O(n) 第二题贪心,先找出最小的花费,然后就能得出最长的位数,然后循环对每个位上的数看能 ...
- torch 深度学习(4)
torch 深度学习(4) test doall files 经过数据的预处理.模型创建.损失函数定义以及模型的训练,现在可以使用训练好的模型对测试集进行测试了.测试模块比训练模块简单的多,只需调用模 ...
- HLSL实现简单的图像处理功能
由于对于dxva2解码得到的数据不宜copy回内存给CPU处理,所以最好的办法是在GPU上直接进行处理.D3D的像素着色器能够对像素直接进行操作,实现点运算极其简单方便,简单的卷积运算效果也非常好.但 ...
- LoadBalancerv2的原理分析
OpenStack 是直接采用各种开源可用的负载均衡项目来完成负载均衡的任务,默认使用 HAProxy.LBaaSv2 本质来说,其实也是根据用户提出的负载均衡要求,生成符合的HAProxy配置文件并 ...
- KMP算法(改进后的字符串匹配算法)
转载:http://blog.csdn.net/liu88010988/article/details/50789960 kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O ...
- mybatis定义拦截器
applicationContext.xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlS ...
- SpringXML方式配置bean的懒加载lazy-init
lazy-init(懒加载),表示该bean在容器初始化的时候不进行初始化. 例如: <bean name="role1" class="com.fz.entity ...
- 201621123005《Java程序设计》第二周学习总结
201621123005<JAVA程序设计>第二周学习总结 1. 本周学习总结 本章学习了String 的不可变性.自动装箱和拆箱过程,并熟悉了动态数组等 Java中的应用,还有Array ...
- SSH服务:packet_write_wait: Connection to 67.218.143.160 port 22: Broken pipe错误处理
1.在~/.ssh/config配置文件中添加 IPQoS lowdelay throughput 2.在/etc/ssh/ssh_config配置文件中添加 IPQoS lowdelay throu ...