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><User home dir>/.slider/package/<name provided in the command></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><exportedConfigs>None</exportedConfigs></code> under <code><application></code>. If you want to explicitly specify what to publish you can use comma separated named such as <code><exportedConfigs>storm-site,another-site</exportedConfigs></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><publishConfig>true</publishConfig></code> under <code><component></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"><name></span>QuickLinks<span class="nt"></name></span>
<span class="nt"><exports></span>
<span class="nt"><export></span>
- <span class="nt"><name></span>app.monitor<span class="nt"></name></span>
+ <span class="nt"><name></span>org.apache.slider.monitor/name>
<span class="nt"><value></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"></value></span>
<span class="nt"></export></span>
<span class="nt"><export></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><appExports></code> tag such as <code><appExports>QuickLinks-nimbus.host_port</appExports></code> for NIMBUS component type.</p>
+<div class="codehilite"><pre><span class="nt"><components></span>
+ <span class="nt"><component></span>
+ <span class="nt"><name></span>NIMBUS<span class="nt"></name></span>
+ <span class="nt"><category></span>MASTER<span class="nt"></category></span>
+ <span class="nt"><appExports></span>QuickLinks-org.apache.slider.monitor,QuickLinks-nimbus.host_port<span class="nt"></appExports></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><componentExports>
- <componentExport>
- <name>log_viewer_port</name>
- <value>${THIS_HOST}:${site.storm-site.logviewer.port}</value>
- </componentExport>
- </componentExports></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"><exportGroup></span>
+ <span class="nt"><name></span>Servers<span class="nt"></name></span>
+ <span class="nt"><exports></span>
+ <span class="nt"><export></span>
+ <span class="nt"><name></span>host_port<span class="nt"></name></span>
+ <span class="nt"><value></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"></value></span>
+ <span class="nt"></export></span>
+ <span class="nt"></exports></span>
+<span class="nt"></exportGroup></span>
+</pre></div>
+
+
+<p>Define the component that exports it.</p>
+<div class="codehilite"><pre><span class="nt"><components></span>
+ <span class="nt"><component></span>
+ <span class="nt"><name></span>MEMCACHED<span class="nt"></name></span>
+ <span class="nt"><category></span>MASTER<span class="nt"></category></span>
+ <span class="nt"><compExports></span>Servers-host_port<span class="nt"></compExports></span>
+ ...
+</pre></div>
+
+
+<p>Alternatively specify the export in the components section. For example:</p>
+<div class="codehilite"><pre><span class="nt"><componentExports></span>
+ <span class="nt"><componentExport></span>
+ <span class="nt"><name></span>log_viewer_port<span class="nt"></name></span>
+ <span class="nt"><value></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"></value></span>
+ <span class="nt"></componentExport></span>
+<span class="nt"></componentExports></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>"<span class="p">:</span> <span class="p">{</span>
"<span class="n">container_1407354284611_0059_01_000006</span><span class="p">.</span><span class="n">log_viewer_port</span>"<span class="p">:</span> "<span class="n">host2</span><span class="p">:</span>60515"
<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>
+
+ "<span class="n">exports</span>"<span class="p">:</span> <span class="p">{</span>
+ "<span class="n">servers</span>"<span class="p">:</span> <span class="p">{</span>
+ "<span class="n">description</span>"<span class="p">:</span> "<span class="n">Servers</span>"<span class="p">,</span>
+ "<span class="n">updated</span>"<span class="p">:</span> 1415991500805<span class="p">,</span>
+ "<span class="n">updatedTime</span>"<span class="p">:</span> "<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"<span class="p">,</span>
+ "<span class="n">entries</span>"<span class="p">:</span> <span class="p">{</span> <span class="p">},</span>
+ "<span class="n">empty</span>"<span class="p">:</span> <span class="n">true</span>
+ <span class="p">},</span>
+ "<span class="n">container_log_dirs</span>"<span class="p">:</span> <span class="p">{</span>
+ "<span class="n">description</span>"<span class="p">:</span> "<span class="n">container_log_dirs</span>"<span class="p">,</span>
+ "<span class="n">updated</span>"<span class="p">:</span> 1415991500807<span class="p">,</span>
+ "<span class="n">updatedTime</span>"<span class="p">:</span> "<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"<span class="p">,</span>
+ "<span class="n">entries</span>"<span class="p">:</span> <span class="p">{</span> <span class="p">},</span>
+ "<span class="n">empty</span>"<span class="p">:</span> <span class="n">true</span>
+ <span class="p">},</span>
+ "<span class="n">container_work_dirs</span>"<span class="p">:</span> <span class="p">{</span>
+ "<span class="n">description</span>"<span class="p">:</span> "<span class="n">container_work_dirs</span>"<span class="p">,</span>
+ "<span class="n">updated</span>"<span class="p">:</span> 1415991500807<span class="p">,</span>
+ "<span class="n">updatedTime</span>"<span class="p">:</span> "<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"<span class="p">,</span>
+ "<span class="n">entries</span>"<span class="p">:</span> <span class="p">{</span> <span class="p">},</span>
+ "<span class="n">empty</span>"<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>
+ "<span class="n">description</span>"<span class="p">:</span> "<span class="n">Servers</span>"<span class="p">,</span>
+ "<span class="n">updated</span>"<span class="p">:</span> 1415991750794<span class="p">,</span>
+ "<span class="n">updatedTime</span>"<span class="p">:</span> "<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"<span class="p">,</span>
+ "<span class="n">entries</span>"<span class="p">:</span> <span class="p">{</span>
+ "<span class="n">host_port</span>"<span class="p">:</span> <span class="p">[</span>
+ <span class="p">{</span>
+ "<span class="n">value</span>"<span class="p">:</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>33387"<span class="p">,</span>
+ "<span class="n">containerId</span>"<span class="p">:</span> "<span class="n">container_1415914904020_0016_01_000002</span>"<span class="p">,</span>
+ "<span class="n">tag</span>"<span class="p">:</span> "1"<span class="p">,</span>
+ "<span class="n">level</span>"<span class="p">:</span> "<span class="n">component</span>"<span class="p">,</span>
+ "<span class="n">updatedTime</span>"<span class="p">:</span> "<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"
+ <span class="p">}</span>
+ <span class="p">]</span>
+ <span class="p">},</span>
+ "<span class="n">empty</span>"<span class="p">:</span> <span class="n">false</span>
+<span class="p">}</span>
+</pre></div>
</div>
<div id="footer">