第一次运行hadoop自带实例wordcount,hadoop目录下运行hadoop-examples-1.1.2.jar wordcount data-in data-out报错:Exception in thread "main" java.io.IOException: Permission denied。了解到正确写法是hadoop目录下运行hadoop jar hadoop-examples-1.1.2.jar wordcount data-in data-out。然后运行报错:
Exception in thread "main" java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(File.java:1704)
at java.io.File.createTempFile(File.java:1792)...
原因是org.apache.hadoop.util.RunJar.main 需要创建临时文件用以保存JOB信息都数据.
解决方法:修改用户对于hadoop配置文件core-site.xml中的hadoop.tmp.dir目录的权限,
在/usr/local/hadoop(hadoop.tmp.dir的路径)目录下使用sudo chmod a+w tmp命令(给所有用户(a)加上写权限,给文件所有者(u)加上执行权限)。