0

この RSparkling の例をオフラインの CDH-5.10.2 クラスターで実行しようとしています。私の環境は次のとおりです。

  • スパーク 1.6.0;
  • スパークラー 0.6.2;
  • h2o 3.10.5.2;
  • rsparkling 0.2.1.

この PRを適用した基本的に 1.6.12 のカスタム Sparkling Water JAR を使用します。

options(rsparkling.sparklingwater.location = "/opt/h2o/sparkling-water-1.6.13-SNAPSHOT/assembly/build/libs/sparkling-water-assembly_2.10-1.6.13-SNAPSHOT-all.jar")

接続が成功した後:

config <- spark_config()
config$spark.dynamicAllocation.enabled <- "false"
config$spark.driver.memory <- "6g"
config$spark.executor.memory <- "6g"
config$spark.executor.heartbeatInterval <- "20s"

sc <- spark_connect(master = "yarn-client", config = config)

H2O コンテキストを作成します。

h2o_context(sc)

H2O コンテキストの作成には数分かかります (最初の奇妙なことです)。

作成後、アプリケーションはさらに数分間応答しなくなります (Spark マスター UI にも到達できなくなります)。現時点では、H2O ログは出力されません。

その後、H2O ログが表示されますが、ほとんどの場合、次のメッセージが含まれています。

Got IO error when sending batch UDP bytes: java.net.ConnectException: Connection refused

間にこれらのものはまれです:

WARN: Unblock allocations; cache below desired, but also OOM: OOM, (K/V:Zero   + POJO:661.8 MB + FREE:306.7 MB == MEM_MAX:968.5 MB), desiredKV=121.1 MB OOM!

次に、H2O とは関係のない次のコードが高速に実行されます。

flights_tbl <- copy_to(sc, nycflights13::flights, "flights")
airports_tbl <- copy_to(sc, nycflights13::airports, "airports")
airlines_tbl <- copy_to(sc, nycflights13::airlines, "airlines")
model_tbl <- flights_tbl %>%
  filter(!is.na(arr_delay) & !is.na(dep_delay) & !is.na(distance)) %>%
  filter(dep_delay > 15 & dep_delay < 240) %>%
  filter(arr_delay > -60 & arr_delay < 360) %>%
  left_join(airlines_tbl, by = c("carrier" = "carrier")) %>%
  mutate(gain = dep_delay - arr_delay) %>%
  select(origin, dest, carrier, airline = name, distance, dep_delay, arr_delay, gain)

しかし、H2O が再び活躍しなければならない場合:

df_hex <- as_h2o_frame(sc,model_tbl,name="model_hex",FALSE)

アプリケーションが再びハングします (現時点では、20 分程度ハングしています)。

このコードを複数回再実行しようとしましたが、一度は成功しましたが、通常はハングします。これをトラブルシューティングする方法は?

CPU、RAM、およびディスクの使用状況を確認しましたが、これらはすべて問題ないようです。明らかなネットワークの問題もありません。

更新 1ConnectExceptionの結果にすぎないのかもしれませんK/V:Zero + POJO:661.8 MB + FREE:306.7 MB == MEM_MAX:968.5 MB。そこで、H2O の最大メモリを増やす方法 (および、そもそも 1 GB を下回る理由) を見つけようとします。

4

1 に答える 1