我正在尝试在 Azure HDinsight 集群上运行 Halyard。
升降索:https ://merck.github.io/Halyard/
Azure 版本的 HBase:https ://docs.microsoft.com/en-us/azure/hdinsight/hbase/apache-hbase-overview
以下步骤成功:
- SSH 到主 HBase 节点:-ssh.azurehdinsight.net,端口为 22
- 使用 list commond 运行 HBase shell。
- 下载 Halyard sdk
- 运行 ./console 并创建测试存储库
我在下一步尝试打开该存储库以进行一些测试查询时失败了。出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/client/TableDescriptorBuilder
at com.msd.gin.halyard.common.HalyardTableUtils.getTable(HalyardTableUtils.java:162)
at com.msd.gin.halyard.common.HalyardTableUtils.getTable(HalyardTableUtils.java:146)
at com.msd.gin.halyard.sail.HBaseSail.initialize(HBaseSail.java:201)
at com.msd.gin.halyard.sail.HBaseSail.initialize(HBaseSail.java:194)
at org.eclipse.rdf4j.repository.sail.SailRepository.initializeInternal(SailRepository.java:151)
at org.eclipse.rdf4j.repository.base.AbstractRepository.initialize(AbstractRepository.java:34)
at org.eclipse.rdf4j.repository.manager.LocalRepositoryManager.createRepository(LocalRepositoryManager.java:273)
at org.eclipse.rdf4j.repository.manager.RepositoryManager.getRepository(RepositoryManager.java:424)
at org.eclipse.rdf4j.console.command.Open.openRepository(Open.java:80)
at org.eclipse.rdf4j.console.command.Open.execute(Open.java:65)
at org.eclipse.rdf4j.console.Console.executeCommand(Console.java:376)
at org.eclipse.rdf4j.console.Console.start(Console.java:337)
at org.eclipse.rdf4j.console.Console.main(Console.java:239)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.TableDescriptorBuilder
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 13 more
我不知道如何解决这个问题。kinit 步骤可能是必不可少的吗?这个 Azure-ready-made-made-HBase 不提供对 HBase 和 Hadoop java 类的访问吗?
欢迎任何帮助,包括参考从哪里开始了解我的预期堆栈中的元素,因为我没有经验。