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&#8217;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&#8217;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&#8217;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"&gt;
 </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>&lt;services&gt;
+    &lt;!-- any number of service elements can be defined. --&gt;
+    &lt;service&gt;
+        &lt;id&gt;some-identifier&lt;/id&gt;
+        &lt;!-- The fully-qualified class name of the Notification Service. 
--&gt;
+        
&lt;class&gt;org.apache.nifi.bootstrap.notification.email.EmailNotificationService&lt;/class&gt;
+
+        &lt;!-- Any number of properties can be set using this syntax.
+             The properties available depend on the Notification Service. 
--&gt;
+        &lt;property name="Property Name 1"&gt;Property Value&lt;/property&gt;
+        &lt;property name="Another Property Name"&gt;Property Value 
2&lt;/property&gt;
+    &lt;/service&gt;
+&lt;/services&gt;</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>     &lt;service&gt;
+        &lt;id&gt;email-notification&lt;/id&gt;
+        
&lt;class&gt;org.apache.nifi.bootstrap.notification.email.EmailNotificationService&lt;/class&gt;
+        &lt;property name="SMTP Hostname"&gt;smtp.gmail.com&lt;/property&gt;
+        &lt;property name="SMTP Port"&gt;587&lt;/property&gt;
+        &lt;property name="SMTP 
Username"&gt;[email protected]&lt;/property&gt;
+        &lt;property name="SMTP 
Password"&gt;super-secret-password&lt;/property&gt;
+        &lt;property name="SMTP TLS"&gt;true&lt;/property&gt;
+        &lt;property name="From"&gt;"NiFi Service Notifier"&lt;/property&gt;
+        &lt;property name="To"&gt;[email protected]&lt;/property&gt;
+     &lt;/service&gt;</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>



Reply via email to