当前位置: 首页 > 知识库问答 >
问题:

Talend MapR的tHBASEConnection和tHBaseInput

雷方伟
2023-03-14

我可以访问MapR Hadoop集群的边缘节点。我有一个名为/app/subscriptionbillingplatform/matthew的HBase表,里面有一些假数据。在hbase shell中扫描它的结果如下:

我有一个非常简单的Talend作业,它应该扫描表并记录每一行:

下面是ThBaseConnection的配置。我从/opt/mapr/hbase/hbase-0.94.13/conf/hbase-site.xml文件中获得了zookeeper仲裁和客户端端口:

下面是thbaseinput的配置:

但是,当我在构建/导出作业并在边缘节点上运行它之后对jar文件进行SCP时,我得到以下错误:

14/08/06 15:51:26 INFO mapr.TableMappingRulesFactory: Could not find MapRTableMappingRules class, assuming HBase only cluster.
14/08/06 15:51:26 INFO mapr.TableMappingRulesFactory: If you are trying to access M7 tables, add mapr-hbase jar to your classpath.
14/08/06 15:51:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
14/08/06 15:51:26 INFO security.JniBasedUnixGroupsMappingWithFallback: Falling back to shell based
...
Exception in component tHBaseInput_1
org.apache.hadoop.hbase.client.NoServerForRegionException: Unable to find region for /app/SubscriptionBillingPlatform/Matthew,,99999999999999 after 10 tries.
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:991)
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:896)
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:998)
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:900)
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:857)
        at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:257)
        at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:187)
        at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:142)
        at poc2.testhbaseoperations_0_1.TestHBaseOperations.tHBaseInput_1Process(TestHBaseOperations.java:752)
        at poc2.testhbaseoperations_0_1.TestHBaseOperations.tHBaseConnection_1Process(TestHBaseOperations.java:375)
        at poc2.testhbaseoperations_0_1.TestHBaseOperations.runJobInTOS(TestHBaseOperations.java:1104)
        at poc2.testhbaseoperations_0_1.TestHBaseOperations.main(TestHBaseOperations.java:993)

当我告诉不知道Talend是什么的系统管理员时,他们告诉我MapR不像Cloudera那样使用HRegionServers,并认为我的Talend配置是错误的。

共有1个答案

盖夕
2023-03-14

踢球者是这两行:

INFO mapr.TableMappingRulesFactory: Could not find MapRTableMappingRules class, assuming HBase only cluster.
mapr.TableMappingRulesFactory: If you are trying to access M7 tables, add mapr-hbase jar to your classpath.

如果作业的类路径上没有mapr-hbase jar,它将尝试将作业提交给常规HBase,而不是mapr-db。这就是它永远挂着的原因。

您可以将/opt/mapr/lib中的mapr-hbase jar添加到shell脚本的类路径中,也可以将该目录中的所有jar添加到类路径中。

#!/bin/sh
cd `dirname $0`
 ROOT_PATH=`pwd`
java -Xms256M -Xmx1024M -cp /opt/mapr/lib/*:$ROOT_PATH/.. 
 类似资料:
  • 问题内容: 我遇到了Python的Numpy,set和NaN(非数字)的意外行为: 在这里,np.nan产生单个元素集,而Numpy的nans产生一个集合中的多个nans。float(’nan’)也是如此!并注意: 我想知道这种差异是如何产生的,以及不同行为背后的合理性是什么。 问题答案: NAN的特性之一是NAN!= NAN,与所有其他数字不同。但是,在尝试插入新成员之前,first的实现会先检

  • 有人能给我解释一下在列表类中使用E或Object的区别吗,以及它们的单一用法和定义。我必须在LinkedList中使用它们来实现方法。

  • hadoop在默认的情况下,split和hdfs的block的大小是一样的,这样容易造成误解认为两者是一样的,下面说下两者的区别和联系: split是MapReduce里的概念,是切片的概念,split是逻辑切片 ;而block是hdfs中切块的大小,block是物理切块; split的大小在默认的情况下和HDFS的block切块大小一致,为了是MapReduce处理的时候减少由于split和bl

  • 本文向大家介绍& 和 && 的区别?相关面试题,主要包含被问及& 和 && 的区别?时的应答技巧和注意事项,需要的朋友参考一下 &运算符是:逻辑与;&&运算符是:短路与。 &和&&在程序中最终的运算结果是完全一致的,只不过&&存在短路现象,当&&运算符左边的表达式结果为false的时候,右边的表达式不执行,此时就发生了短路现象。如果是&运算符,那么不管左边的表达式是true还是false,右边表达

  • 原文链接:scarletsky 的 blog ~ 的作用 在查询 commit 编号的时候,一般会执行以下操作: git log --graph --oneline * 90055c5 update 2016年12月30日 星期五 18时34分58秒 CST * 031b9f2 Update README.md * 71b62a9 Update README.md * 8f17f7e Updat

  • 本文向大家介绍AdaBoost和GBDT的区别,AdaBoost和GBDT的区别?相关面试题,主要包含被问及AdaBoost和GBDT的区别,AdaBoost和GBDT的区别?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: AdaBoost通过调整错分的数据点的权重来改进模型,而GBDT是从负梯度的方向去拟合改进模型。 AdaBoost改变了训练数据的权值,即样本的概率分布,减少上一轮被正