Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

PutHiveQL needs to be enabled when a new template is added to NIFI UI

avatar
Rising Star

Whenever we deploy a new template in nifi UI, the PutHiveQL processor seems to be in disabed state. Can you please let me know ways in which it can be enabled without manual intervenssion or how can I automate it.

1 ACCEPTED SOLUTION

avatar
Super Mentor
@bala krishnan

When templates are added to the canvas the components are always in a stopped state. In some cases those processors or components may even be marked as invalid because they need one or more properties set. This occurs when the component contains required sensitive properties or the processor in the deployed instance is a newer version that has had additional required properties added to it.

NiFi templates when created are sanitized of any sensitive properties. This is done because the encryption of these sensitive properties id tied directly to the specific sensitive props key the users creates for each NiFi installation.

The PutHiveSQL processor has a dependency on the HiveConnectionPool controller service. If this controller service cannot be started then the processor will also not be able to start.

Take a look at the following:

https://github.com/aperepel/nifi-api-deploy

You may be able to use this approach to automate deployment and starting of you template.

Matt

View solution in original post

5 REPLIES 5

avatar
Super Mentor
@bala krishnan

When templates are added to the canvas the components are always in a stopped state. In some cases those processors or components may even be marked as invalid because they need one or more properties set. This occurs when the component contains required sensitive properties or the processor in the deployed instance is a newer version that has had additional required properties added to it.

NiFi templates when created are sanitized of any sensitive properties. This is done because the encryption of these sensitive properties id tied directly to the specific sensitive props key the users creates for each NiFi installation.

The PutHiveSQL processor has a dependency on the HiveConnectionPool controller service. If this controller service cannot be started then the processor will also not be able to start.

Take a look at the following:

https://github.com/aperepel/nifi-api-deploy

You may be able to use this approach to automate deployment and starting of you template.

Matt

avatar
Super Mentor

@Balakrishnan Ramasamy

The NiFi expression language allows users to dynamically retrieve values from FlowFile Attributes, environment variables, JVM properties, or a variable registry file.

Only properties that are marked as supporting expression language can be passed value dynamically. Floating your cursor over the little question mark next to any property will tell you if it support expression language or not.

11610-screen-shot-2017-01-24-at-101044-am.png

For sensitive property fields, the value entered is encrypted upon hitting OK. It is then stored in the encrypted format in the flow.xml.gz file. It does not support the expression language.

Please accept my answer if you feel i have addressed your question.

Thank you,

Matt

avatar
Rising Star

Thanks @Matt. Also, we see that the hive connection pool service prompts for username and password. The password when keyeed-in is visible. How can this be made invisible while keying in the password.

avatar
Super Mentor

@Balakrishnan Ramasamy

The behavior of the input dialog box is not configurable. Once you apply the password, it is encrypted and stored in the flow.xml.gz file. If any user opens the dialog box the users is simply informed that a sensitive property has been set. It is not possible to retrieve the plain text unencrypted version of the password after it has been applied.

If you can, please accept the answer if it addressed your initial question.

Thanks,

Matt

avatar
Rising Star

Can the password in Hiveconnectionpool be passed via a configuration or property file