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

NiFi: Can't Write to Phoenix Using PutSQL on Kerberos-Secured Cluster

Hello, I'm trying to use the PutSQL NiFi processor to UPSERT data to Phoenix. It's failing with the following error:

2017-08-10 13:13:09,391 ERROR [Timer-Driven Process Thread-9]
o.apache.nifi.processors.standard.PutSQL
PutSQL[id=a1a71e4b-100b-115d-1ef4-338f8a18516a] org.apache.nifi.processors.standard.PutSQL$$Lambda$359/12546984@f205090
failed to process due to org.apache.nifi.processor.exception.ProcessException:
org.apache.commons.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Failed after attempts=35, exceptions:

My DBCPConnectionPool Controller Service is configured with (machine names etc obscured):

Database Connection URL: jdbc:phoenix:host1,host2,host3:2181:/hbase-secure:user@realm.com:/etc/security/keytabs/user.keytab

Database Driver Class Name: org.apache.phoenix.jdbc.PhoenixDriver

Database Driver Location(s): /usr/hdp/current/phoenix-client/phoenix-client.jar

I can confirm that my UPSERTs in the PutSQL processor are syntactically correct, and the Kerberos connection to Phoenix works when using sqlline.py. I can also write to HBase using the HBase_1_1_2_ClientService from the PutHBaseJSON and PutHBaseCell processors (all secured by Kerberos).


Versions

NiFi: 1.3.0

Hadoop: HDP 2.4

Is there some configuration I've missed, or something I can try?

Thanks,

Steven.

3 REPLIES 3

Re: NiFi: Can't Write to Phoenix Using PutSQL on Kerberos-Secured Cluster

Is there more to that stacktrace?

Can you try adding the core-site.xml file to the "Database Driver Locations"?

Something like "/usr/hdp/current/phoenix-client/phoenix-client.jar,/etc/hadoop/conf/core-site.xml"

Re: NiFi: Can't Write to Phoenix Using PutSQL on Kerberos-Secured Cluster

@Bryan Bende, I added /usr/hdp/current/hadoop-client/core-site.xml to the Database Driver Locations on the controller service. The results were the same as before.

I've attached the full trace, and events leading up to it, from the nifi-app.log (renamed as nifi-applog.txt for uploading).

Thanks,
Steven.

Re: NiFi: Can't Write to Phoenix Using PutSQL on Kerberos-Secured Cluster

New Contributor