HDFS-7623. Add htrace configuration properties to core-default.xml and update user doc about how to enable htrace. (yliu)

This commit is contained in:
yliu 2015-01-21 00:57:51 +08:00
parent 610aa71a10
commit 3f37354daa
3 changed files with 46 additions and 6 deletions

View File

@ -1646,4 +1646,28 @@ for ldap providers in the same way as above does.
</description> </description>
</property> </property>
<property>
<name>hadoop.htrace.sampler</name>
<value>NeverSampler</value>
<description>
Configure the samplers for HTrace, the value can be NeverSampler,
AlwaysSampler or ProbabilitySampler. NeverSampler: HTrace is OFF
for all spans; AlwaysSampler: HTrace is ON for all spans;
ProbabilitySampler: HTrace is ON for some percentage% of top-level
spans.
</description>
</property>
<property>
<name>hadoop.htrace.spanreceiver.classes</name>
<value></value>
<description>
A comma separated list of the fully-qualified class name of classes
implementing SpanReceiver. The tracing system works by collecting
information in structs called 'Spans'. It is up to you to choose
how you want to receive this information by implementing the
SpanReceiver interface.
</description>
</property>
</configuration> </configuration>

View File

@ -16,19 +16,32 @@
--- ---
${maven.build.timestamp} ${maven.build.timestamp}
Enabling Dapper-like Tracing in HDFS Enabling Dapper-like Tracing in Hadoop
%{toc|section=1|fromDepth=0} %{toc|section=1|fromDepth=0}
* {Dapper-like Tracing in HDFS} * {Dapper-like Tracing in Hadoop}
** HTrace ** HTrace
{{{https://issues.apache.org/jira/browse/HDFS-5274}HDFS-5274}} {{{https://issues.apache.org/jira/browse/HDFS-5274}HDFS-5274}}
added support for tracing requests through HDFS, added support for tracing requests through HDFS,
using the open source tracing library, {{{https://github.com/cloudera/htrace}HTrace}}. using the open source tracing library, {{{https://git-wip-us.apache.org/repos/asf/incubator-htrace.git}Apache HTrace}}.
Setting up tracing is quite simple, however it requires some very minor changes to your client code. Setting up tracing is quite simple, however it requires some very minor changes to your client code.
** Samplers
Configure the samplers in <<<core-site.xml>>> property: <<<hadoop.htrace.sampler>>>.
The value can be NeverSampler, AlwaysSampler or ProbabilitySampler. NeverSampler: HTrace is OFF
for all spans; AlwaysSampler: HTrace is ON for all spans; ProbabilitySampler: HTrace is ON for
some percentage% of top-level spans.
+----
<property>
<name>hadoop.htrace.sampler</name>
<value>NeverSampler</value>
</property>
+----
** SpanReceivers ** SpanReceivers
The tracing system works by collecting information in structs called 'Spans'. The tracing system works by collecting information in structs called 'Spans'.
@ -42,7 +55,7 @@ public void receiveSpan(Span span);
Configure what SpanReceivers you'd like to use Configure what SpanReceivers you'd like to use
by putting a comma separated list of the fully-qualified class name of by putting a comma separated list of the fully-qualified class name of
classes implementing SpanReceiver classes implementing SpanReceiver
in <<<hdfs-site.xml>>> property: <<<hadoop.htrace.spanreceiver.classes>>>. in <<<core-site.xml>>> property: <<<hadoop.htrace.spanreceiver.classes>>>.
+---- +----
<property> <property>
@ -83,11 +96,11 @@ public void receiveSpan(Span span);
$ git clone https://github.com/cloudera/htrace $ git clone https://github.com/cloudera/htrace
$ cd htrace/htrace-zipkin $ cd htrace/htrace-zipkin
$ mvn compile assembly:single $ mvn compile assembly:single
$ cp target/htrace-zipkin-*-jar-with-dependencies.jar $HADOOP_HOME/share/hadoop/hdfs/lib/ $ cp target/htrace-zipkin-*-jar-with-dependencies.jar $HADOOP_HOME/share/hadoop/common/lib/
+---- +----
The sample configuration for <<<ZipkinSpanReceiver>>> is shown below. The sample configuration for <<<ZipkinSpanReceiver>>> is shown below.
By adding these to <<<hdfs-site.xml>>> of NameNode and DataNodes, By adding these to <<<core-site.xml>>> of NameNode and DataNodes,
<<<ZipkinSpanReceiver>>> is initialized on the startup. <<<ZipkinSpanReceiver>>> is initialized on the startup.
You also need this configuration on the client node in addition to the servers. You also need this configuration on the client node in addition to the servers.

View File

@ -258,6 +258,9 @@ Release 2.7.0 - UNRELEASED
HDFS-7640. Print NFS Client in the NFS log. (Brandon Li via wheat9) HDFS-7640. Print NFS Client in the NFS log. (Brandon Li via wheat9)
HDFS-7623. Add htrace configuration properties to core-default.xml and
update user doc about how to enable htrace. (yliu)
OPTIMIZATIONS OPTIMIZATIONS
HDFS-7454. Reduce memory footprint for AclEntries in NameNode. HDFS-7454. Reduce memory footprint for AclEntries in NameNode.