我可以访问 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 配置是错误的。
有任何想法吗?