该问题主要是由于访问HDFS的访问权限导致的,表现为配置的hdfs上的/user/spark/applicationHistory目录下面可以生成具体的application历史信息,但是history server ui上却无法显示,表示这个目录有写入权限没有读取权限,为什么有写入权限呢?因为我执行spark-submit的时候export HADOOP_USER_NAME=hdfs了,hdfs用户是分布式文件系统的超级用户,所以有写入权限,写入的文件的用户和组分别是hdfs和spark。然后我启动history server用的是系统的root用户启动的,所以root用户没有读取/user/spark/applicationHistory目录下面文件的权限。
所以正确方式为:
启动history server:
cd $SPARK_HOME
chown -R spark:spark logs
sudo -u spark SPARK_HISTORY_OPTS=-Dspark.history.ui.port=18088 sbin/start-history-server.sh hdfs://n1:8020/user/spark/applicationHistory
停止history server:
sudo -u spark sbin/stop-history-server.sh
版权声明:本文为xiao_jun_0820原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。