Created 07-03-2023 08:27 PM
hi team,
I'm trying to establish connection to cloudera-hbase using hbase-client library. I'm not able to establish the connection and getting the following error.
exception:
org.apache.hadoop.hbase.MasterNotRunningException: org.apache.hadoop.hbase.MasterNotRunningException: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call to address=ip-172-1-4-7.ap-south-1.compute.internal:16000 failed on local exception: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call[id=0,methodName=IsMasterRunning], waitTime=60215ms, rpcTimeout=60000ms
at org.apache.hadoop.hbase.client.ConnectionImplementation.isMasterRunning(ConnectionImplementation.java:723)
at org.apache.hadoop.hbase.client.HBaseAdmin.available(HBaseAdmin.java:2367)
at org.example.HBaseKerberos.main(HBaseKerberos.java:45)
Caused by: org.apache.hadoop.hbase.MasterNotRunningException: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call to address=ip-172-1-4-7.ap-south-1.compute.internal:16000 failed on local exception: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call[id=0,methodName=IsMasterRunning], waitTime=60215ms, rpcTimeout=60000ms
at org.apache.hadoop.hbase.client.ConnectionImplementation$MasterServiceStubMaker.makeStub(ConnectionImplementation.java:1359)
at org.apache.hadoop.hbase.client.ConnectionImplementation.getKeepAliveMasterService(ConnectionImplementation.java:1425)
at org.apache.hadoop.hbase.client.ConnectionImplementation.isMasterRunning(ConnectionImplementation.java:721)
... 2 more
Caused by: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call to address=ip-172-1-4-7.ap-south-1.compute.internal:16000 failed on local exception: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call[id=0,methodName=IsMasterRunning], waitTime=60215ms, rpcTimeout=60000ms
at org.apache.hadoop.hbase.ipc.IPCUtil.wrapException(IPCUtil.java:222)
at org.apache.hadoop.hbase.ipc.AbstractRpcClient.onCallFinished(AbstractRpcClient.java:392)
at org.apache.hadoop.hbase.ipc.AbstractRpcClient.access$100(AbstractRpcClient.java:92)
at org.apache.hadoop.hbase.ipc.AbstractRpcClient$3.run(AbstractRpcClient.java:426)
at org.apache.hadoop.hbase.ipc.AbstractRpcClient$3.run(AbstractRpcClient.java:421)
at org.apache.hadoop.hbase.ipc.Call.setTimeout(Call.java:107)
at org.apache.hadoop.hbase.ipc.RpcConnection$1.run(RpcConnection.java:134)
at org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer$HashedWheelTimeout.run(HashedWheelTimer.java:715)
at org.apache.hbase.thirdparty.io.netty.util.concurrent.ImmediateExecutor.execute(ImmediateExecutor.java:34)
at org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:703)
at org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:790)
at org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:503)
at java.lang.Thread.run(Thread.java:750)
Caused by: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call[id=0,methodName=IsMasterRunning], waitTime=60215ms, rpcTimeout=60000ms
at org.apache.hadoop.hbase.ipc.RpcConnection$1.run(RpcConnection.java:135)
... 6 more
code :
public class HBaseKerberos{
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
try {
System.setProperty("sun.security.jgss.debug", "true");
System.setProperty("sun.security.krb5.debug", "true");
System.setProperty("sun.security.jgss.debug", "true");
System.setProperty("javax.security.auth.useSubjectCredsOnly","false");
System.setProperty("java.security.debug", "logincontext,policy,scl,gssloginconfig");
Configuration config = HBaseConfiguration.create();
config.addResource("/home/hduser/core-site.xml");
config.addResource("/home/hduser/hbase-site.xml");
config.addResource("/home/hduser/hdfs-site.xml");
config.set("hadoop.security.authentication", "kerberos");
config.set("hbase.zookeper.quorum", "ip-172-1-4-7.ap-south-1.compute.internal");
config.set("hbase.zookeeper.property.clientPort", "2181");
config.set("hbase.security.authentication","kerberos");
System.setProperty("java.security.krb5.conf","/etc/krb5.conf");
UserGroupInformation.setConfiguration(config);
UserGroupInformation.loginUserFromKeytab("hduser@EXAMPLE.COM","/home/hduser/kerbhduser.keytab");
HBaseAdmin.available(config);
System.out.println("enter total record count");
int count = scanner.nextInt();
System.out.println("enter the batch size");
int batchSize = scanner.nextInt();
System.out.println("enter the delay for each batch");
int delayInterval = scanner.nextInt();
// Create connection to HBase
Connection connection = ConnectionFactory.createConnection(config);
System.out.println("enter the table name");
String tableNameInput = scanner.next();
System.out.println("enter the start positon");
int startPos = scanner.nextInt();
TableName table1 = TableName.valueOf(tableNameInput);
String family1 = "customer";
String family2 = "order";
Admin admin = connection.getAdmin();
Table hTable = ConnectionFactory.createConnection().getTable(table1);
HTableDescriptor desc = new HTableDescriptor(table1);
desc.addFamily(new HColumnDescriptor(family1));
desc.addFamily(new HColumnDescriptor(family2));
if(!admin.tableExists(table1)) {
admin.createTable(desc);
}
}
I have downloaded the hbase-site.xml , core-site.xml and hdfs-site.xml from Cloudera's hbase master role.
Kindly help in this regard.
Created 07-04-2023 09:17 AM
@karthik_bigData Welcome to the Cloudera Community!
To help you get the best possible solution, I have tagged our HBase experts @aquilodran and @pajoshi who may be able to assist you further.
Please keep us updated on your post, and we hope you find a satisfactory solution to your query.
Regards,
Diana Torres,