运行hadoop程序遇到的一些问题及解决方案
2015-08-24 18:22
465 查看
hadoop版本2.2.0
在安装完hadoop后经常遇到的一些问题有:
1、发现datanode启动不起来
可能原因:格式化namenode后datanode和namenode的版本ID不一致
解决方式:
找到namenode下面的VERSION文件的clusterID、
namespaceID,拷贝到datanode去,路径name/current/VERSION
如果不知道namenode和datanode路径可以去hdfs-site.xml配置文件中找
2、hadoop编程:解决eclipse能运行,打包放到集群上ClassNotFoundException
我遇到了这个问题,网上找到一篇比较详细的解决方案
http://www.aboutyun.com/thread-7086-1-1.html
3、运行mapreduce程序发现错误如下:
15/08/26 23:39:36 INFO mapreduce.Job: Job job_1440646718285_0001 failed with state FAILED due to:
Application application_1440646718285_0001 failed 2 times due to Error launching appattempt_1440646718285_0001_000002. Got exception: org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.
This token is expired. current time is 1440675475888 found 1440647375821
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.apache.hadoop.yarn.api.records.impl.pb.SerializedExceptionPBImpl.instantiateException(SerializedExceptionPBImpl.java:152)
at org.apache.hadoop.yarn.api.records.impl.pb.SerializedExceptionPBImpl.deSerialize(SerializedExceptionPBImpl.java:106)
at org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher.launch(AMLauncher.java:122)
at org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher.run(AMLauncher.java:249)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
. Failing the application.
解决方法:出现这个问题一般是因为hadoop集群中出现了时间不一致问题,同步时间,再运行,ok
4、需注意输出路径必须是不存在的路径,否则程序会报错
map/reduce程序会自己创建输出目录,如果目录已经存在,程序会报错,这个问题对于新手来说很容易犯
5、发现nameNode启动起来了,dataNode也启动起来了但是文件系统没起来
nameNode与DataNode可以互相ssh到,也可以互相ping通,hadoop dfsadmin -report 发现节点没有挂上,在节点上执行hadoop fs 命令发现无法执行,提示:
ls: No Route to Host from hadoop02/10.252.48.153 to hadoop01:8020 failed on socket timeout exception: java.net.NoRouteToHostException:
No route to host; For more details see: http://wiki.apache.org/hadoop/NoRouteToHost
问题原因:防火墙没关,执行service iptables stop 关闭nameNode和dataNode的防火墙后在nameNode上hadoop dfsadmin -refreshNodes 刷新节点即可发现dataNode
在安装完hadoop后经常遇到的一些问题有:
1、发现datanode启动不起来
可能原因:格式化namenode后datanode和namenode的版本ID不一致
解决方式:
找到namenode下面的VERSION文件的clusterID、
namespaceID,拷贝到datanode去,路径name/current/VERSION
如果不知道namenode和datanode路径可以去hdfs-site.xml配置文件中找
2、hadoop编程:解决eclipse能运行,打包放到集群上ClassNotFoundException
我遇到了这个问题,网上找到一篇比较详细的解决方案
http://www.aboutyun.com/thread-7086-1-1.html
3、运行mapreduce程序发现错误如下:
15/08/26 23:39:36 INFO mapreduce.Job: Job job_1440646718285_0001 failed with state FAILED due to:
Application application_1440646718285_0001 failed 2 times due to Error launching appattempt_1440646718285_0001_000002. Got exception: org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.
This token is expired. current time is 1440675475888 found 1440647375821
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.apache.hadoop.yarn.api.records.impl.pb.SerializedExceptionPBImpl.instantiateException(SerializedExceptionPBImpl.java:152)
at org.apache.hadoop.yarn.api.records.impl.pb.SerializedExceptionPBImpl.deSerialize(SerializedExceptionPBImpl.java:106)
at org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher.launch(AMLauncher.java:122)
at org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher.run(AMLauncher.java:249)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
. Failing the application.
解决方法:出现这个问题一般是因为hadoop集群中出现了时间不一致问题,同步时间,再运行,ok
4、需注意输出路径必须是不存在的路径,否则程序会报错
map/reduce程序会自己创建输出目录,如果目录已经存在,程序会报错,这个问题对于新手来说很容易犯
5、发现nameNode启动起来了,dataNode也启动起来了但是文件系统没起来
nameNode与DataNode可以互相ssh到,也可以互相ping通,hadoop dfsadmin -report 发现节点没有挂上,在节点上执行hadoop fs 命令发现无法执行,提示:
ls: No Route to Host from hadoop02/10.252.48.153 to hadoop01:8020 failed on socket timeout exception: java.net.NoRouteToHostException:
No route to host; For more details see: http://wiki.apache.org/hadoop/NoRouteToHost
问题原因:防火墙没关,执行service iptables stop 关闭nameNode和dataNode的防火墙后在nameNode上hadoop dfsadmin -refreshNodes 刷新节点即可发现dataNode
相关文章推荐
- linux bash总结(二) 高级部分(适合初学者学习和非初学者参考)
- 用 Apache 和 Subversion 搭建安全的版本控制环境
- linux vnc服务配置详细教程
- 解决Ubuntu系统中文乱码显示问题
- *高通camera基本代码架构
- Nginx 服务器安装及配置文件详解
- Linux svn直接删除版本库文件
- 读书笔记之linux/unix系统编程手册(25)
- Apache 防DDOS***
- Linux命令梳理和总结
- Tomcat自带log的配置
- REALVNC在linux下的安装与使用
- 新网站如何做SEO优化【转】
- Centos简单搭建SVN服务器三步曲
- Emgu的Image(Of Gray,Byte)转OpenCV的IplImage
- centos下svn和Apache的结合使用
- weblogic-安装-for-linux
- linux常用命令整理 20150823
- 20150823-Bash的基础特性(2)
- 20150823-Bash的基础特性(1)