在 windows 上使用 kettle 链接 hadoop 写文件的时候,默认使用的是本机登陆用户做为文件属主访问 HDFS 文件的,若是目标路径权限不容许,就会报错。windows
一、修改 HDFS 目录权限
使用 HDFS 管理员登陆将相关目录设置为全部人可写,好比 777 权限oop
二、在 kettle 中指定操做 HDFS 的用户
因为 HDFS 的 Java API 访问是经过获取HADOOP_USER_NAME
这个变量来设置用户的,因此能够手动设置该值为 HDFS 上有权限的用户名便可。
1)经过在Spoon.bat
中设置
在set OPT=
这一行后面提添加内容: “-DHADOOP_USER_NAME=yourHdfsUser”spa
2)若是是 Java 代码,能够经过以下方式设置code
System.setProperty("HADOOP_USER_NAME", "yourHdfsUser"); //指定属主
问题:可能建立了文件没有写数据,可能写到linux本地文件路径下,能够按以下设置试试:hadoop