java - 在 HDFS 上创建文件
问题描述
我正在尝试在 hdfs 和我的 Windows 机器中创建一个文件来测试我的代码。为此,我在此处关注了此链接,并且由于它是一个 Maven 项目,因此它与帖子上的给出代码配合得很好。
我需要的是在 eclipse 中创建一个动态的 web 项目。我所做的是我将 hadoop-client-2.6.1.jar 放入我的项目中,但它只是在尝试下面的行时最终阻塞
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS",hdfsUri );
FileSystem fs = FileSystem.get(new URI(sHdfsLandOutPath), configuration);
Path file = new Path(sHdfsLandOutPath + sTableName + ".txt");
我不明白是什么问题,因为当我从 Windows 机器运行它时它不会引发任何错误,而当我通过 linux 运行它时,我得到以下错误。
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.NoClassDefFoundError: com/google/common/collect/Interners
at org.apache.hadoop.util.StringInterner.<clinit>(StringInterner.java:48)
at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2108)
at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2001)
at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1918)
at org.apache.hadoop.conf.Configuration.get(Configuration.java:721)
at org.apache.hadoop.conf.Configuration.getTrimmed(Configuration.java:740)
at org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:1093)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:363)
at com.jms.demo.JMSConsumer.runConsumer(JMSConsumer.java:115)
at com.jms.demo.JMSConsumer.main(JMSConsumer.java:79)
... 5 more
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Interners
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
解决方案
推荐阅读
- angular - Getter/Setter 是否应该包含除 Get/Set 之外的其他方法和代码?
- c# - 在 xamarin 表单 4.4.0 中将图像添加到轮播视图
- python - 在空格格式的报告中解析多行标题
- rest - 如何在不通知的情况下以编程方式(例如 Rest API)将用户添加到 AzureDevOps?
- clearcase - 如何签出然后一次复制到符号链接目的地的所有文件?
- r - 在闪亮的应用程序中更改 dateRangeInput() 日记框的位置
- r - R循环根据数据框中的值将文件复制到不同的文件夹中
- java - flink taskmanager 因 OOM 失败
- ssas - 使用类似 SQLCMD 的东西连接到 MDX
- javascript - Next.JS: How to handle error in getInitialProps?