しばらくの間、sparklyr
パッケージを使用して、コードを使用して会社の Hadoop クラスターに接続しています。
library(sparklyr)
Sys.setenv(SPARK_HOME="/opt/spark/")
Sys.setenv(HADOOP_CONF_DIR="/etc/hadoop/conf.cloudera.yarn")
Sys.setenv(JAVA_HOME="/usr/lib/jvm/jre")
system('kinit -k -t user.keytab user@xyz')
sc <- spark_connect(master="yarn",
config = list(
default = list(
spark.submit.deployMode= "client",
spark.yarn.keytab= "user.keytab",
spark.yarn.principal= "user@xyz",
spark.executor.instances= 20,
spark.executor.memory= "4G",
spark.executor.cores= 4,
spark.driver.memory= "8G")))
rsparkling
すべて正常に動作しますが、同様のコードを使用してパッケージを追加しようとすると:
library(h2o)
library(rsparkling)
library(sparklyr)
options(rsparkling.sparklingwater.version = '2.0')
Sys.setenv(SPARK_HOME="/opt/spark/")
Sys.setenv(HADOOP_CONF_DIR="/etc/hadoop/conf.cloudera.yarn")
Sys.setenv(JAVA_HOME="/usr/lib/jvm/jre")
system('kinit -k -t user.keytab user@xyz')
sc <- spark_connect(master="yarn",
config = list(
default = list(
spark.submit.deployMode= "client",
spark.yarn.keytab= "user.keytab",
spark.yarn.principal= "user@xyz",
spark.executor.instances= 20,
spark.executor.memory= "4G",
spark.executor.cores= 4,
spark.driver.memory= "8G")))
エラーが発生します:
force(code) のエラー:
sessionid (9819) のポート (8880) への sparklyr への接続中に失敗しました: Sparklyr ゲートウェイは、60 秒後にポート情報を取得中に応答しませんでした パス: /opt/spark-2.0.0-bin-hadoop2. 6/bin/spark-submit パラメータ: --class, sparklyr.Backend, --packages, 'ai.h2o:sparkling-water-core_2.11:2.0','ai.h2o:sparkling-water-ml_2.11: 2.0','ai.h2o:sparkling-water-repl_2.11:2.0', '/usr/lib64/R/library/sparklyr/java/sparklyr-2.0-2.11.jar', 8880, 9819---- 出力ログ ----
Ivy Default Cache set to: /opt/users/user/.ivy2/cache 格納されているパッケージの jar: /opt/users/user/.ivy2/jars :: 設定の読み込み:: url = jar:ファイル:/opt/spark-2.0.0-bin-hadoop2.6/jars/ivy-2.4.0.jar!/org/apache/ivy/core/settings/ivysettings.xml ai.h2o #sparkling-water-core_2.11 依存関係として追加 ai.h2o#sparkling-water-ml_2.11 依存関係として追加 ai.h2o#sparkling-water-repl_2.11 依存関係として追加 :: 依存関係の解決 :: org. apache.spark#spark-submit-parent;1.0 confs: [デフォルト]---- エラー ログ ----
さらに: 警告メッセージ: 1: In if (nchar(config[[e]]) == 0) found <- FALSE : 条件の長さは 1 で、最初の要素のみが2: In if (nchar(config[[e]]) == 0) found <- FALSE : 条件の長さは 1 で、最初の要素のみが使用されます
私は初めてでspark
、clusters
今何をすべきかよくわかりません。どんな助けでも大歓迎です。私が最初に考えたのは、サイドのjar
ファイルが見つからないということでした。そうですか?sparkling water
cluster