热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TitanGuavaVersionDiscussion(andStopWatchexceptions)

OpeningthisissuetocaptureanongoingdiscussionaroundtheGuavaversionandStopWat

Opening this issue to capture an ongoing discussion around the Guava version and StopWatch exceptions that are occurring with Titan 1.1.0/TP3 when using HBase 1.1.x on Hadoop 2.7.1.

The conversation started in a pull request #1216 but was moved here as more appropriate.
(https://github.com/thinkaurelius/titan/pull/1216)

The current version of Guava in Titan is 18.0. Even the latest versions of HBase are still using version 12.0. (BTW, a JIRA was opened against HBase to fix this, but we should not hold our breath on when it gets done). The way StopWatch is constructed changed, which can cause the following problem:

Caused by: java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.()V from class org.apache.hadoop.hbase.zookeeper.MetaTableLocator at org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:596) at org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:580) at org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:559)

The problem occurred while following the bulk loading steps in Chapter 32 of the Titan 1.0 documentation.

The problem was produced in two separate environments simultaneously. One environment was an IBM Open Platform environment running HBase 1.1.1 and Hadoop 2.7.1 installed with Ambari and the other was a HDP 2.3.0.0-2557 cluster installed with Ambari. In both cases when the problem was reproduced, Spark was running as a stand alone cluster on the same nodes used by hdfs and hbase.
In other words, Spark was not managed by Yarn in the initial tests.

It would seem this is classpath related, but there are other factors involved too, such as, perhaps, timing.

The StopWatch exception in my tests was intermittent.
The
graph.compute(SparkGraphComputer).program(blvp).submit().get()
line in Chapter 32 could be issued one moment and the exception would occur, and could be issued a second time (same Gremlin shell, same classpath, same everything) and the problem would not occur and the graph would be loaded. This intermittent pattern was repeatable, if not precisely predictable.

In tests yesterday, I configured Spark with a specific classpath (rather than just pointing it to a directory of jars) and was unable to get the Stop Watch exception to occur after 10 tries. I also varied the number of Spark workers in the stand alone cluster from 1 to 2, including 1 remote worker, with no impact on the results. I will post the config I used (which worked).

I do not have a specific configuration right now that consistently reproduces the exception.

该提问来源于开源项目:thinkaurelius/titan

Execuse me, I try to follow your step to "mvn install", but after installing, titan-dist/titan-dist-hadoop-2/target is empty, and I can't get titan-1.1.0-SNAPSHOT-hadoop2.zip(titan-1.1.0-SNAPSHOT-hadoop1.zip is ok)
1)Titan version is 1.0, which is fetched from git,
2)mvn command is: mvn clean install -DskipTests=true -Dgpg.skip=true -Phadoop2 -Paurelius-release
Does some configuration should be added when run mvn?



Best regards


   



推荐阅读
  • 本文详细介绍了 Apache ZooKeeper 的 FileTxnLog 类中的 setPreallocSize 方法,并提供了多个实际应用中的代码示例。通过这些示例,读者可以更好地理解如何在不同场景下合理设置日志文件的预分配大小。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 本文详细探讨了 org.apache.hadoop.ha.HAServiceTarget 类中的 checkFencingConfigured 方法,包括其功能、应用场景及代码示例。通过实际代码片段,帮助开发者更好地理解和使用该方法。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 本文详细介绍了 Java 中 org.geotools.data.shapefile.ShapefileDataStore 类的 getCurrentTypeName() 方法,并提供了多个代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 离线安装Grafana Cloudera Manager插件并监控CDH集群
    本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ... [详细]
  • MapReduce原理是怎么剖析的
    这期内容当中小编将会给大家带来有关MapReduce原理是怎么剖析的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 ... [详细]
  • 优化使用Apache + Memcached-Session-Manager + Tomcat集群方案
    本文探讨了使用Apache、Memcached-Session-Manager和Tomcat集群构建高性能Web应用过程中遇到的问题及解决方案。通过重新设计物理架构,解决了单虚拟机环境无法真实模拟分布式环境的问题,并详细记录了性能测试结果。 ... [详细]
  • 本文详细介绍了如何在Hadoop和Java之间进行数据类型的相互转换,包括基本类型的转换方法以及对应的Hadoop类型,如从Java的String类型转换到Hadoop的Text类型等。 ... [详细]
  • 在CentOS上构建Ntopng实时网络流量监控平台
    本文详细介绍了如何在CentOS操作系统上安装和配置Ntopng,一个强大的网络流量监控工具。Ntopng能够提供实时的网络流量分析,并通过Web界面展示详细的流量报告。 ... [详细]
author-avatar
KingDragon龙帝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有