Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi.reporting.ambari.AmbariReportingTask/index.html URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi.reporting.ambari.AmbariReportingTask/index.html?rev=1704031&view=auto ============================================================================== --- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi.reporting.ambari.AmbariReportingTask/index.html (added) +++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi.reporting.ambari.AmbariReportingTask/index.html Sat Sep 19 13:57:03 2015 @@ -0,0 +1 @@ +<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>AmbariReportingTask</title><link rel="stylesheet" href="../../css/component-usage.css" type="text/css"></link></head><body><h2>Description: </h2><p>Publishes metrics from NiFi to Ambari</p><p><a href="additionalDetails.html">Additional Details...</a></p><h3>Tags: </h3><p>reporting, ambari, metrics</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Metrics Collector URL</strong></td><td id="default-value">http://localhost:6188/ws/v1/timeline/metrics</td><td id="allowable-values"></td><td id="des cription">The URL of the Ambari Metrics Collector Service<br/><strong>Supports Expression Language: true</strong></td></tr><tr><td id="name"><strong>Application ID</strong></td><td id="default-value">nifi</td><td id="allowable-values"></td><td id="description">The Application ID to be included in the metrics sent to Ambari<br/><strong>Supports Expression Language: true</strong></td></tr><tr><td id="name"><strong>Hostname</strong></td><td id="default-value">${hostname(true)}</td><td id="allowable-values"></td><td id="description">The Hostname of this NiFi instance to be included in the metrics sent to Ambari<br/><strong>Supports Expression Language: true</strong></td></tr></table></body></html> \ No newline at end of file
Modified: nifi/site/trunk/docs/nifi-docs/html/administration-guide.html URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/html/administration-guide.html?rev=1704031&r1=1704030&r2=1704031&view=diff ============================================================================== --- nifi/site/trunk/docs/nifi-docs/html/administration-guide.html (original) +++ nifi/site/trunk/docs/nifi-docs/html/administration-guide.html Sat Sep 19 13:57:03 2015 @@ -455,22 +455,24 @@ body.book #toc,body.book #preamble,body. <div id="toc" class="toc"> <div id="toctitle">Table of Contents</div> <ul class="sectlevel1"> -<li><a href="#system-requirements">System Requirements</a></li> -<li><a href="#how-to-install-and-start-nifi">How to install and start NiFi</a></li> -<li><a href="#configuration-best-practices">Configuration Best Practices</a></li> -<li><a href="#security-configuration">Security Configuration</a></li> -<li><a href="#controlling-levels-of-access">Controlling Levels of Access</a></li> -<li><a href="#clustering">Clustering Configuration</a></li> -<li><a href="#system_properties">System Properties</a></li> +<li><a href="administration-guide.html#system-requirements">System Requirements</a></li> +<li><a href="administration-guide.html#how-to-install-and-start-nifi">How to install and start NiFi</a></li> +<li><a href="administration-guide.html#configuration-best-practices">Configuration Best Practices</a></li> +<li><a href="administration-guide.html#security-configuration">Security Configuration</a></li> +<li><a href="administration-guide.html#controlling-levels-of-access">Controlling Levels of Access</a></li> +<li><a href="administration-guide.html#clustering">Clustering Configuration</a></li> +<li><a href="administration-guide.html#bootstrap_properties">Bootstrap Properties</a></li> +<li><a href="administration-guide.html#notification_services">Notification Services</a></li> +<li><a href="administration-guide.html#system_properties">System Properties</a></li> </ul> </div> </div> <div id="content"> <div class="sect1"> -<h2 id="system-requirements"><a class="anchor" href="#system-requirements"></a>System Requirements</h2> +<h2 id="system-requirements"><a class="anchor" href="administration-guide.html#system-requirements"></a>System Requirements</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Apache NiFi can run on something as simple as a laptop, but it can also be clustered across many enterprise-class servers. Therefore, the amount of hardware and memory needed will depend on the size and nature of the dataflow involved. The data is stored on disk while NiFi is processing it. So NiFi needs to have sufficient disk space allocated for its various repositories, particularly the content repository, flowfile repository, and provenance repository (see the <a href="#system_properties">System Properties</a> section for more information about these repositories). NiFi has the following minimum system requirements:</p> +<p>Apache NiFi can run on something as simple as a laptop, but it can also be clustered across many enterprise-class servers. Therefore, the amount of hardware and memory needed will depend on the size and nature of the dataflow involved. The data is stored on disk while NiFi is processing it. So NiFi needs to have sufficient disk space allocated for its various repositories, particularly the content repository, flowfile repository, and provenance repository (see the <a href="administration-guide.html#system_properties">System Properties</a> section for more information about these repositories). NiFi has the following minimum system requirements:</p> </div> <div class="ulist"> <ul> @@ -523,7 +525,7 @@ body.book #toc,body.book #preamble,body. </div> </div> <div class="sect1"> -<h2 id="how-to-install-and-start-nifi"><a class="anchor" href="#how-to-install-and-start-nifi"></a>How to install and start NiFi</h2> +<h2 id="how-to-install-and-start-nifi"><a class="anchor" href="administration-guide.html#how-to-install-and-start-nifi"></a>How to install and start NiFi</h2> <div class="sectionbody"> <div class="ulist"> <ul> @@ -539,7 +541,7 @@ body.book #toc,body.book #preamble,body. <div class="ulist"> <ul> <li> -<p>At a minimum, we recommend editing the <em>nifi.properties</em> file and entering a password for the nifi.sensitive.props.key (see <a href="#system_properties">System Properties</a> below)</p> +<p>At a minimum, we recommend editing the <em>nifi.properties</em> file and entering a password for the nifi.sensitive.props.key (see <a href="administration-guide.html#system_properties">System Properties</a> below)</p> </li> </ul> </div> @@ -594,7 +596,7 @@ body.book #toc,body.book #preamble,body. <div class="ulist"> <ul> <li> -<p>At a minimum, we recommend editing the <em>nifi.properties</em> file and entering a password for the nifi.sensitive.props.key (see <a href="#system_properties">System Properties</a> below)</p> +<p>At a minimum, we recommend editing the <em>nifi.properties</em> file and entering a password for the nifi.sensitive.props.key (see <a href="administration-guide.html#system_properties">System Properties</a> below)</p> </li> </ul> </div> @@ -648,12 +650,12 @@ body.book #toc,body.book #preamble,body. </ul> </div> <div class="paragraph"> -<p>See the <a href="#system_properties">System Properties</a> section of this guide for more information about configuring NiFi repositories and configuration files.</p> +<p>See the <a href="administration-guide.html#system_properties">System Properties</a> section of this guide for more information about configuring NiFi repositories and configuration files.</p> </div> </div> </div> <div class="sect1"> -<h2 id="configuration-best-practices"><a class="anchor" href="#configuration-best-practices"></a>Configuration Best Practices</h2> +<h2 id="configuration-best-practices"><a class="anchor" href="administration-guide.html#configuration-best-practices"></a>Configuration Best Practices</h2> <div class="sectionbody"> <div class="admonitionblock note"> <table> @@ -758,7 +760,7 @@ and for the partition(s) of interest add </div> </div> <div class="sect1"> -<h2 id="security-configuration"><a class="anchor" href="#security-configuration"></a>Security Configuration</h2> +<h2 id="security-configuration"><a class="anchor" href="administration-guide.html#security-configuration"></a>Security Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>NiFi provides several different configuration options for security purposes. The most important properties are those under the @@ -841,7 +843,7 @@ accomplished by setting the <code>nifi.r </div> </div> <div class="sect1"> -<h2 id="controlling-levels-of-access"><a class="anchor" href="#controlling-levels-of-access"></a>Controlling Levels of Access</h2> +<h2 id="controlling-levels-of-access"><a class="anchor" href="administration-guide.html#controlling-levels-of-access"></a>Controlling Levels of Access</h2> <div class="sectionbody"> <div class="paragraph"> <p>Once NiFi is configured to run securely as discussed in the previous section, it is necessary @@ -909,7 +911,7 @@ Once the application starts, the ADMIN u able to access the UI at the HTTPS URL that is configured in the <em>nifi.properties</em> file.</p> </div> <div class="paragraph"> -<p>From the UI, click on the Users icon ( <span class="image"><img src="./images/iconUsers.png" alt="Users" width="32"></span> ) in the +<p>From the UI, click on the Users icon ( <span class="image"><img src="images/iconUsers.png" alt="Users" width="32"></span> ) in the Management Toolbar (upper-right corner of the UI), and the User Management Page opens.</p> </div> <div class="paragraph"> @@ -999,7 +1001,7 @@ cluster, s/he can grant it to the group </div> </div> <div class="sect1"> -<h2 id="clustering"><a class="anchor" href="#clustering"></a>Clustering Configuration</h2> +<h2 id="clustering"><a class="anchor" href="administration-guide.html#clustering"></a>Clustering Configuration</h2> <div class="sectionbody"> <div class="paragraph"> <p>This section provides a quick overview of NiFi Clustering and instructions on how to set up a basic cluster. In the future, we hope to provide supplemental documentation that covers the NiFi Cluster Architecture in depth.</p> @@ -1030,19 +1032,19 @@ the NiFi Cluster Manager (NCM), and the <p><strong>Nodes</strong>: Each cluster is made up of the NCM and one or more nodes. The nodes do the actual data processing. (The NCM does not process any data; all data runs through the nodes.) While nodes are connected to a cluster, the DFM may not access the User Interface for any of the individual nodes. The User Interface of a node may only be accessed if the node is manually removed from the cluster.</p> </div> <div class="paragraph"> -<p><strong>Primary Node</strong>: Every cluster has one Primary Node. On this node, it is possible to run "Isolated Processors" (see below). By default, the NCM will elect the first node that connects to the cluster as the Primary Node; however, the DFM may select a new node as the Primary Node in the Cluster Management page of the User Interface if desired. If the cluster restarts, the NCM will "remember" which node was the Primary Node and wait for that node to re-connect before allowing the DFM to make any changes to the dataflow. The ADMIN may adjust how long the NCM waits for the Primary Node to reconnect by adjusting the property <em>nifi.cluster.manager.safemode.duration</em> in the <em>nifi.properties</em> file, which is discussed in the <a href="#system_properties">System Properties</a> section of this document.</p> +<p><strong>Primary Node</strong>: Every cluster has one Primary Node. On this node, it is possible to run "Isolated Processors" (see below). By default, the NCM will elect the first node that connects to the cluster as the Primary Node; however, the DFM may select a new node as the Primary Node in the Cluster Management page of the User Interface if desired. If the cluster restarts, the NCM will "remember" which node was the Primary Node and wait for that node to re-connect before allowing the DFM to make any changes to the dataflow. The ADMIN may adjust how long the NCM waits for the Primary Node to reconnect by adjusting the property <em>nifi.cluster.manager.safemode.duration</em> in the <em>nifi.properties</em> file, which is discussed in the <a href="administration-guide.html#system_properties">System Properties</a> section of this document.</p> </div> <div class="paragraph"> <p><strong>Isolated Processors</strong>: In a NiFi cluster, the same dataflow runs on all the nodes. As a result, every component in the flow runs on every node. However, there may be cases when the DFM would not want every processor to run on every node. The most common case is when using a processor that communicates with an external service using a protocol that does not scale well. For example, the GetSFTP processor pulls from a remote directory, and if the GetSFTP on every node in the cluster tries simultaneously to pull from the same remote directory, there could be race conditions. Therefore, the DFM could configure the GetSFTP on the Primary Node to run in isolation, meaning that it only runs on that node. It could pull in data and -with the proper dataflow configuration- load-balance it across the rest of the nodes in the cluster. Note that while this feature exists, it is also very common to simply use a standalone NiFi instance to pull data and feed it to the cluster. It just depends on the resources available and how the Administrator decides to configure the cluster.</p> </div> <div class="paragraph"> -<p><strong>Heartbeats</strong>: The nodes communicate their health and status to the NCM via "heartbeats", which let the NCM know they are still connected to the cluster and working properly. By default, the nodes emit heartbeats to the NCM every 5 seconds, and if the NCM does not receive a heartbeat from a node within 45 seconds, it disconnects the node due to "lack of heartbeat". (The 5-second and 45-second settings are configurable in the <em>nifi.properties</em> file. See the <a href="#system_properties">System Properties</a> section of this document for more information.) The reason that the NCM disconnects the node is because the NCM needs to ensure that every node in the cluster is in sync, and if a node is not heard from regularly, the NCM cannot be sure it is still in sync with the rest of the cluster. If, after 45 seconds, the node does send a new heartbeat, the NCM will automatically reconnect the node to the cluster. Both the disconnection due to lack of heartbeat and th e reconnection once a heartbeat is received are reported to the DFM in the NCM’s User Interface.</p> +<p><strong>Heartbeats</strong>: The nodes communicate their health and status to the NCM via "heartbeats", which let the NCM know they are still connected to the cluster and working properly. By default, the nodes emit heartbeats to the NCM every 5 seconds, and if the NCM does not receive a heartbeat from a node within 45 seconds, it disconnects the node due to "lack of heartbeat". (The 5-second and 45-second settings are configurable in the <em>nifi.properties</em> file. See the <a href="administration-guide.html#system_properties">System Properties</a> section of this document for more information.) The reason that the NCM disconnects the node is because the NCM needs to ensure that every node in the cluster is in sync, and if a node is not heard from regularly, the NCM cannot be sure it is still in sync with the rest of the cluster. If, after 45 seconds, the node does send a new heartbeat, the NCM will automatically reconnect the node to the cluster. Both the disconnection due to lack of heartbeat and the reconnection once a heartbeat is received are reported to the DFM in the NCM’s User Interface.</p> </div> <div class="paragraph"> <p><strong>Communication within the Cluster</strong><br></p> </div> <div class="paragraph"> -<p>As noted, the nodes communicate with the NCM via heartbeats. The communication that allows the nodes to find the NCM may be set up as multicast or unicast; this is configured in the <em>nifi.properties</em> file (See <a href="#system_properties">System Properties</a> ). By default, unicast is used. It is important to note that the nodes in a NiFi cluster are not aware of each other. They only communicate with the NCM. Therefore, if one of the nodes goes down, the other nodes in the cluster will not automatically pick up the load of the missing node. It is possible for the DFM to configure the dataflow for failover contingencies; however, this is dependent on the dataflow design and does not happen automatically.</p> +<p>As noted, the nodes communicate with the NCM via heartbeats. The communication that allows the nodes to find the NCM may be set up as multicast or unicast; this is configured in the <em>nifi.properties</em> file (See <a href="administration-guide.html#system_properties">System Properties</a> ). By default, unicast is used. It is important to note that the nodes in a NiFi cluster are not aware of each other. They only communicate with the NCM. Therefore, if one of the nodes goes down, the other nodes in the cluster will not automatically pick up the load of the missing node. It is possible for the DFM to configure the dataflow for failover contingencies; however, this is dependent on the dataflow design and does not happen automatically.</p> </div> <div class="paragraph"> <p>When the DFM makes changes to the dataflow, the NCM communicates those changes to the nodes and waits for each node to respond, indicating that it has made the change on its local flow. If the DFM wants to make another change, the NCM will only allow this to happen once all the nodes have acknowledged that they’ve implemented the last change. This is a safeguard to ensure that all the nodes in the cluster have the correct and up-to-date flow.</p> @@ -1076,7 +1078,7 @@ the NiFi Cluster Manager (NCM), and the <p>Administrators may install each instance on a separate server; however, it is also perfectly fine to install the NCM and one of the nodes on the same server, as the NCM is very lightweight. Just keep in mind that the ports assigned to each instance must not collide if the NCM and one of the nodes share the same server.</p> </div> <div class="paragraph"> -<p>For each instance, certain properties in the <em>nifi.properties</em> file will need to be updated. In particular, the Web and Clustering properties should be evaluated for your situation and adjusted accordingly. All the properties are described in the <a href="#system_properties">System Properties</a> section of this guide; however, in this section, we will focus on the minimum properties that must be set for a simple cluster.</p> +<p>For each instance, certain properties in the <em>nifi.properties</em> file will need to be updated. In particular, the Web and Clustering properties should be evaluated for your situation and adjusted accordingly. All the properties are described in the <a href="administration-guide.html#system_properties">System Properties</a> section of this guide; however, in this section, we will focus on the minimum properties that must be set for a simple cluster.</p> </div> <div class="paragraph"> <p>For all three instances, the Cluster Common Properties can be left with the default settings. Note, however, that if you change these settings, they must be set the same on every instance in the cluster (NCM and nodes).</p> @@ -1172,7 +1174,7 @@ the NiFi Cluster Manager (NCM), and the <p>Now, it is possible to start up the cluster. Technically, it does not matter which instance starts up first. However, you could start the NCM first, then Node 1 and then Node 2. Since the first node that connects is automatically elected as the Primary Node, this sequence should create a cluster where Node 1 is the Primary Node. Navigate to the URL for the NCM in your web browser, and the User Interface should look similar to the following:</p> </div> <div class="paragraph"> -<p><span class="image"><img src="./images/ncm.png" alt="NCM User Interface" width="940"></span></p> +<p><span class="image"><img src="images/ncm.png" alt="NCM User Interface" width="940"></span></p> </div> <div class="paragraph"> <p><strong>Troubleshooting</strong></p> @@ -1191,10 +1193,232 @@ additivity="false"> </div> </div> <div class="sect1"> -<h2 id="system_properties"><a class="anchor" href="#system_properties"></a>System Properties</h2> +<h2 id="bootstrap_properties"><a class="anchor" href="administration-guide.html#bootstrap_properties"></a>Bootstrap Properties</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The <em>nifi.properties</em> file in the conf directory is the main configuration file for controlling how NiFi runs. This section provides an overview of the properties in this file and includes some notes on how to configure it in a way that will make upgrading easier. <strong>After making changes to this file, restart NiFi in order +<p>The <em>bootstrap.conf</em> file in the <em>conf</em> directory allows users to configure settings for how NiFi should be started. +This includes parameters, such as the size of the Java Heap, what Java command to run, and Java System Properties.</p> +</div> +<div class="paragraph"> +<p>Here, we will address the different properties that are made available in the file. Any chances to this file will +take affect only after NiFi has been stopped and restarted.</p> +</div> +<table class="tableblock frame-all grid-all spread"> +<colgroup> +<col style="width: 50%;"> +<col style="width: 50%;"> +</colgroup> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Property</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the fully qualified java command to run. By default, it is simply <code>java</code> but could be changed to an absolute path or a reference an environment variable, such as <code>$JAVA_HOME/bin/java</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">run.as</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The username to run NiFi as. For instance, if NiFi should be run as the <em>nifi</em> user, setting this value to <em>nifi</em> will cause the NiFi Process to be run as the <em>nifi</em> user. + This property is ignored on Windows. For Linux, the specified user may require sudo permissions.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">lib.dir</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The <em>lib</em> directory to use for NiFi. By default, this is set to <code>./lib</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">conf.dir</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The <em>conf</em> directory to use for NiFi. By default, this is set to <code>./conf</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">graceful.shutdown.seconds</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">When NiFi is instructed to shutdown, the Bootstrap will wait this number of seconds for the process to shutdown cleanly. At this amount of time, + if the service is still running, the Bootstrap will "kill" the process, or terminate it abruptly.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.arg.N</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Any number of JVM arguments can be passed to the NiFi JVM when the process is started. These arguments are defined by adding properties to <em>bootstrap.conf</em> that + begin with <code>java.arg.</code>. The rest of the property name is not relevant, other than to different property names, and will be ignored. The default includes + properties for minimum and maximum Java Heap size, the garbage collector to use, etc.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">notification.services.file</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">When NiFi is started, or stopped, or when the Bootstrap detects that NiFi has died, the Bootstrap is able to send notifications of these events + to interested parties. This is configured by specifying an XML file that defines which notification services can be used. More about this + file can be found in the <a href="administration-guide.html#notification_services">Notification Services</a> section.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">notification.max.attempts</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">If a notification service is configured but is unable to perform its function, it will try again up to a maximum number of attempts. This property + configures what that maximum number of attempts is. The default is <code>5</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">nifi.start.notification.services</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">This property is a comma-separated list of Notification Service identifiers that correspond to the Notification Services + defined in the <code>notification.services.file</code> property. The services with the specified identifiers will be used to notify their + configured recipients whenever NiFi is started.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">nifi.stop.notification.services</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">This property is a comma-separated list of Notification Service identifiers that correspond to the Notification Services + defined in the <code>notification.services.file</code> property. The services with the specified identifiers will be used to notify their + configured recipients whenever NiFi is stopped.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">nifi.died.notification.services</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">This property is a comma-separated list of Notification Service identifiers that correspond to the Notification Services + defined in the <code>notification.services.file</code> property. The services with the specified identifiers will be used to notify their + configured recipients if the bootstrap determines that NiFi has unexpectedly died.</p></td> +</tr> +</tbody> +</table> +</div> +</div> +<div class="sect1"> +<h2 id="notification_services"><a class="anchor" href="administration-guide.html#notification_services"></a>Notification Services</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>When the NiFi bootstrap starts or stops NiFi, or detects that it has died unexpectedly, it is able to notify configured recipients. At this point +(version 0.3.0 of Apache NiFi), the only mechanism supplied is to send an e-mail notification. The notification services configuration file, however, +is a configurable XML file so that as new notification capabilities are developed, they will be configured similarly.</p> +</div> +<div class="paragraph"> +<p>The default location of the XML file is <em>conf/bootstrap-notification-services.xml</em>, but this value can be changed in the <em>conf/bootstrap.conf</em> file.</p> +</div> +<div class="paragraph"> +<p>The syntax of the XML file is as follows:</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre><services> + <!-- any number of service elements can be defined. --> + <service> + <id>some-identifier</id> + <!-- The fully-qualified class name of the Notification Service. --> + <class>org.apache.nifi.bootstrap.notification.email.EmailNotificationService</class> + + <!-- Any number of properties can be set using this syntax. + The properties available depend on the Notification Service. --> + <property name="Property Name 1">Property Value</property> + <property name="Another Property Name">Property Value 2</property> + </service> +</services></pre> +</div> +</div> +<div class="paragraph"> +<p>Once the desired services have been configured, they can then be referenced in the <em>bootstrap.conf</em> file. +Currently, the only implementation is the <code>org.apache.nifi.bootstrap.notification.email.EmailNotificationService</code> implementation. +It has the following properties available:</p> +</div> +<table class="tableblock frame-all grid-all spread"> +<colgroup> +<col style="width: 33%;"> +<col style="width: 33%;"> +<col style="width: 33%;"> +</colgroup> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Property</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Required</strong></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">SMTP Hostname</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The hostname of the SMTP Server that is used to send Email Notifications</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">SMTP Port</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The Port used for SMTP communications</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">SMTP Username</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Username for the SMTP account</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">SMTP Password</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Password for the SMTP account</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">SMTP Auth</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Flag indicating whether authentication should be used</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">SMTP TLS</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Flag indicating whether TLS should be enabled</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">SMTP Socket Factory</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">javax.net.ssl.SSLSocketFactory</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">SMTP X-Mailer Header</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">X-Mailer used in the header of the outgoing email</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Content Type</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Mime Type used to interpret the contents of the email, such as text/plain or text/html</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">From</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the Email address to use as the sender. Otherwise, a "friendly name" can be used as the From address, but the value + must be enclosed in double-quotes.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">To</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The recipients to include in the To-Line of the email</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">CC</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The recipients to include in the CC-Line of the email</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">BCC</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The recipients to include in the BCC-Line of the email</p></td> +</tr> +</tbody> +</table> +<div class="paragraph"> +<p>In addition to the properties above that are marked as required, at least one of the <code>To</code>, <code>CC</code>, or <code>BCC</code> properties +must be set.</p> +</div> +<div class="paragraph"> +<p>A complete example of configuring the Email service would look like the following:</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre> <service> + <id>email-notification</id> + <class>org.apache.nifi.bootstrap.notification.email.EmailNotificationService</class> + <property name="SMTP Hostname">smtp.gmail.com</property> + <property name="SMTP Port">587</property> + <property name="SMTP Username">[email protected]</property> + <property name="SMTP Password">super-secret-password</property> + <property name="SMTP TLS">true</property> + <property name="From">"NiFi Service Notifier"</property> + <property name="To">[email protected]</property> + </service></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="system_properties"><a class="anchor" href="administration-guide.html#system_properties"></a>System Properties</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The <em>nifi.properties</em> file in the <em>conf</em> directory is the main configuration file for controlling how NiFi runs. This section provides an overview of the properties in this file and includes some notes on how to configure it in a way that will make upgrading easier. <strong>After making changes to this file, restart NiFi in order for the changes to take effect.</strong></p> </div> <div class="admonitionblock note"> @@ -1444,7 +1668,16 @@ FlowFile Repository, if also on that dis </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.content.repository.directory.default*</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">The location of the Content Repository. The default value is ./content_repository.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The location of the Content Repository. The default value is ./content_repository.<br> +<br> +<strong>NOTE</strong>: Multiple content repositories can be specified by using the <strong><em>nifi.content.repository.directory.</em></strong> prefix with unique suffixes and separate paths as values.<br> +<br> +For example, to provide two additional locations to act as part of the content repository, a user could also specify additional properties with keys of:<br> +<br> +nifi.provenance.repository.directory.content1=/repos/provenance1<br> +nifi.provenance.repository.directory.content2=/repos/provenance2<br> +<br> +Providing three total locations, including <em>nifi.content.repository.directory.default</em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.content.repository.archive.max.retention.period</p></td> @@ -1506,7 +1739,16 @@ this property specifies the maximum amou </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.provenance.repository.directory.default*</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">The location of the Provenance Repository. The default value is ./provenance_repository.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The location of the Provenance Repository. The default value is ./provenance_repository.<br> +<br> +<strong>NOTE</strong>: Multiple provenance repositories can be specified by using the <strong><em>nifi.provenance.repository.directory.</em></strong> prefix with unique suffixes and separate paths as values.<br> +<br> +For example, to provide two additional locations to act as part of the provenance repository, a user could also specify additional properties with keys of:<br> +<br> +nifi.provenance.repository.directory.provenance1=/repos/provenance1<br> +nifi.provenance.repository.directory.provenance2=/repos/provenance2<br> +<br> +Providing three total locations, including <em>nifi.provenance.repository.directory.default</em>.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.provenance.repository.max.storage.time</p></td> @@ -1529,6 +1771,13 @@ this property specifies the maximum amou <td class="tableblock halign-left valign-top"><p class="tableblock">The number of threads to use for Provenance Repository queries. The default value is 2.</p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">nifi.provenance.repository.index.threads</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The number of threads to use for indexing Provenance events so that they are searchable. The default value is 1. + For flows that operate on a very high number of FlowFiles, the indexing of Provenance events could become a bottleneck. If this is the case, a bulletin will appear, indicating that + "The rate of the dataflow is exceeding the provenance recording rate. Slowing down flow to accommodate." If this happens, increasing the value of this property + may increase the rate at which the Provenance Repository is able to process these records, resulting in better overall throughput.</p></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.provenance.repository.compress.on.rollover</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Indicates whether to compress the provenance information when rolling it over. The default value is <em>true</em>.</p></td> </tr> @@ -1604,7 +1853,7 @@ properties govern how that tool works.</ </tr> </tbody> </table> -<div class="paragraph"> +<div id="site_to_site_properties" class="paragraph"> <p><strong>Site to Site Properties</strong><br></p> </div> <div class="paragraph"> @@ -1621,6 +1870,10 @@ properties govern how that tool works.</ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Description</strong></p></td> </tr> <tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">nifi.remote.input.socket.host</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">The host name that will be given out to clients to connect to this NiFi instance for Site-to-Site communication. By default, it is the value from InetAddress.getLocalHost().getHostName(). On UNIX-like operating systems, this is typically the output from the <code>hostname</code> command.</p></td> +</tr> +<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">nifi.remote.input.socket.port</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">The remote input socket port for Site-to-Site communication. By default, it is blank, but it must have a value in order to use Remote Process Groups.</p></td> </tr> @@ -1955,7 +2208,7 @@ If multicast is used, the following nifi </div> <div id="footer"> <div id="footer-text"> -Last updated 2015-07-23 13:20:05 PDT +Last updated 2015-09-19 09:32:06 -04:00 </div> </div> </body>
