热门标签 | 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


   



推荐阅读
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • Java 中的十进制样式 getZeroDigit()方法,示例 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 在开发一个网页音乐播放器时遇到问题,需要从不同源读取MP3文件的ID3标签信息,包括流派、歌手和歌曲名称等。尝试使用PHP未果后转而考虑使用JavaScript进行跨域读取,但不清楚具体配置方法,寻求技术指导。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 在OpenCV 3.1.0中实现SIFT与SURF特征检测
    本文介绍如何在OpenCV 3.1.0版本中通过Python 2.7环境使用SIFT和SURF算法进行图像特征点检测。由于这些高级功能在OpenCV 3.0.0及更高版本中被移至额外的contrib模块,因此需要特别处理才能正常使用。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 深入理解Java SE 8新特性:Lambda表达式与函数式编程
    本文作为‘Java SE 8新特性概览’系列的一部分,将详细探讨Lambda表达式。通过多种示例,我们将展示Lambda表达式的不同应用场景,并解释编译器如何处理这些表达式。 ... [详细]
  • Python Requests模块中的身份验证机制
    随着Web服务的发展,身份验证成为了确保数据安全的重要环节。本文将详细介绍如何利用Python的Requests库实现不同类型的HTTP身份验证,包括基本身份验证、摘要式身份验证以及OAuth 1认证等。 ... [详细]
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社区 版权所有