2016-04-29 6 views
2

私は、hbaseテストユーティリティを使って開発コードをローカルにテストすることで、scalatestを使って単体テストを実行しようとしています。 sbtのhbaseテストユーティリティーの設定は今のところ苦労しています。私は、コンパイル時に、私は次のエラーを取得する:次のようにhbase-testing-utilityのsbt依存関係管理の問題

[warn] module not found: org.apache.hbase#${compat.module};1.2.1 
[warn] ==== local: tried 
[warn] /root/.ivy2/local/org.apache.hbase/${compat.module}/1.2.1/ivys/ivy.xml 
[warn] ==== public: tried 
[warn] https://repo1.maven.org/maven2/org/apache/hbase/${compat.module}/1.2.1/${compat.module}-1.2.1.pom 
[warn] ==== Akka Repository: tried 
[warn] http://repo.akka.io/releases/org/apache/hbase/${compat.module}/1.2.1/${compat.module}-1.2.1.pom 
[warn] ==== scala-tools: tried 
[warn] https://oss.sonatype.org/content/groups/scala-tools/org/apache/hbase/${compat.module}/1.2.1/${compat.module}-1.2.1.pom 
[warn] ==== cloudera-repos: tried 
[warn] https://repository.cloudera.com/artifactory/cloudera-repos/org/apache/hbase/${compat.module}/1.2.1/${compat.module}-1.2.1.pom 
[warn] ==== Sonatype OSS Snapshots: tried 
[warn] https://oss.sonatype.org/content/repositories/snapshots/org/apache/hbase/${compat.module}/1.2.1/${compat.module}-1.2.1.pom 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: org.apache.hbase#${compat.module};1.2.1: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] 
[warn] Note: Unresolved dependencies path: 
[warn]  org.apache.hbase:${compat.module}:1.2.1 
[warn]  +- org.apache.hbase:hbase-testing-util:1.2.1 (/workspace/spark/etl/built.sbt#L30-62) 

[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) sbt.ResolveException: unresolved dependency: org.apache.hbase#${compat.module};1.2.1: not found 
[error] Total time: 32 s, completed Apr 29, 2016 9:25:27 AM 

私build.sbtファイルがある:この障害が発生している理由

val hbaseVersion = "1.2.1" 
val sparkVersion = "1.6.1" 
val hadoopVersion = "2.7.1" 

libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-core" % sparkVersion % "provided", 
    "org.apache.spark" %% "spark-streaming" % sparkVersion % "provided", 
    "org.apache.spark" %% "spark-streaming-kafka" % sparkVersion, 
    "org.apache.spark" %% "spark-sql" % sparkVersion % "provided", 
    "org.apache.spark" %% "spark-mllib" % sparkVersion , 
    "org.apache.hbase" % "hbase" % hbaseVersion, 
    "org.apache.hbase" % "hbase-server" % hbaseVersion, 
    "org.apache.hbase" % "hbase-server" % hbaseVersion classifier "tests", 
    "org.apache.hbase" % "hbase-client" % hbaseVersion, 
    "org.apache.hbase" % "hbase-common" % hbaseVersion, 
    "org.apache.hbase" % "hbase-common" % hbaseVersion classifier "tests", 
    "org.apache.hbase" % "hbase-annotations" % hbaseVersion, 
    "org.apache.hbase" % "hbase-testing-util" % hbaseVersion % "test", 
    "org.apache.hadoop" % "hadoop-minicluster" % hadoopVersion, 
    "org.apache.hadoop" % "hadoop-mapreduce-client-jobclient" % hadoopVersion classifier "tests", 
    "org.apache.hadoop" % "hadoop-hdfs" % hadoopVersion, 
    "org.apache.hadoop" % "hadoop-hdfs" % hadoopVersion classifier "tests", 
    "org.apache.hbase" % "hbase-hadoop-compat" % hbaseVersion, 
    "org.apache.hbase" % "hbase-hadoop-compat" % hbaseVersion classifier "tests", 
    "org.apache.hbase" % "hbase-hadoop2-compat" % hbaseVersion, 
    "org.apache.hbase" % "hbase-hadoop2-compat" % hbaseVersion classifier "tests", 
    "org.apache.hadoop" % "hadoop-common" % hadoopVersion, 
    "org.apache.hadoop" % "hadoop-common" % hadoopVersion classifier "tests", 
    "org.apache.hadoop" % "hadoop-annotations" % hadoopVersion, 
    "org.scalatest" %% "scalatest" % "2.2.6" % "test" , 
    //"org.scalacheck" %% "scalacheck" % "1.12.5" % "test", 
    "com.cloudera.sparkts" % "sparkts" % "0.3.0", 
    "com.ecwid.consul" % "consul-api" % "1.1.9", 
    "joda-time" % "joda-time" % "2.7" 
) 

resolvers ++= Seq(
    "Akka Repository" at "http://repo.akka.io/releases/", 
    "scala-tools" at "https://oss.sonatype.org/content/groups/scala-tools", 
    "cloudera-repos" at "https://repository.cloudera.com/artifactory/cloudera-repos/", 
    "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots" 
) 

誰でも理解できますか?

+0

が見える1.2.2バージョンで修正されます! 'hbaseVersion'を' 1.2.0-cdh5.7.0'に変更してビルドが完了したかどうかをテストできますか? – Shyam

+0

問題を解決しましたか?それはhbaseバージョン "0.98.7-hadoop2"で私のために働くが、他のすべてのバージョンでは失敗する。私のレポ:https://github.com/dportabella/spark-examples –

+0

hbaseにはバグがあるようです。有効なバージョンの一覧はこちらをご覧ください。 https://issues.apache.org/jira/browse/HBASE-8488?focusedCommentId=15307889 –

答えて

3

ご迷惑をおかけしますが、私はそれをそのまま動作させることができませんでしたので、バージョンを変更しました。

val sparkVersion = "1.6.1" 
val hbaseVersion = "1.2.0-cdh5.7.0" 
val hadoopVersion = "2.6.0-cdh5.7.0" 

これは頭痛が増えました。ため、私は古いライブラリメソッドへの参照の以前のバージョンにグアバのバージョンを変更しなければならなかったので、これは必要とされています

"com.google.guava" % "guava" % "14.0" force() 

がしなければならなかった(私は結構です、バージョン16.0までだと思います)

(元Qでありませんでした)

// "com.cloudera" % "spark-hbase" % "0.0.2-clabs", 

最後に、元の問題を解決する必要があるバグのように見え、こちらをご覧ください、おかげで次のようにコメントアウトデビッドPortabellaから参照するには:

https://issues.apache.org/jira/browse/HBASE-15925

とMavenするHBaseの-1.2.1成果物を公開しながら、誰かがミスをしたよう