У меня есть доступ к граничному узлу кластера MapR Hadoop. У меня есть таблица HBase с именем /app/SubscriptionBillingPlatform/Matthew с некоторыми поддельными данными. Сканирование его в оболочке hbase приводит к следующему:
У меня есть очень простое задание Talend, которое должно сканировать таблицу и регистрировать каждую строку:
Вот конфигурация для tHBaseConnection. Я получил кворум zookeeper и клиентский порт из файла /opt/mapr/hbase/hbase-0.94.13/conf/hbase-site.xml:
А вот конфигурация для tHBaseInput:
Однако, когда я запускаю JAR-файл после сборки/экспорта задания и запускаю его на граничном узле, я получаю следующую ошибку:
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 не использует HRegionServers, как Cloudera, и решили, что мои настройки Talend неверны.
Есть идеи?