eclipse连hadoop集群运行wordcount报空指针

狂热的土豆 2014-03-14 08:56:17
log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.NullPointerException
at java.lang.ProcessBuilder.start(ProcessBuilder.java:441)
at org.apache.hadoop.util.Shell.runCommand(Shell.java:404)
at org.apache.hadoop.util.Shell.run(Shell.java:379)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:589)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:678)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:661)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:639)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:435)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:277)
at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:344)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1265)
at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:562)
at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:557)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:557)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:548)
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:833)
at test.WordCount.run(WordCount.java:150)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at test.WordCount.main(WordCount.java:155)

hadoop运行正常,且wordCount的jar在hadoop上执行是成功的,但是用eclipse上运行就报空指针,运行参数是:
input output
DFS也可以正常的连接上传、下载


...全文
4341 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
消息都是 2016-07-24
  • 打赏
  • 举报
回复
你们的 9000/input input 的目录是在Hadoop 文件夹下吗。
ShawshankLin 2015-08-31
  • 打赏
  • 举报
回复
请问为什么我放了hadoop.dll还是不行,我单独跑程序没问题,放在tomcat下运行才出现这个问题
徐其飞 2014-12-12
  • 打赏
  • 举报
回复
我也出现了这个问题,按照上述要求做了,可还报错
hqq807027004 2014-11-19
  • 打赏
  • 举报
回复
我的按上面操作了,还是报空指针问题,为什么啊!谁能帮我看看 打包成jar在linux上面是正常的,使用eclipse远程调试就报下面的错 Exception in thread "main" java.lang.NullPointerException at java.lang.ProcessBuilder.start(ProcessBuilder.java:441) at org.apache.hadoop.util.Shell.runCommand(Shell.java:445) at org.apache.hadoop.util.Shell.run(Shell.java:418) at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650) at org.apache.hadoop.util.Shell.execCommand(Shell.java:739) at org.apache.hadoop.util.Shell.execCommand(Shell.java:722) at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:633) at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:421) at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:281) at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125) at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:348) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1282) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556) at org.apache.hadoop.mapreduce.Job.submit(Job.java:1282) at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1303) at com.chinab2bi.partitioner.PMain.main(PMain.java:32)
蓝天688 2014-11-13
  • 打赏
  • 举报
回复
谢谢,问题解决了
幸爷666 2014-08-12
  • 打赏
  • 举报
回复
引用 9 楼 sxd8700 的回复: 同样的错误,楼主解决了没,还有那个winutils.exe是所有集群中的hadoop/bin/都需要放吗 解决了,不要放集群里,就放你eclipse的开发机上的hadoop/bin/ 这个是不是要在本机安装hadoop???,本机没有安装hadoop,直接连的服务器上的,报这个错误。
孤单胖南瓜_ 2014-08-11
  • 打赏
  • 举报
回复
JDK和eclipse都是32位的
孤单胖南瓜_ 2014-08-11
  • 打赏
  • 举报
回复
win7 64位系统
孤单胖南瓜_ 2014-08-11
  • 打赏
  • 举报
回复
引用 14 楼 RUTHDEMON 的回复:
我按照相同的步骤进行操作 还是报org.apache.hadoop.io.nativeio.NativeIO$Windows.access, 操作系统是Win7,把hadoop.dll放到了C:\Windows\system32 以及C:\Windows\SysWOW64. 用Adnistartor权限运行eclipse 还是报同样的错 纠结了
也是遇到同样问题,没人回答吗,为什么eclipse的JNI找不到这个dll
RUTHDEMON 2014-07-14
  • 打赏
  • 举报
回复
我按照相同的步骤进行操作 还是报org.apache.hadoop.io.nativeio.NativeIO$Windows.access, 操作系统是Win7,把hadoop.dll放到了C:\Windows\system32 以及C:\Windows\SysWOW64. 用Adnistartor权限运行eclipse 还是报同样的错 纠结了
  • 打赏
  • 举报
回复
引用 7 楼 mykingbull 的回复:
报NullPointerException的原因:Hadoop 2.2 Windows下eclipse开发hadoop程序会报错,是因为hadoop2.2没有发布winutils.exe造成的,现编译发布出来; 把此文件放到hadoop/bin下,在环境变量中配置 HADOOP_HOME 即可。下载:http://download.csdn.net/detail/wzrain/6773185
此为正解,解决我的空指针异常问题,另缺少hadoop.dll,把这个文件拷贝到C:\\Windows\System32下,重启电脑即可
狂热的土豆 2014-05-27
  • 打赏
  • 举报
