问题1:在DFS Lcation 上不能对文件进行操作:

解决方法:

在hadoop上的每个节点上修改该文件 conf/mapred-site.xml,增加:

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

关闭权限验证

问题2:控制台输出出现下面警告:

log4j:WARN No appenders could be foundfor logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).

log4j:WARN Please initialize the log4jsystem properly.

log4j:WARN Seehttp://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

解决方法:

在src文件夹下创建以log4j.properties命名的文件,文件内容如下:

log4j.rootLogger=WARN, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d%p [%c] - %m%n

问题3:java.io.IOException: Could not locateexecutable null/bin/winutils.exe in the Hadoop binaries.

解决方法:

在hadoop安装目录下的bin目录里缺少winutils.exe 下载一个添加进去就行,下载地址:hadoop.dll等插件,里面包括了2.4版本之前和之后的。

下载地址 http://download.csdn.net/detail/u010911997/8478049

问题4:Exceptionin thread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V

解决方法:

这是由于hadoop.dll 版本问题,2.4之前的和自后的需要的不一样, 需要选择正确的版本并且在 Hadoop/bin和 C:\windows\system32 上将其替换。

问题5:

Exception in thread "main"java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)

at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:557)

目前未找到解决方法,只能修改源代码,下载hadoop安装文件对应版本的源代码src,比如我安装的hadoop-2.5.0-cdh5.3.0版本,那么下载hadoop-2.5.0-cdh5.3.0-src,解压缩之后,按照下面目录找到NativeIO.java类:

hadoop-2.5.0-cdh5.3.0-src\hadoop-2.5.0-cdh5.3.0\hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\io\nativeio

将源代码放入 工程的src目录下并创建同样的包名,然后修改源代码。

源代码未修改前:

 publicstaticbooleanaccess(String path, AccessRight desiredAccess)
throws IOException {
return access0(path,desiredAccess.accessRight());
}

源代码修改后:

public staticbooleanaccess(String path, AccessRight desiredAccess)
throws IOException {
return ture;
// return access0(path,desiredAccess.accessRight());
}

修改后编译成功,但是看不到软件运行时候的信息反馈。

最新文章

  1. (总结)Oracle 11g常用管理命令(用户、表空间、权限)
  2. Android模拟器Genymotion如何访问本地服务器?
  3. svn 忽略文件不管用
  4. 手把手系列:实现Nat地址转换
  5. vs2015手动安装xamarin
  6. library not found for -lPods 的解决办法
  7. filter的执行顺序
  8. Java运行系统命令并获取值(Process java.lang.Runtime.exec(String[] cmdarray, String[] envp, File dir)
  9. Spring+Quartz 整合一:常规整合
  10. 轻松学习Ionic (二) 为Android项目集成Crosswalk(更新官方命令行工具)
  11. Qt树形控件QTreeView使用1——节点的添加删除操作 复选框的设置
  12. jQuery的事件和动画
  13. Swift -&gt; Optional嵌套 探讨
  14. .net判断System.Data.DataRow中是否包含某列
  15. Docker基础入门及示例
  16. String的split()方法可以将字符串按照特定的分隔符拆分成字符串数组
  17. SCOI 2015 Day1 简要题解
  18. Python&#160;基于python操纵redis入门介绍
  19. 20155217 《信息安全系统设计基础》week16课堂测试
  20. Java Socket Timeout 总结

热门文章

  1. mycat1.5~1.6的一个bug
  2. JS去除数组中重复值的四种方法
  3. 忘记linux root密码怎么办?
  4. 第一个leapmotion的小游戏
  5. Spark Standalone运行过程
  6. spring多数据源配置
  7. SNV ConnerStore使用说明
  8. Ha ha lou!
  9. 一次失败的面试——IBM电话面试
  10. Framework 类库的事件编程