java - Hadoop 2.7.3中的HTrace

标签 java hadoop zipkin htrace

我已经在Ubuntu 14.04上成功地将Zipkin与2.6.0 x32中的Hadoop Htrace结合使用。
现在,我想将其与Hadoop 2.7.3。一起使用,但是我什至无法使用此hadoop版本启用Htrace跟踪。
在2.6.0中HTrace的设置不同于2.7.3,因为在这里可以看到2.6.0和here- 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权限,但是什么也没有...

TracingFsShell示例通过以下修改进行编译和运行:
SpanReceiverHost.get(new HdfsConfiguration(),"");

尽管在线教程未使用该方法签名,但是可以在hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/tracing/SpanReceiverHost.java的hadoop的源代码中找到它。 (来源diff)

两个Hadoop版本Java 1.7的环境都相同。另外,hadoop是从源代码编译的,因为Ubuntu 14.04是x32位。使用lxc容器以完全分布式模式部署Hadoop。

Zipkin的core-site.xml(Zipkin参数here):
    <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>

最佳答案

感谢您试用HTrace!抱歉,版本问题现在是如此困扰。

使用Cloudera的CDH5.5 Hadoop发行版和更高版本中的版本配置HTrace更加容易。此处有一个很好的说明:http://blog.cloudera.com/blog/2015/12/new-in-cloudera-labs-apache-htrace-incubating/如果您要坚持使用源代码的Apache版本而不是供应商版本,请尝试Hadoop 3.0.0-alpha1。 http://hadoop.apache.org/releases.html

Hadoop 2.6和2.7中附带的HTrace库非常老...我们从未将HTrace 4.x移植到这些分支。它们是稳定性分支,因此跟踪等新功能已超出范围。有一些功能,但不多。我建议使用正在积极开发的较新的HTrace 4.x库。 HTrace 4.x分支还具有稳定的API,因此希望将来可以最大程度地减少损坏。

关于java - Hadoop 2.7.3中的HTrace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40694955/

相关文章:

Java - 计算文件压缩

java - Android : java. lang.OutOfMemoryError:

hadoop - 如何增加 hive 中的 reducer ?

hadoop - 无法从 hive 加载 hbase 表中的数据

java - 为什么我的 zipkin 客户端无法连接到我的 zipkin 服务器

spring-boot - 禁用分布式跟踪以进行开发

zipkin - 使用 Zipkin 导出器的 Opentelemetry 未按预期工作。抛出 StatusRuntimeException : UNAVAILABLE: io exception

java - 如何在 ListView 中显示格式如下 "12:30 PM"的 TextView ?

java - 如何在通过 http 发送时从 log4j 日志中隐藏用户名和密码

hadoop - Flume-ng Spool 目录源轮询新文件的目录,而不是使用 native WatchService API