Member since
07-30-2019
3398
Posts
1621
Kudos Received
1001
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 483 | 11-05-2025 11:01 AM | |
| 374 | 11-05-2025 08:01 AM | |
| 596 | 11-04-2025 10:16 AM | |
| 734 | 10-20-2025 06:29 AM | |
| 874 | 10-10-2025 08:03 AM |
05-07-2019
03:00 PM
@Josh Nicholson When using the kerberos-provider via the login-identity-providers.xml file. The user's full kerberos principal is going to be used every time. You can ignore the "default realm" property in the kerberos-provider provider (NiFi's code does not actually use it right now --> https://jira.apache.org/jira/browse/NIFI-6224 ) So when a user enters a username that does not include the "@<realm>" portion, the default realm as configured in the krb5.conf file configured in the nifi.properties file is used. That full DN is then passed through your configured identity.mapping.patterns. This means you need to have a pattern that matches on: ^(.*?)@(.*?)$ And a resulting value of: $1 so that only the username portion is then passed on to your configured authorizer. In the case of some user coming in with just username and other with full principal names... Those user coming in with just usernames must not being authenticated using the login provider. Even with a login provider configured the default TLS/SSL authentication is attempted first. So if these users have a trusted client certificate loaded in their browser it will be presented for authentication to your NiFi and those user will never see the login window. From a user certificate the full DN will be used to identify the user. That full DN is likely matching on your existing mapping pattern resulting in just the username you are seeing. So it is important that you not remove this existing mapping pattern, but instead add a second. nifi.security.identity.mapping.pattern.<any string> nifi.security.identity.mapping.value.<any string> Patterns are searched in a alpha-numeric order. First matching regex will be applied. Thank you, Matt
... View more
08-15-2018
03:06 PM
1 Kudo
@sunile.manjee You must "Stop" NiFI CA before the "Delete" option is available. Once it has been deleted, I would confirm contents of your keystore and truststore are still correct in case Ambari executed the tls-toolkit and overwrote them.
... View more
08-09-2018
02:33 PM
1 Kudo
@Rinki Flow: 1. You can list out the files from the directory on every first day of month and check the filename attribute using RouteOnAttribute Processor to get only the current date files. In RouteOnAttribute processor you can use either of the above attributes to making use of nifi expression language we can only filtering out only the required files. 2.You can use ReplaceText processor to replace all this required metadata and store into HDFS/Hive..etc i'm thinking filetype is csv,avro,json so i kept expression like ${filename:substringAfter('.')} Replacement Value
${filename},${file.creationTime},${filename:substringAfter('.')},${file.size} To store the data to table you can use PutHDFS and create table on top of this directory. 3.You can use cron schedule to run the processor on first day of month and Execution in only on Primary node - If the Answer helped to resolve your issue, Click on Accept button below to accept the answer, That would be great help to Community users to find solution quickly for these kind of issues.
... View more
08-08-2018
04:27 PM
@sunile.manjee Good catch. Thank you for sharing.
... View more
08-20-2018
08:52 AM
@Frank Gaibler First to your question: In general secure communication over IP is possible. I had a closer look to the issue you described and I have figured out that the nifi-toolkit does not seem to handle the Subject Alternative Names correctly, when you use it for creating the certificates. Right now, the toolkit does not differentiate between DNS names and IP addresses. Normally, you need to declare each subject alternative name as IP address or DNS name like dns:de1000-xxxx,ip:172.18.61.254,.... in your example. But, the nifi-toolkit ignores this syntax and by default everything is declared as DNS name. You can see it in the following screenshot: Here you should get "IP address 192.168.100.120" normally. So from my point of view, it is just a matter of how you create the certificates in the end, because when you use openssl / Java keytool directly for certificate creation, you can create proper certificates following exactly this way. I will follow up internally, but as a workaround you can create the certificates directly using openssl / Java keytool. This should solve the problem.
... View more
07-20-2018
09:15 AM
Thanks a lot Matt!! It helped. Also it turns out I was not running NiFi as administrator which was also a problem in renaming files in windows.
... View more
07-23-2018
12:49 PM
1 Kudo
You can use a JOIN clause in the select statement, but it will only work for a single RDBMS. You may find you can join two tables from two databases/schemas in the same RDBMS (if that system lets you), but you can't currently join two tables from totally separate database systems. You could investigate Presto, it allows for joining of tables across multiple systems, and you could have a single connection to it from NiFi in ExecuteSQL. That way it will look like a single RDBMS to NiFi, but Presto can be configured to do the cross-DB join.
... View more
07-18-2018
01:37 PM
@Rinki Please start a new forum question. I am probably not best resource for SQL statements. Starting a new question will get you faster response. - Thank you, Matt
... View more
07-17-2018
06:24 PM
1 Kudo
@Gulshan Agivetova - There is no NiFi processor that will produce a single NiFi FlowFile that contains a complete listing of all files in a specific target directory, but you can build a flow to do this. The ListSFTP processor will produces one 0 byte FlowFile with the following attributes generated on each: You could pass these 0 byte FlowFiles to a ReplaceText processor that could replace the 0 byte content with new content based off the values assigned to ${path}/${filename} for example. You could then feed all those FlowFiles to a MergeContent processor to merge them in to a single FlowFile with one path/filename per line. Then you can pass that merged file to the ExecuteStream Command processor. - Thanks, Matt
... View more