通过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日志不见的更多相关文章

  1. Spark学习笔记-使用Spark History Server

    在运行Spark应用程序的时候,driver会提供一个webUI给出应用程序的运行信息,但是该webUI随着应用程序的完成而关闭端口,也就是 说,Spark应用程序运行完后,将无法查看应用程序的历史记 ...

  2. 【转】Spark History Server 架构原理介绍

    [From]https://blog.csdn.net/u013332124/article/details/88350345 Spark History Server 是spark内置的一个http ...

  3. Spark History Server配置使用

    Spark history Server产生背景 以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WEB ...

  4. Spark History Server产生背景

    以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WEBUI随着Application的完成(成功/失败) ...

  5. Spark集群之Spark history server额外配置

     Note: driver在SparkContext使用stop()方法后才将完整的信息提交到指定的目录,如果不使用stop()方法,即使在指定目录中产生该应用程序的目录,history server ...

  6. Spark history Server配置实用

    Spark history Server产生背景 以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WEB ...

  7. spark history server

    参考:http://blog.csdn.net/lsshlsw/article/details/44786575 为什么需要historyServer? 在运行Spark Application的时候 ...

  8. Spark history server 遇到的一些问题

    最近学习Spark,看了一个视频,里面有提到启动spark后,一般都会启动Spark History Server.视频里把 spark.history.fs.logDirectory 设置成了Had ...

  9. Spark 学习笔记之 Spark history Server 搭建

    在hdfs上建立文件夹/directory hadoop fs -mkdir /directory 进入conf目录  spark-env.sh 增加以下配置 export SPARK_HISTORY ...

随机推荐

  1. 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 ...

  2. Codeforces Round #202 (Div. 2)

    第一题水题但是wa了一发,排队记录下收到的25,50,100,看能不能找零,要注意100可以找25*3 复杂度O(n) 第二题贪心,先找出最小的花费,然后就能得出最长的位数,然后循环对每个位上的数看能 ...

  3. torch 深度学习(4)

    torch 深度学习(4) test doall files 经过数据的预处理.模型创建.损失函数定义以及模型的训练,现在可以使用训练好的模型对测试集进行测试了.测试模块比训练模块简单的多,只需调用模 ...

  4. HLSL实现简单的图像处理功能

    由于对于dxva2解码得到的数据不宜copy回内存给CPU处理,所以最好的办法是在GPU上直接进行处理.D3D的像素着色器能够对像素直接进行操作,实现点运算极其简单方便,简单的卷积运算效果也非常好.但 ...

  5. LoadBalancerv2的原理分析

    OpenStack 是直接采用各种开源可用的负载均衡项目来完成负载均衡的任务,默认使用 HAProxy.LBaaSv2 本质来说,其实也是根据用户提出的负载均衡要求,生成符合的HAProxy配置文件并 ...

  6. KMP算法(改进后的字符串匹配算法)

    转载:http://blog.csdn.net/liu88010988/article/details/50789960 kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O ...

  7. mybatis定义拦截器

    applicationContext.xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlS ...

  8. SpringXML方式配置bean的懒加载lazy-init

    lazy-init(懒加载),表示该bean在容器初始化的时候不进行初始化. 例如: <bean name="role1" class="com.fz.entity ...

  9. 201621123005《Java程序设计》第二周学习总结

    201621123005<JAVA程序设计>第二周学习总结 1. 本周学习总结 本章学习了String 的不可变性.自动装箱和拆箱过程,并熟悉了动态数组等 Java中的应用,还有Array ...

  10. 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 ...