htrace

0lvr5msh  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(653)

我已经在ubuntu 14.04上成功地将zipkin与hadoop htrace在2.6.0 x32中结合使用。现在我想在hadoop2.7.3中使用它,但是我甚至不能在这个hadoop版本中启用htrace跟踪。htrace在2.6.0中的设置与2.7.3不同,可以在这里看到-2.6.0和-2.7.3。
在2.6.0中,namenode日志文件中有以下行:

INFO org.apache.hadoop.tracing.SpanReceiverHost: SpanReceiver org.htrace.impl.ZipkinSpanReceiver was loaded successfully.

在2.7.3 namenode日志文件中没有类似的内容。
由于zipkin没有成功,我尝试使用localfilespanreceiver,如在线教程中所述:

<property>
        <name>hadoop.htrace.sampler</name>
        <value>AlwaysSampler</value>
     </property>
     <property>
        <name>hadoop.htrace.spanreceiver.classes</name>
        <value>org.apache.htrace.impl.LocalFileSpanReceiver</value>
      </property>
      <property>
        <name>hadoop.htrace.local-file-span-receiver.path</name>
        <value>/var/log/hadoop/htrace.out</value>
      </property>

/var/log/hadoop/存在,拥有777个权限,但没有任何。。。
TracingFShell示例编译并运行时进行了以下修改:

SpanReceiverHost.get(new HdfsConfiguration(),"");

它可以在hadoop的源代码中找到 hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/tracing/SpanReceiverHost.java 尽管在线教程没有使用该方法签名(源差异)
两个hadoop版本java1.7的环境是相同的。另外,hadoop是从源代码处编译的,因为ubuntu14.04是x32位的。hadoop以完全分布式模式部署,使用lxc容器。 core-site.xml 对于zipkin(此处为zipkin参数):

<property>
        <name>hadoop.htrace.spanreceiver.classes</name>
        <value>org.apache.htrace.impl.ZipkinSpanReceiver</value>
    </property>
    <property>
            <name>hadoop.htrace.zipkin.scribe.hostname</name>
            <value>10.0.3.100</value>
    </property>
    <property>
            <name>hadoop.htrace.zipkin.scribe.port</name>
            <value>9410</value>
    </property>
gcuhipw9

gcuhipw91#

确切地说,在代码中,我看到配置键的前缀是 dfs.htrace ,而不是 hadoop.htrace . 在dfsclient中 dfs.client.htrace . 您可以将前缀更改为 dfs.htrace ,然后重新启动群集并使其生效。代码在课堂上 org.apache.hadoop.tracing.SpanReceiverHost . 希望这对你有帮助!

li9yvcax

li9yvcax2#

感谢您尝试htrace!很抱歉,现在版本问题太麻烦了。
使用cloudera的cdh5.5发行版hadoop和更高版本配置htrace要容易得多。这里有一个很好的描述如何做到这一点:http://blog.cloudera.com/blog/2015/12/new-in-cloudera-labs-apache-htrace-incubating/ 如果您想坚持使用apache版本的源代码而不是供应商版本,请尝试hadoop3.0.0-alpha1。http://hadoop.apache.org/releases.html
hadoop2.6和2.7中提供的htrace库非常古老。。。我们从未将htrace4.x向后移植到这些分支。它们是稳定分支,所以跟踪等新特性超出了范围。有一些功能,但不多。我建议使用更新的htrace4.x库,它正在积极开发中。htrace4.x分支也有一个稳定的api,所以希望将来能尽量减少中断。

相关问题