kettle 大數據插件操做相關問題

1、hadoop 沒有權限的解決方案

原文:http://kcd.nivalsoul.cn/article/1545533237270linux

問題

在 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"); //指定屬主

2、Linux上執行hdfs文件輸出路徑不正確

問題:可能建立了文件沒有寫數據,可能寫到linux本地文件路徑下,能夠按以下設置試試:hadoop

在spoon.sh下修改參數 opt字符串裏增長   -Dpentaho.karaf.root.transient=true
相關文章
相關標籤/搜索