在 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