Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

bin/hbase org.apache.hadoop.hbase.mapreduce.SyncTable failing with IOStreams Exception

bin/hbase org.apache.hadoop.hbase.mapreduce.SyncTable failing with IOStreams Exception

New Contributor

This is the command that I am attempting with the resulting error:

 

$ hbase org.apache.hadoop.hbase.mapreduce.SyncTable --dryrun=true --sourcezkcluster=<enter zk quorum>:<hbase port>:/hbase hdfs://<enter active namenode>:<nn port>/hashes/img img img

 

 

Error: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the location
        at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:316)
        at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:156)
        at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60)
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)
        at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:320)
        at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:295)
        at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:160)
        at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:155)
        at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:867)
        at org.apache.hadoop.hbase.mapreduce.SyncTable$SyncMapper.syncRange(SyncTable.java:313)
        at org.apache.hadoop.hbase.mapreduce.SyncTable$SyncMapper.finishBatchAndCompareHashes(SyncTable.java:291)
        at org.apache.hadoop.hbase.mapreduce.SyncTable$SyncMapper.moveToNextBatch(SyncTable.java:254)
        at org.apache.hadoop.hbase.mapreduce.SyncTable$SyncMapper.map(SyncTable.java:233)
        at org.apache.hadoop.hbase.mapreduce.SyncTable$SyncMapper.map(SyncTable.java:150)
        at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
        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:1709)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: java.io.IOException: Could not set up IO Streams to <enter hostname>

 

If HBase replication is working fine between the two clusters, and I am running this SyncTable command as a kinited super user (hbase), why is this command failing with these exceptions? Any idea?

1 REPLY 1

Re: bin/hbase org.apache.hadoop.hbase.mapreduce.SyncTable failing with IOStreams Exception

Cloudera Employee

In case someone else faces this error 

 

Error: org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the location

Caused by: java.io.IOException: Could not set up IO 

 

This is likely caused by connectivity issues between the two clusters, ensure you are able to access zookeeper servers and regionservers between the two cllusters, review you are able to connect to all services on the source cluster from the destination cluster.