回复
引用 9 楼 sxd8700 的回复:
同样的错误,楼主解决了没,还有那个winutils.exe是所有集群中的hadoop/bin/都需要放吗
解决了,不要放集群里,就放你eclipse的开发机上的hadoop/bin/
狂热的土豆 2014-05-27
  • 打赏
  • 举报
回复
引用 10 楼 mykingbull 的回复:
[quote=引用 8 楼 u012760284 的回复:] [quote=引用 7 楼 mykingbull 的回复:] “我在网上查了一下,说是还缺少hadoop.dll文件,我又去下了这个文件放到bin目录下,重启后还是没有解决”
缺少hadoop.dll,把这个文件拷贝到C:\Windows\System32下面即可。[/quote] 终于解决了,谢谢啊,大神
mykingbull 2014-05-22
  • 打赏
  • 举报
回复
引用 8 楼 u012760284 的回复:
[quote=引用 7 楼 mykingbull 的回复:] “我在网上查了一下,说是还缺少hadoop.dll文件,我又去下了这个文件放到bin目录下,重启后还是没有解决”
缺少hadoop.dll,把这个文件拷贝到C:\Windows\System32下面即可。
狂热的土豆 2014-05-21
  • 打赏
  • 举报
回复
引用 7 楼 mykingbull 的回复:
报NullPointerException的原因:Hadoop 2.2 Windows下eclipse开发hadoop程序会报错,是因为hadoop2.2没有发布winutils.exe造成的,现编译发布出来; 把此文件放到hadoop/bin下,在环境变量中配置 HADOOP_HOME 即可。下载:http://download.csdn.net/detail/wzrain/6773185
我后来尝试将winutils.exe放到bin目录下,空指针问题解决了,但是又出现了新的错误 Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z at org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method) at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:435) at org.apache.hadoop.fs.FileUtil.canRead(FileUtil.java:977) at org.apache.hadoop.util.DiskChecker.checkAccessByFileMethods(DiskChecker.java:177) at org.apache.hadoop.util.DiskChecker.checkDirAccess(DiskChecker.java:164) at org.apache.hadoop.util.DiskChecker.checkDir(DiskChecker.java:98) at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.confChanged(LocalDirAllocator.java:285) at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:344) at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:150) at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:131) at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:115) at org.apache.hadoop.mapred.LocalDistributedCacheManager.setup(LocalDistributedCacheManager.java:131) at org.apache.hadoop.mapred.LocalJobRunner$Job.<init>(LocalJobRunner.java:157) at org.apache.hadoop.mapred.LocalJobRunner.submitJob(LocalJobRunner.java:636) at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:430) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) at org.apache.hadoop.mapreduce.Job.submit(Job.java:1265) at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:562) at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:557) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:557) at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:548) at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:833) at test.WordCount.run(WordCount.java:124) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at test.WordCount.main(WordCount.java:129) 我在网上查了一下,说是还缺少hadoop.dll文件,我又去下了这个文件放到bin目录下,重启后还是没有解决
路远兮 2014-05-21
  • 打赏
  • 举报
回复
同样的错误,楼主解决了没,还有那个winutils.exe是所有集群中的hadoop/bin/都需要放吗
mykingbull 2014-05-20
  • 打赏
  • 举报
回复
报NullPointerException的原因:Hadoop 2.2 Windows下eclipse开发hadoop程序会报错,是因为hadoop2.2没有发布winutils.exe造成的,现编译发布出来; 把此文件放到hadoop/bin下,在环境变量中配置 HADOOP_HOME 即可。下载:http://download.csdn.net/detail/wzrain/6773185
wangjinyang_123 2014-03-20
  • 打赏
  • 举报
回复
引用 5 楼 u012760284 的回复:
[quote=引用 4 楼 wangjinyang_123 的回复:] [quote=引用 2 楼 u012760284 的回复:] [quote=引用 1 楼 wangjinyang_123 的回复:] 看你的eclipse能不能连上HDFS
eclipse可以连hdfs,可以查看文件目录、创建目录、上传下载文件[/quote] 参数input和output前应该加hdfs://master:9000 例如 hdfs://master:9000/input/ hdfs://master:9000/user/result[/quote] 试了下还是报一样的错[/quote] Eclipse的hadoop插件只要配置正确应该没有多大问题,你仔细检查一下配置,网上都有配置,你检查一下有没有哪里不对的。看上面的错误应该是你哪里没有配置正确。
狂热的土豆 2014-03-17
  • 打赏
  • 举报
回复
求高手解答啊……
狂热的土豆 2014-03-17
  • 打赏
  • 举报
回复
引用 1 楼 wangjinyang_123 的回复:
看你的eclipse能不能连上HDFS
eclipse可以连hdfs,可以查看文件目录、创建目录、上传下载文件
加载更多回复(3)

20,811

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