出现如下错误
Permission denied: user=admin, access=WRITE, inode="/hadoop/input":hadoop:supergroup:drwx
出现这种错误的原因是因为文件夹没有权限
用如下命令修改文件夹访问权限
hadoop fs -chmod 777 /hadoop/inout
随后即可完成
这个方法不推荐
其他解决方法
1.在代码提交的时候指定用户如下
2.在代码中指定用户
方式1
System.setProperty("HADOOP_USER_NAME", "hadoop");
方式2
FileSystem fs=FileSystem.get(new URI("hdfs://master:9000"), conf, "hadoop");
注意:通过代码上传的都是使用的默认配置文件Replication数量为3与从集群上传的数量2不同
默认加载的配置文件是当前工程下的hadoop-hdfs-2.7.6.jar包里的hdfs-deafult.xml这个文件
默认加载以下四个
hdfs-deafult.xml
mapred-deafult.xml
yarn-deafult.xml
core-deafult.xml
如果想要加载自己的配置文件则需要将集群中的配置文件拷贝到工程的src下面即可使用自己的配置
此方法为自动识别,只能自动识别8个文件
如果不在src目录下面则需要通过 conf.addResource(".....") 进行手动添加
配置文件加载顺序
1.jar->2.src下的->3.代码中的
生效顺序3->2->1