在 Azure 上运行 Halyard

在 Azure 上运行 Halyard

我正在尝试在 Azure HDinsight 群集上运行 Halyard。

升降索:https://merck.github.io/Halyard/

Azure 的 HBase 版本:https://docs.microsoft.com/en-us/azure/hdinsight/hbase/apache-hbase-overview

以下步骤成功:

  1. ssh 到主 HBase 节点:-ssh.azurehdinsight.net,端口为 22
  2. 使用 list commond 运行 HBase shell。
  3. 下载 Halyard sdk
  4. 运行 ./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-HBase 是否不提供对 HBase 和 Hadoop java 类的访问?

由于我缺乏经验,因此欢迎提供任何帮助,包括从哪里开始学习我想要的堆栈中的元素的参考。

答案1

通过使用 Halyard 2.2 版本而不是 3.0 夜间版本解决了问题。

相关内容