2017-07-06 21 views
0

私は現在、IntelliJ IDEでScalaのSparkを開発中です。プログラムが実行されてもWeb UIにアクセスできますが、後で履歴サーバーにアクセスすることはできません。スパーク履歴サーバ

何か助けがあれば幸いです。窓を使っています。 私もCでログフォルダを作成しました:/ tmpに/火花イベントや火花-defaults.confに編集この方法は:

# Example: 
# spark.master      spark://master:7077 
# spark.eventLog.enabled   true 
# spark.eventLog.dir    hdfs://namenode:8021/directory 
# spark.serializer     org.apache.spark.serializer.KryoSerializer 
# spark.driver.memory    5g 
# spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three" 
-Dspark.eventLog.enabled   true 
-Dspark.history.fs.logDirectory file:///C:/tmp/spark-events 
-Dspark.eventLog.dir    file:///C:/tmp/spark-events 

が、私は実行

UPDATE後に任意のログが表示されません1:このチュートリアルを読んだ後https://medium.com/@eyaldahari/how-to-run-spark-history-server-on-windows-52cde350de07私は履歴サーバーにアクセスできました。しかし、それは空であり、ログは存在しません...

更新2:私はコンソールでスパークシェルを起動すると、ログと履歴は、私がIDEはログを書きません。

は、ここで私は最終的にはコードに次の行を追加することで問題を解決し

object SimpleScalaSpark { 
    def main(args: Array[String]) { 
    val logFile = "/Users/me/README.md" // Should be some file on your system 
    val conf = new SparkConf().setAppName("Simple Application").setMaster("local[*]") 
    val sc = new SparkContext(conf) 
    val logData = sc.textFile(logFile, 2).cache() 

     val numAs = logData.filter(line => line.contains("a")).count() 
     val numBs = logData.filter(line => line.contains("b")).count() 
     println("Lines with a: %s, Lines with b: %s".format(numAs, numBs)) 


    } 
} 
+0

あなたは歴史・サーバを起動しましたウェブフロントエンド(https://spark.apache.org/docs/latest/monitoring.html#viewing-after-the-fact)? –

+0

tmpの中にspark-eventsディレクトリを作成しないことをお勧めします。システムはリブートするたびにディレクトリを削除します。 –

+0

Shankarの提案に感謝します。 いいえ、ラファエル、私は窓の下にあり、私は.shを実行することはできません... – Tiffany

答えて

2

私のコードです:それはすべて完璧に取り組んでいる

conf.set("spark.eventLog.enabled", "true") 
conf.set("spark.eventLog.dir", "file:///C:/Users/me/spark/logs") 

+0

更新これは、C:/ Users/me/spark/logs内のアプリケーションごとに別のフォルダを作成しますか? – IceMan

+0

私はあなたが実行するアプリケーションごとに別々のログファイルを作成すると思いますが、毎回フォルダーは作成しません – Tiffany