Member since
09-29-2015
871
Posts
723
Kudos Received
255
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 4260 | 12-03-2018 02:26 PM | |
| 3202 | 10-16-2018 01:37 PM | |
| 4306 | 10-03-2018 06:34 PM | |
| 3165 | 09-05-2018 07:44 PM | |
| 2424 | 09-05-2018 07:31 PM |
10-26-2016
02:46 PM
1 Kudo
Currently you just copy the NAR to the lib directory of every server and restart NiFi, you could script this process. The NiFi community has talked about a future enhancement to have an extension registry where custom NARs could be uploaded, and then a given NiFi instance/cluster could load NARs from the registry. There is still a lot of design to be done, but this could potentially help with this scenario.
... View more
10-25-2016
06:24 PM
Do you still have the original source of data outside of NiFi? If so, you could completely wipe your NiFi back to a clean slate by stoping NiFi and deleting all of the "_repository" directories and restarting. Then you could configure appropriate back-pressure before trying to pick up these files again. If that is not an option you probably need to figure out what is causing things to hang, is it going out of memory and showing exceptions in the nifi-app.log?
... View more
10-25-2016
06:15 PM
3 Kudos
There is no hard-coded limit, but there is definitely some limit in terms of performance. Flow File attributes are held in memory (in addition to being persisted to disk) so more attributes means more Java objects on the heap, means more garbage collection pressure. I don't think there is any way to set what the limit is because it depends on how much data is in the attributes, how much memory you have, how many flow files, etc.
... View more
10-25-2016
03:03 PM
1 Kudo
I believe that "List Queue" would be a "View Data" policy on the source, and "Empty Queue" would be a "Modify Data" on the source component. Also keep in mind that if you are clustered, all of the nodes in the cluster also need to be part of this policy because all entities (users + machines) involved in the request need to be authorized for the data.
... View more
10-25-2016
01:54 PM
1 Kudo
Well there would be a listener on each cluster node, but it is up to you to route the data to each of those listeners if you want to use them all. If you have a cluster of 3 NiFi nodes, and you setup syslog to push data to node 1 then you are only using the listener on node 1 and the other two listeners aren't doing anything. You would need to have the syslog agent distribute the data to all 3 listeners, or you would need to put a load balancer in front of NiFi and have the syslog agent send to the load balancer and the load balancer would distribute to the 3 nodes.
... View more
10-25-2016
01:24 PM
1 Kudo
You definitely could do this if you wanted to, but it would probably become a bit unmanageable when using a significant number of processors. This post from yesterday talks about how to create a separate log file for LogAttribute, it would be the same for any other processors: https://community.hortonworks.com/questions/63071/in-apache-ni-fi-how-can-i-log-all-the-flowfile-att.html
... View more
10-25-2016
01:09 PM
There is currently no way to do this. The idea of chaining together a series of processors and having them operate as if they were one processor has been discussed before, and there are some concepts in the framework that could possibly help support this in the future, but currently it does not exist.
... View more
10-25-2016
01:04 PM
The Message Queue is in memory so anything in there would be lost if the node crashed. You could keep the Mx Size of Message Queue really small, possibly even set at 1, to avoid losing anything, but this may not work well for performance. You really need an application level protocol that can send acknowledgements back to the sender when data is successfully written to a flow file, if the sender never receives an ack then it can re-send. The is a ListenRELP processor that works does this, it is just like ListenTCP but the RELP protocol allows for acknowledgements.
... View more
10-25-2016
01:46 AM
5 Kudos
Here is what you would need to do to configure PublishKafka to talk to a kerberized Kafka... 1) You can either rely on /etc/krb5.conf or you can tell NiFi to use a specific krb5.conf by setting nifi.kerberos.krb5.file= in nifi.properties to point to some other krb5.conf file. 2) Create a JAAS file lets say kafka-jaas.conf with the following: KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
keyTab="/path/to/nifi-iotdemot.keytab"
serviceName="kafka"
principal="nifi/iotdemo.field.hortonworks.com@LAKE";
}; Changing the keyTab path to the appropriate path. 3) Specify this in NiFi's bootstrap.conf: java.arg.15=-Djava.security.auth.login.config=/path/to/kafka-jaas.conf 4) Configure PublishKafka: Security Protocol = PLAINTEXTSASL
Service Name = kafka The service name should match what is in the JAAS file above. You don't need to do any of the other stuff related to ZooKeeper, unless your NiFi instance is also using a Kerberized ZooKeeper for NiFi's state management. The above steps are what you need to do only for NiFi talking to Kafka.
... View more
10-24-2016
10:39 PM
1 Kudo
That means the user you are logging in as does not have permission to access the UI. You can check nifi-user.log to see the user identity that is coming from your request (it should be the DN of your cert) and compare that to what is in users.xml and authorizations.xml. If this is your "initial admin" identity then this should have been entered in authorizers.xml as the initial admin, and that would have granted it all the correct permissions. If you had already tried to setup an initial admin before then you need to delete users.xml and authorizations.xml before trying to change the "initial admin", otherwise it won't take effect.
... View more