You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by bu...@apache.org on 2014/11/15 00:21:42 UTC

svn commit: r929268 - in /websites/staging/slider/trunk/content: ./ docs/examples.html docs/getting_started.html docs/slider_specs/specifying_exports.html

Author: buildbot
Date: Fri Nov 14 23:21:42 2014
New Revision: 929268

Log:
Staging update by buildbot for slider

Modified:
    websites/staging/slider/trunk/content/   (props changed)
    websites/staging/slider/trunk/content/docs/examples.html
    websites/staging/slider/trunk/content/docs/getting_started.html
    websites/staging/slider/trunk/content/docs/slider_specs/specifying_exports.html

Propchange: websites/staging/slider/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Nov 14 23:21:42 2014
@@ -1 +1 @@
-1639762
+1639803

Modified: websites/staging/slider/trunk/content/docs/examples.html
==============================================================================
--- websites/staging/slider/trunk/content/docs/examples.html (original)
+++ websites/staging/slider/trunk/content/docs/examples.html Fri Nov 14 23:21:42 2014
@@ -174,6 +174,8 @@ Latest release: <strong>0.40-incubating<
 -->
 
 <h1 id="apache-slider-examples">Apache Slider Examples</h1>
+<p><code>Note: These examples use HBase providers written for Slider.</code>
+To use the HBase application package refer to <a href="/docs/getting_started.html">Getting Started</a>.</p>
 <h2 id="setup">Setup</h2>
 <h3 id="setting-up-a-yarn-cluster">Setting up a YARN cluster</h3>
 <p>For simple local demos, a Hadoop pseudo-distributed cluster will suffice -if on a VM then

Modified: websites/staging/slider/trunk/content/docs/getting_started.html
==============================================================================
--- websites/staging/slider/trunk/content/docs/getting_started.html (original)
+++ websites/staging/slider/trunk/content/docs/getting_started.html Fri Nov 14 23:21:42 2014
@@ -368,6 +368,8 @@ python %slider-install-dir%/slider-0.50.
 </pre></div>
 
 
+<p>Package gets deployed on HDFS at <code>&lt;User home dir&gt;/.slider/package/&lt;name provided in the command&gt;</code>
+This path is also reflected in appConfig.json through property <code>"application.def"</code> So the path and the property value must be in sync.</p>
 <p>For example, you can use the following command for HBase application package.</p>
 <div class="codehilite"><pre><span class="n">slider</span> <span class="n">install</span><span class="o">-</span><span class="n">package</span> <span class="o">--</span><span class="n">name</span> <span class="n">HBASE</span> <span class="o">--</span><span class="n">package</span> <span class="n">path</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="n">hbase</span><span class="o">-</span><span class="n">package</span><span class="p">.</span><span class="n">zip</span>
 </pre></div>

Modified: websites/staging/slider/trunk/content/docs/slider_specs/specifying_exports.html
==============================================================================
--- websites/staging/slider/trunk/content/docs/slider_specs/specifying_exports.html (original)
+++ websites/staging/slider/trunk/content/docs/slider_specs/specifying_exports.html Fri Nov 14 23:21:42 2014
@@ -182,7 +182,9 @@ Latest release: <strong>0.40-incubating<
 <p>All exports are specified in the metadata file, <code>metainfo.xml</code>. An export can be at the level of the application - it means there is only one copy of this data or at the level of a component instance - there is one copy of the data per component instance.</p>
 <h2 id="exporting-configurations">Exporting configurations</h2>
 <p>Slider application packages accept an appConfig.json file for all application configuration supplied by the user. Any property whose name starts with "site" are considered configuration. <a href="application_instance_configuration.html">Specifications InstanceConfiguration</a> describes the naming convention.</p>
