2013-07-30 9 views
5

Mam problemy z importowaniem tabeli z MySQL do HBase przy użyciu Sqoop. Pracuję w klastrze z 3 węzłami (1 wzorzec, 2 niewolniki).Uzyskiwanie wyjątku NoServerForRegionException: nie można znaleźć regionu przy próbie importowania z MySQL do HBase

Kiedy próbowałem uruchomić to polecenie:

sqoop import --hbase-create-table --hbase-table (any_tablename) 

    --column-family (any_cf) --hbase-row-key (any_rowkey) --connect 
    jdbc:mysql://(mysqlserver_machine_IP)/(any_db) --username root -P --table (any_table) 

-m 1 

pojawia się następujący błąd:

...13/07/30 12:13:36 INFO zookeeper.ZooKeeper: Session: 0x1402df83cc5000a closed 
13/07/30 12:13:36 INFO zookeeper.ClientCnxn: EventThread shut down 
13/07/30 12:13:42 INFO mapred.JobClient: Running job: job_201307301159_0001 
13/07/30 12:13:43 INFO mapred.JobClient: map 0% reduce 0% 
13/07/30 12:28:12 INFO mapred.JobClient: Task Id : attempt_201307301159_0001_m_000000_0, Status : FAILED 
java.lang.RuntimeException: Could not access HBase table mypop 
    at org.apache.sqoop.hbase.HBasePutProcessor.setConf(HBasePutProcessor.java:121) 
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62) 
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) 
    at org.apache.sqoop.mapreduce.DelegatingOutputFormat$DelegatingRecordWriter.<init>(DelegatingOutputFormat.java:107) 
    at org.apache.sqoop.mapreduce.DelegatingOutputFormat.getRecordWriter(DelegatingOutputFormat.java:82) 
    at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.<init>(MapTask.java:628) 
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:753) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) 
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:415) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 
    at org.apache.hadoop.mapred.Child.main(Child.java:249) 
Caused by: org.apache.hadoop.hbase.client.NoServerForRegionException: Unable to find region for mypop,,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:233) 
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:173) 
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:132) 
    at org.apache.sqoop.hbase.HBasePutProcessor.setConf(HBasePutProcessor.java:119) 
    ... 12 more 
+0

czy plik hbase-site.xml został poprawnie skonfigurowany? – Udy

Odpowiedz

0

wygląda Twój Sqoop nie jest w stanie skontaktować się z RegionServer która utrzymuje regiony dla tej tabeli . Upewnij się, że serwer RegionServer działa poprawnie i nie ma problemu z siecią. Dodaj hbase - *. Jar do swojego katalogu SQOOP_HOME/lib.

Odwiedź WebUI HBase wskazując przeglądarkę internetową do hmaster_machine: 60010 i sprawdzić, czy RegionServers są wymienione tam. Spróbuj wykopać dzienniki serwera RegionServer, jeśli nie są uruchomione.

+0

Dziękuję za odpowiedź. Właściwie w webui (wzorzec: 60010) wymienione są wszystkie moje serwery regionalne i są one dostępne w trybie online dla obsługiwanych regionów. Również dodałem hbase - *. Jar w moim katalogu SQOOP_HOME/lib. Ale nadal mam ten sam błąd. Próbuję rozwiązać problem na te dni, ale utknąłem .. Może, jest to jakiś problem związany z siecią ... Ale, jaki rodzaj problemu związanego z siecią może prowadzić do tego problemu? Dzięki. – Florencia

Powiązane problemy