2012-08-28 90 views
0

我正在寫一個Java模塊,我需要使用hdfs URI訪問HDFS文件系統。 將要執行該模塊的用戶可能與啓動namenode和datanode的用戶不同。使用其他用戶名訪問HDFS

此外,Java模塊和hadoop羣集有可能在不同的機器上運行。

我面臨的問題是,當我嘗試使用FileSystem對象訪問hdfs時,用於訪問FS對象的用戶名是運行java模塊的本地用戶。

我的問題是,我們如何通過使用已啓動namenode和datanode實例的相同用戶名來強制訪問HDFS。

我試着設置user.name系統屬性,但即使這樣也行不通。 我在幾個地方閱讀,在我的java模塊正在運行的機器上放置一個whoami的實現,因爲客戶端代碼使用此命令來獲取用戶名。

我想知道是否有其他方法可以實現這一目標?

問候 Sajal

+0

whathaveyoutried.com?你到底在哪裏? – ant

回答