+<h3 id="export-specific-configs">Export specific configs</h3>
 <p>By default all configurations are exported (e.g. http://hos1:44500/ws/v1/slider/publisher/slider/storm-site). They can be disabled by specifying <code>&lt;exportedConfigs&gt;None&lt;/exportedConfigs&gt;</code> under <code>&lt;application&gt;</code>. If you want to explicitly specify what to publish you can use comma separated named such as <code>&lt;exportedConfigs&gt;storm-site,another-site&lt;/exportedConfigs&gt;</code>.</p>
+<h3 id="which-component-is-responsible-for-export">Which component is responsible for export</h3>
 <p>By default an arbitrary master is chosen as the master responsible for exporting the config. <em>What this means is that when this master is STARTED the applied config known at that time is exported</em>. Otherwise, you can specify which master component type should export configuration by specifying <code>&lt;publishConfig&gt;true&lt;/publishConfig&gt;</code> under <code>&lt;component&gt;</code>.</p>
 <h2 id="exporting-formatted-data-at-application-instance-level">Exporting formatted data at application instance level</h2>
 <p>At application level one or more exportGroups can be defined where each group can contain one or more exported name-value pairs. The sample export group shown below exports two data items "app.monitor" and "nimbus.host_port" for a Storm application instance.</p>
@@ -191,7 +193,7 @@ Latest release: <strong>0.40-incubating<
     <span class="nt">&lt;name&gt;</span>QuickLinks<span class="nt">&lt;/name&gt;</span>
     <span class="nt">&lt;exports&gt;</span>
       <span class="nt">&lt;export&gt;</span>
-        <span class="nt">&lt;name&gt;</span>app.monitor<span class="nt">&lt;/name&gt;</span>
+        <span class="nt">&lt;name&gt;</span>org.apache.slider.monitor/name&gt;
         <span class="nt">&lt;value&gt;</span>http://<span class="cp">${</span><span class="n">STORM_UI_SERVER_HOST</span><span class="cp">}</span>:<span class="cp">${</span><span class="n">site</span><span class="o">.</span><span class="n">storm</span><span class="o">-</span><span class="n">site</span><span class="o">.</span><span class="n">ui</span><span class="o">.</span><span class="n">port</span><span class="cp">}</span><span class="nt">&lt;/value&gt;</span>
       <span class="nt">&lt;/export&gt;</span>
       <span class="nt">&lt;export&gt;</span>
@@ -205,21 +207,112 @@ Latest release: <strong>0.40-incubating<
 
 
 <p>You also need to specify as to which component type should export which data item. This is specified via <code>&lt;appExports&gt;</code> tag such as <code>&lt;appExports&gt;QuickLinks-nimbus.host_port&lt;/appExports&gt;</code> for NIMBUS component type.</p>
+<div class="codehilite"><pre><span class="nt">&lt;components&gt;</span>
+  <span class="nt">&lt;component&gt;</span>
+    <span class="nt">&lt;name&gt;</span>NIMBUS<span class="nt">&lt;/name&gt;</span>
+    <span class="nt">&lt;category&gt;</span>MASTER<span class="nt">&lt;/category&gt;</span>
+    <span class="nt">&lt;appExports&gt;</span>QuickLinks-org.apache.slider.monitor,QuickLinks-nimbus.host_port<span class="nt">&lt;/appExports&gt;</span>
+    ...
+</pre></div>
+
+
 <h2 id="exporting-formatted-data-at-component-instance-level">Exporting formatted data at component instance level</h2>
-<p>Occasionally, component instances may need to export data on a per component instance basis. This is true if your application is a set of peers - e.g. memcached daemons, or you may have a need for each slave component instance to export some data. Currently, only the host and dynamically allocated port values can be exported.</p>
-<p>To export, specify componentExports sections for components. For example:
-<code>&lt;componentExports&gt;
-   &lt;componentExport&gt;
-     &lt;name&gt;log_viewer_port&lt;/name&gt;
-     &lt;value&gt;${THIS_HOST}:${site.storm-site.logviewer.port}&lt;/value&gt;
-   &lt;/componentExport&gt;
- &lt;/componentExports&gt;</code> is used to specify that all Storm Supervisor component instances export the log viewer port.</p>
-<p>When any component instance comes up the value for the component instance is exported and when a component instance goes down the export is removed. Sample export:</p>
+<p>Occasionally, component instances may need to export data on a per component instance basis. This is true if your application is a set of peers - e.g. memcached daemons, or you may have a need for each slave component instance to export some data. Currently, only the host name and dynamically allocated port values can be exported.</p>
+<p>A component export can be declaraed within the component definition or along with application export group. When declared along the <code>exportGroups</code> you also need to specify the component that is responsible.</p>
+<p>Add the export.</p>
+<div class="codehilite"><pre><span class="nt">&lt;exportGroup&gt;</span>
+  <span class="nt">&lt;name&gt;</span>Servers<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;exports&gt;</span>
+    <span class="nt">&lt;export&gt;</span>
+      <span class="nt">&lt;name&gt;</span>host_port<span class="nt">&lt;/name&gt;</span>
+      <span class="nt">&lt;value&gt;</span><span class="cp">${</span><span class="n">MEMCACHED_HOST</span><span class="cp">}</span>:<span class="cp">${</span><span class="n">site</span><span class="o">.</span><span class="k">global</span><span class="o">.</span><span class="n">listen_port</span><span class="cp">}</span><span class="nt">&lt;/value&gt;</span>
+    <span class="nt">&lt;/export&gt;</span>
+  <span class="nt">&lt;/exports&gt;</span>
+<span class="nt">&lt;/exportGroup&gt;</span>
+</pre></div>
+
+
+<p>Define the component that exports it.</p>
+<div class="codehilite"><pre><span class="nt">&lt;components&gt;</span>
+  <span class="nt">&lt;component&gt;</span>
+    <span class="nt">&lt;name&gt;</span>MEMCACHED<span class="nt">&lt;/name&gt;</span>
+    <span class="nt">&lt;category&gt;</span>MASTER<span class="nt">&lt;/category&gt;</span>
+    <span class="nt">&lt;compExports&gt;</span>Servers-host_port<span class="nt">&lt;/compExports&gt;</span>
+    ...
+</pre></div>
+
+
+<p>Alternatively specify the export in the components section. For example:</p>
+<div class="codehilite"><pre><span class="nt">&lt;componentExports&gt;</span>
+   <span class="nt">&lt;componentExport&gt;</span>
+     <span class="nt">&lt;name&gt;</span>log_viewer_port<span class="nt">&lt;/name&gt;</span>
+     <span class="nt">&lt;value&gt;</span><span class="cp">${</span><span class="n">MEMCACHED_HOST</span><span class="cp">}</span>:<span class="cp">${</span><span class="n">site</span><span class="o">.</span><span class="n">storm</span><span class="o">-</span><span class="n">site</span><span class="o">.</span><span class="n">logviewer</span><span class="o">.</span><span class="n">port</span><span class="cp">}</span><span class="nt">&lt;/value&gt;</span>
+   <span class="nt">&lt;/componentExport&gt;</span>
+<span class="nt">&lt;/componentExports&gt;</span>`
+</pre></div>
+
+
+<p>is used to specify that all Storm Supervisor component instances export the log viewer port. <code>${MEMCACHED_HOST}</code> refers to the host of the component instances that is exporting. You can use <code>${THIS_HOST}</code> as well.</p>
+<p>When any component instance comes up the value for the component instance is exported and when a component instance goes down the export is removed. Exports are available @ <code>.../ws/v1/slider/publisher/slider/componentinstancedata</code> Sample export:</p>
 <div class="codehilite"><pre><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">host1</span><span class="p">:</span>44500<span class="o">/</span><span class="n">ws</span><span class="o">/</span><span class="n">v1</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span><span class="n">publisher</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span><span class="n">componentinstancedata</span>
 <span class="n">entries</span>&quot;<span class="p">:</span> <span class="p">{</span>
    &quot;<span class="n">container_1407354284611_0059_01_000006</span><span class="p">.</span><span class="n">log_viewer_port</span>&quot;<span class="p">:</span> &quot;<span class="n">host2</span><span class="p">:</span>60515&quot;
 <span class="p">}</span>
 </pre></div>
+
+
+<p>A structured JOSN for component exports are available @ <code>.../ws/v1/slider/publisher/exports</code>. The container log and work directories are automatically made available.</p>
+<p>Sample:</p>
+<div class="codehilite"><pre><span class="n">GET</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">c6403</span><span class="p">.</span><span class="n">ambari</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="p">:</span>8088<span class="o">/</span><span class="n">proxy</span><span class="o">/</span><span class="n">application_1415914904020_0015</span><span class="o">/</span><span class="n">ws</span><span class="o">/</span><span class="n">v1</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span><span class="n">publisher</span><span class="o">/</span><span class="n">exports</span>
+
+<span class="p">{</span>
+
+  &quot;<span class="n">exports</span>&quot;<span class="p">:</span> <span class="p">{</span>
+    &quot;<span class="n">servers</span>&quot;<span class="p">:</span> <span class="p">{</span>
+        &quot;<span class="n">description</span>&quot;<span class="p">:</span> &quot;<span class="n">Servers</span>&quot;<span class="p">,</span>
+        &quot;<span class="n">updated</span>&quot;<span class="p">:</span> 1415991500805<span class="p">,</span>
+        &quot;<span class="n">updatedTime</span>&quot;<span class="p">:</span> &quot;<span class="n">Fri</span> <span class="n">Nov</span> 14 18<span class="p">:</span>58<span class="p">:</span>20 <span class="n">UTC</span> 2014&quot;<span class="p">,</span>
+        &quot;<span class="n">entries</span>&quot;<span class="p">:</span> <span class="p">{</span> <span class="p">},</span>
+        &quot;<span class="n">empty</span>&quot;<span class="p">:</span> <span class="n">true</span>
+    <span class="p">},</span>
+    &quot;<span class="n">container_log_dirs</span>&quot;<span class="p">:</span> <span class="p">{</span>
+        &quot;<span class="n">description</span>&quot;<span class="p">:</span> &quot;<span class="n">container_log_dirs</span>&quot;<span class="p">,</span>
+        &quot;<span class="n">updated</span>&quot;<span class="p">:</span> 1415991500807<span class="p">,</span>
+        &quot;<span class="n">updatedTime</span>&quot;<span class="p">:</span> &quot;<span class="n">Fri</span> <span class="n">Nov</span> 14 18<span class="p">:</span>58<span class="p">:</span>20 <span class="n">UTC</span> 2014&quot;<span class="p">,</span>
+        &quot;<span class="n">entries</span>&quot;<span class="p">:</span> <span class="p">{</span> <span class="p">},</span>
+        &quot;<span class="n">empty</span>&quot;<span class="p">:</span> <span class="n">true</span>
+    <span class="p">},</span>
+    &quot;<span class="n">container_work_dirs</span>&quot;<span class="p">:</span> <span class="p">{</span>
+        &quot;<span class="n">description</span>&quot;<span class="p">:</span> &quot;<span class="n">container_work_dirs</span>&quot;<span class="p">,</span>
+        &quot;<span class="n">updated</span>&quot;<span class="p">:</span> 1415991500807<span class="p">,</span>
+        &quot;<span class="n">updatedTime</span>&quot;<span class="p">:</span> &quot;<span class="n">Fri</span> <span class="n">Nov</span> 14 18<span class="p">:</span>58<span class="p">:</span>20 <span class="n">UTC</span> 2014&quot;<span class="p">,</span>
+        &quot;<span class="n">entries</span>&quot;<span class="p">:</span> <span class="p">{</span> <span class="p">},</span>
+        &quot;<span class="n">empty</span>&quot;<span class="p">:</span> <span class="n">true</span>
+    <span class="p">}</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+
+
+<span class="n">GET</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">c6403</span><span class="p">.</span><span class="n">ambari</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="p">:</span>8088<span class="o">/</span><span class="n">proxy</span><span class="o">/</span><span class="n">application_1415914904020_0016</span><span class="o">/</span><span class="n">ws</span><span class="o">/</span><span class="n">v1</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span><span class="n">publisher</span><span class="o">/</span><span class="n">exports</span><span class="o">/</span><span class="n">servers</span>
+
+<span class="p">{</span>
+  &quot;<span class="n">description</span>&quot;<span class="p">:</span> &quot;<span class="n">Servers</span>&quot;<span class="p">,</span>
+  &quot;<span class="n">updated</span>&quot;<span class="p">:</span> 1415991750794<span class="p">,</span>
+  &quot;<span class="n">updatedTime</span>&quot;<span class="p">:</span> &quot;<span class="n">Fri</span> <span class="n">Nov</span> 14 19<span class="p">:</span>02<span class="p">:</span>30 <span class="n">UTC</span> 2014&quot;<span class="p">,</span>
+  &quot;<span class="n">entries</span>&quot;<span class="p">:</span> <span class="p">{</span>
+      &quot;<span class="n">host_port</span>&quot;<span class="p">:</span> <span class="p">[</span>
+          <span class="p">{</span>
+              &quot;<span class="n">value</span>&quot;<span class="p">:</span> &quot;<span class="n">c6403</span><span class="p">.</span><span class="n">ambari</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="p">:</span>33387&quot;<span class="p">,</span>
+              &quot;<span class="n">containerId</span>&quot;<span class="p">:</span> &quot;<span class="n">container_1415914904020_0016_01_000002</span>&quot;<span class="p">,</span>
+              &quot;<span class="n">tag</span>&quot;<span class="p">:</span> &quot;1&quot;<span class="p">,</span>
+              &quot;<span class="n">level</span>&quot;<span class="p">:</span> &quot;<span class="n">component</span>&quot;<span class="p">,</span>
+              &quot;<span class="n">updatedTime</span>&quot;<span class="p">:</span> &quot;<span class="n">Fri</span> <span class="n">Nov</span> 14 19<span class="p">:</span>02<span class="p">:</span>30 <span class="n">UTC</span> 2014&quot;
+          <span class="p">}</span>
+      <span class="p">]</span>
+  <span class="p">},</span>
+  &quot;<span class="n">empty</span>&quot;<span class="p">:</span> <span class="n">false</span>
+<span class="p">}</span>
+</pre></div>
   </div>
 
   <div id="footer">