HBASE的MAPREDUCE任务运行异常解决办法,无需CYGWIN,纯WINDOWS环境
2013-03-23 13:08
405 查看
转自:http://www.blogjava.net/paulwong/archive/2012/10/03/388977.html
如果是在WINDOWS的ECLIPSE中,运行HBASE的MAPREDUCE,会出现异常,这是由于默认运行MAPREDUCE任务是在本地运行,而由于会建立文件赋权限是按照UNIX的方式进行,因此会报错:
java.lang.RuntimeException: Error while running command to get file permissions : java.io.IOException: Cannot run program "ls": CreateProcess error=2,
解决办法是将任务发到运程主机,通常是LINUX上运行,在hbase-site.xml中加入:
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
同时需把HDFS的权限机制关掉:
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
另外由于是在远程上执行任务,自定义的类文件,如Maper/Reducer等需打包成jar文件上传,具体见方案:
Hadoop作业提交分析(五)/article/5682732.html
研究了好几天,终于搞清楚,CONFIGUARATION就是JOB的配置信息,远程JOBTRACKER就是以此为参数构建JOB去执行,由于远程主机并没有自定义的MAPREDUCE类,需打成JAR包后,上传到主机处,但无需每次都手动传,可以代码设置:
conf.set("tmpjars", "d:/aaa.jar");
另注意,如果在WINDOWS系统中,文件分隔号是“;”,生成的JAR包信息是以“;”间隔的,在远程主机的LINUX上是无法辨别,需改为:
System.setProperty("path.separator", ":");
参考文章:
/article/4874022.html
使用hadoop eclipse plugin提交Job并添加多个第三方jar(完美版)
/article/3880017.html
如果是在WINDOWS的ECLIPSE中,运行HBASE的MAPREDUCE,会出现异常,这是由于默认运行MAPREDUCE任务是在本地运行,而由于会建立文件赋权限是按照UNIX的方式进行,因此会报错:
java.lang.RuntimeException: Error while running command to get file permissions : java.io.IOException: Cannot run program "ls": CreateProcess error=2,
解决办法是将任务发到运程主机,通常是LINUX上运行,在hbase-site.xml中加入:
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
同时需把HDFS的权限机制关掉:
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
另外由于是在远程上执行任务,自定义的类文件,如Maper/Reducer等需打包成jar文件上传,具体见方案:
Hadoop作业提交分析(五)/article/5682732.html
研究了好几天,终于搞清楚,CONFIGUARATION就是JOB的配置信息,远程JOBTRACKER就是以此为参数构建JOB去执行,由于远程主机并没有自定义的MAPREDUCE类,需打成JAR包后,上传到主机处,但无需每次都手动传,可以代码设置:
conf.set("tmpjars", "d:/aaa.jar");
另注意,如果在WINDOWS系统中,文件分隔号是“;”,生成的JAR包信息是以“;”间隔的,在远程主机的LINUX上是无法辨别,需改为:
System.setProperty("path.separator", ":");
参考文章:
/article/4874022.html
使用hadoop eclipse plugin提交Job并添加多个第三方jar(完美版)
/article/3880017.html
相关文章推荐
- Windows系统设置环境变量后无需重启系统即可让变量生效的解决办法
- Windows下Cygwin环境的Hadoop安装(3)- 运行hadoop中的wordcount实例遇到的问题和解决方法
- Windows系统设置环境变量后无需重启系统即可让变量生效的解决办法
- 运行HBase应用开发程序产生异常,提示信息包含org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory的解决办法
- Could not locate executable null 解决办法【在windows环境下开发hadoop2.4.1或者hadoop2.5.2的mapreduce,执行job遇到的一些错误】
- Windows下Cygwin环境的Hadoop安装(3)- 运行hadoop中的wordcount实例遇到的问题和解决方法
- Windows下Cygwin环境的Hadoop安装(3)- 运行hadoop中的wordcount实例遇到的问题和解决方法
- hadoop-2.5.2本地测试环境下(利用java多线程模拟),提交MapReduce任务时出现的错误及解决办法
- windows环境下Eclipse开发MapReduce程序遇到的四个问题及解决办法
- Windows下通过Cygwin搭建Hadoop 1.0.4 运行环境
- Unrecognized Windows Sockets error: 0: JVM_Bind 异常解决办法
- 当碰到非ARC写的文件时在ARC环境下运行报错时解决办法
- 解决办法---cygwin下编译的*.exe文件,在windows下,一闪而过
- Android开发异常篇:运行工程出现:Connection with adb was interrupted错误提示以及解决办法
- eclipse hadoop windows 运行wordcount程序,上传文件内容为空的原因及解决办法
- react-native学习(RN)--之Window环境下搭建环境配置,以及初始化建立react-native项目,(真机和模拟器运行的相关错误解决办法,android打包报错)
- Windows下,运行tomcat9w.exe出现unable to open the service tomcat9问题解决办法。
- web运行异常 端口占用 进程查询80端口、8080端口被占用的解决办法
- Sublimetext (for windows)编译运行c出现Error 2错误的解决办法
- 使用Gevent程序正常运行出现这个异常KeyError(155880780,) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored解决办法