Support Questions
Find answers, ask questions, and share your expertise

Connecting to kerberized Phoenix from NiFi: Can't get master address from ZooKeeper; znode data == null

Connecting to kerberized Phoenix from NiFi: Can't get master address from ZooKeeper; znode data == null

All,

I'm developing a NiFi controller service and processor bundle for interacting with a kerberized Apache Phoenix cluster.

While testing the bundle, I'm getting the below exception:

[Timer-Driven Process Thread-4] o.a.h.h.zookeeper.RecoverableZooKeeper Process identifier=hconnection-0x69b6bab4 connecting to ZooKeeper ensemble=node1:2181,node2:2181,node3:2181

[Timer-Driven Process Thread-4] o.a.h.hbase.client.ZooKeeperRegistry ClusterId read in ZooKeeper is null

...

RpcRetryingCaller{globalStartTime=1521821549826, pause=100, retries=35}, org.apache.hadoop.hbase.MasterNotRunningException: java.io.IOException: Can't get master address from ZooKeeper; znode data == null

From the same environment, I'm able to connect to the same kerberized cluster with a rest api I developed that uses the same "logic" - i.e. - 1) create an HBase configuration object and load it with the hbase-site.xml, hdfs-site.xml, and core-site.xml, 2) Login from keytab and return an UGI instance, 3) Configure the datasource (hikaricp), and 4) Get a connection from the datasource using ugi.doAs<>

I have also tried to explicity set the zookeeper.znode.master property to "master" in the HBase configuration as it is not in the hbase-site.xml; however, that had no impact.

Has anyone run into the same issue? I have verified the health of HBase and Zookeeper and I'm able to connect to it from multiple methods (rest api mentioned above, sqlline, etc.) - it is only from the NiFi bundle that I get the above exception.

Does anyone have any suggestions/ideas as to what the root issue may be or what I should investigate further?

Thanks!

1 REPLY 1

Re: Connecting to kerberized Phoenix from NiFi: Can't get master address from ZooKeeper; znode data == null

Expert Contributor

Hi @Paras Mehta,

Can you try connecting to Hbase via phoenix thick JDBC client from same host via simple program?

Also ensure that you are passing hbase-site.xml file while connecting from Nifi.

Thanks

Shubham