[一旦解決] Sparkのインストールにハマる[5]
結構いいところまでいったのに,
Sparkのインストールにハマる[2] - なぜか数学者にはワイン好きが多い
そこから強引に走ったのが間違いでした.私らしくない.
たった一行のエラーなので,訂正できないかと調べてみました.
ググると神の声が.
Apache Spark Developers List - [GitHub] spark pull request: fix compile error for hadoop CDH 4.4+
+ * From Hadoop CDH 4.4.0+ (2.1.0-beta), + * AMResponse is merged into AllocateResponse, + * so we don't need to call getAMResponse(), just use AllocateResponse directly.
そもそもエラーになっている,メソッド呼び出し
[error] /usr/local/spark-0.9.1-bin-hadoop2/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/YarnAllocationHandler.scala:106: value getAMResponse is not a member of org.apache.hadoop.yarn.api.protocolrecords.AllocateResponse [error] val amResp = allocateWorkerResources(workersToRequest).getAMResponse
が,不必要なようです.そう言われると,確かに
http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.4.0/api/src-html/org/apache/hadoop/yarn/api/protocolrecords/AllocateResponse.html
getAMResponseって無いんです.
そこで,ソースをちょっとだけ書き換えます.
emacs /usr/local/spark-0.9.1-bin-cdh4/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/YarnAllocationHandler.scala // val amResp = allocateWorkerResources(workersToRequest).getAMResponse val amResp = allocateWorkerResources(workersToRequest)
そしてアセンブリを再実行.
$ time SPARK_HADOOP_VERSION=2.0.0-cdh4.4.0 SPARK_YARN=true sbt/sbt clean assembly (中略) [info] Done packaging. [info] Packaging /usr/local/spark-0.9.1-bin-cdh4/examples/target/scala-2.10/spark-examples-assembly-0.9.1.jar ... [info] Done packaging. [info] Done packaging. [success] Total time: 318 s, completed May 12, 2014 2:05:08 PM real 5m31.927s user 13m35.401s sys 2m44.467s
エラーは出ませんでした.
イケるかな?