首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为独立集群非hdfs模式启用火花历史记录服务器

如何为独立集群非hdfs模式启用火花历史记录服务器
EN

Stack Overflow用户
提问于 2017-06-29 21:08:14
回答 1查看 5.7K关注 0票数 8

我已经在独立模式下按照http://paxcel.net/blog/how-to-setup-apache-spark-standalone-cluster-on-multiple-machine/设置了Spark2.1.1集群(1主2从站)。我在机器上没有预先的Hadoop设置。我想启动火花历史服务器。我的操作如下:

代码语言:javascript
复制
roshan@bolt:~/spark/spark_home/sbin$ ./start-history-server.sh

在火花违约中,如果我设置如下:

代码语言:javascript
复制
spark.eventLog.enabled           true

但是由于错误,它失败了:

代码语言:javascript
复制
7/06/29 22:59:03 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users  with view permissions: Set(roshan); groups with view permissions: Set(); users  with modify permissions: Set(roshan); groups with modify permissions: Set()
17/06/29 22:59:03 INFO FsHistoryProvider: History server ui acls disabled; users with admin permissions: ; groups with admin permissions
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.apache.spark.deploy.history.HistoryServer$.main(HistoryServer.scala:278)
    at org.apache.spark.deploy.history.HistoryServer.main(HistoryServer.scala)
Caused by: java.io.FileNotFoundException: Log directory specified does not exist: file:/tmp/spark-events Did you configure the correct one through spark.history.fs.logDirectory?
    at org.apache.spark.deploy.history.FsHistoryProvider.org$apache$spark$deploy$history$FsHistoryProvider$$startPolling(FsHistoryProvider.scala:214)

我应该设置为spark.history.fs.logDirectoryspark.eventLog.dir

更新1:

代码语言:javascript
复制
spark.eventLog.enabled           true
spark.history.fs.logDirectory   file:////home/roshan/spark/spark_home/logs
spark.eventLog.dir               file:////home/roshan/spark/spark_home/logs

但我总是会犯这个错误:

代码语言:javascript
复制
java.lang.IllegalArgumentException: Codec [1] is not available. Consider setting spark.io.compression.codec=snappy at org.apache.spark.io.Co
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-29 23:55:33

默认情况下,spark将file:/tmp/spark-events定义为历史服务器的日志目录,您的日志清楚地表明没有配置spark.history.fs.logDirectory。

首先,您需要在/tmp中创建spark文件夹(这不是一个好主意,因为每次重新启动计算机时都会刷新/tmp ),然后在spark-defaults.conf中添加指向该目录的spark.history.fs.logDirectory。但我建议您创建另一个文件夹,该文件夹可以让用户访问并更新星火-defaults.conf文件。

您需要在spark-defaults.conf文件中再定义两个变量

代码语言:javascript
复制
spark.eventLog.dir              file:path to where you want to store your logs
spark.history.fs.logDirectory   file:same path as above

假设您想要存储在/opt/火花事件中,星火用户可以访问星火-defaults.conf中的上述参数。

代码语言:javascript
复制
spark.eventLog.enabled          true
spark.eventLog.dir              file:/opt/spark-events
spark.history.fs.logDirectory   file:/opt/spark-events

您可以在监测和仪表中找到更多信息。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44835026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档