事实:
1)我在分布式设置上运行带有Hbase 0.92.1的Hadoop 1.0.3,并且试图通过代码批量导入数据。
2)通过以下方式将所有必需的jar(包括guava-r09.jar)添加到我的hadoop类路径中:
HADOOP_CLASSPATH = mia-0.7-job.jar:/usr/local/hbase0921/lib/guava-r09.jar:Jama-1.0.2.jar / usr / local / hadoop103 / bin / hadoop jar myJar.jar mainPackage / MyMain -libjars mia-0.7-job.jar,/ usr / local / hbe0921 / lib / guava-r09.jar,Jama-1.0.2.jar
问题:
尽管guava-r09.jar中存在ThreadFactoryBuilder.class的事实,但我仍然遇到以下问题:ClassNotFoundException:com.google.common.util.concurrent.ThreadFactoryBuilder
如果有人可以阐明这一点,我将不胜感激。提前致谢。
最佳答案
解决方案是通过以下方式将 Guava jar 添加到作业的分布式缓存中:
DistributedCache.addFileToClassPath(pathToGuavaAtHDFS,yourConfiguration);
关于java - 带有HBase的Hadoop:类路径中存在 Guava jar ,但是执行抛出 “ThreadFactoryBuilder”类未找到类异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11894946/