2
我創建了一個零字節文件與特定的所有者和權限600如何複製到HDFS文件並仍保留權限?
-rw------- 3 cloudera hdfs 56 2014-04-01 18:47 Data/input/test.dat
cloudera:/home/cloudera
當我試圖運行通過API副本,我看到它翻轉權限從600到644如何我是否保留許可?任何幫助將不勝感激。
副本
***>hadoop fs -ls Data/input/
Found 1 items
-rw------- 3 cloudera cloudera 10 2014-04-01 19:54 Data/input/test.dat
之前
後複製
***>hadoop fs -ls Data/input/
Found 1 items
-rw-r--r-- 3 cloudera cloudera 10 2014-04-01 19:55 Data/input/test.dat
腳本,我已經運行
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class FilePerm{
public static void main(String[] args) throws IOException{
Path src = new Path("/home/cloudera/input1.dat");
Path tgt = new Path("Data/input/test.dat");
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
System.out.println(fs.getConf().get("dfs.support.append"));
fs.copyFromLocalFile(src, tgt);
System.out.println("Completed copy");
}
}
要添加, src是本地UNIX文件系統上的文件,tgt是HDFS上的文件。
感謝您的回覆。我試圖查看選項將hdfs文件鎖定到hdfs上的用戶或組(640),而我試圖將它們從本地複製到HDFS。 目前,copyFromLocalFile在執行命令期間給予權限。我可以在使用api複製副本後切換權限和所有者,但我不希望HDFS上的任何其他用戶偶爾看到我的文件。 – user3315248
嘗試上傳到只有您有權訪問的目錄。 – blueberryfields
我可以上傳到任何目錄。問題是我想限制其他用戶在複製過程中使用它。 – user3315248