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.

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

Highlighted

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
Highlighted

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"

Highlighted

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
Don't have an account?
Coming from Hortonworks? Activate your account here