From 3f37354daae7703779b767b22e5328dc13fa65c6 Mon Sep 17 00:00:00 2001 From: yliu Date: Wed, 21 Jan 2015 00:57:51 +0800 Subject: [PATCH] HDFS-7623. Add htrace configuration properties to core-default.xml and update user doc about how to enable htrace. (yliu) --- .../src/main/resources/core-default.xml | 24 ++++++++++++++++++ .../hadoop-common/src/site/apt/Tracing.apt.vm | 25 ++++++++++++++----- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml b/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml index 4ba2e5ad61b..4a9c3da0390 100644 --- a/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml +++ b/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml @@ -1646,4 +1646,28 @@ for ldap providers in the same way as above does. + + hadoop.htrace.sampler + NeverSampler + + 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. + + + + + hadoop.htrace.spanreceiver.classes + + + 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. + + + diff --git a/hadoop-common-project/hadoop-common/src/site/apt/Tracing.apt.vm b/hadoop-common-project/hadoop-common/src/site/apt/Tracing.apt.vm index 9eda2208ba5..f04da337af5 100644 --- a/hadoop-common-project/hadoop-common/src/site/apt/Tracing.apt.vm +++ b/hadoop-common-project/hadoop-common/src/site/apt/Tracing.apt.vm @@ -16,19 +16,32 @@ --- ${maven.build.timestamp} -Enabling Dapper-like Tracing in HDFS +Enabling Dapper-like Tracing in Hadoop %{toc|section=1|fromDepth=0} -* {Dapper-like Tracing in HDFS} +* {Dapper-like Tracing in Hadoop} ** HTrace {{{https://issues.apache.org/jira/browse/HDFS-5274}HDFS-5274}} 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. +** Samplers + Configure the samplers in <<>> property: <<>>. + 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. + ++---- + + hadoop.htrace.sampler + NeverSampler + ++---- + ** SpanReceivers 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 by putting a comma separated list of the fully-qualified class name of classes implementing SpanReceiver - in <<>> property: <<>>. + in <<>> property: <<>>. +---- @@ -83,11 +96,11 @@ public void receiveSpan(Span span); $ git clone https://github.com/cloudera/htrace $ cd htrace/htrace-zipkin $ 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 <<>> is shown below. - By adding these to <<>> of NameNode and DataNodes, + By adding these to <<>> of NameNode and DataNodes, <<>> is initialized on the startup. You also need this configuration on the client node in addition to the servers. diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index dc78530f8a2..53a23fd1826 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -258,6 +258,9 @@ Release 2.7.0 - UNRELEASED 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 HDFS-7454. Reduce memory footprint for AclEntries in NameNode.