問題現象
當執行建立檔案的的時候,
即:


報錯:
問題原因
1. 目前使用者是Administrator ,不是hadoop使用者
2. hadoop的預設的hdfs的檔案目錄是有權限的,要建立位置是目錄是用檔案權限的
說明 :
上面的String IR_PATH_1 = "hdfs://host2:9000/user/hadoop/ok"; String IR_PATH_2 = "/ok";
這個這兩個是有差別的,前面的 IR_PATH_1 是要在預設的目錄(hdfs://host2:9000)下的/user/hadoop下進行建立檔案夾,
而他的檔案為:drwxr-xr-x - hadoop supergroup 0 2016-07-18 09:04 /user/hadoo 是使用者使用者hadoop 使用者組supergroup 的檔案夾
後面的一個IR_PATH_2 是在根目錄(hdfs://host2:9000)下進建立進行建立
解決辦法
1. 為了使Eclipse能正常對Hadoop叢集的HDFS上的檔案能進行修改和删除,是以修改你工作時所用的Win7系統管理者名字,預設一般為"Administrator",把它修改為"hadoop",此使用者名與Hadoop叢集普通使用者一緻,大家應該記得我們Hadoop叢集中所有的機器都有一個普通使用者——hadoop,而且Hadoop運作也是用這個使用者進行的。為了不至于為權限苦惱,我們可以修改Win7上系統管理者的姓名,這樣就避免出現該使用者在Hadoop叢集上沒有權限等都疼問題,會導緻在Eclipse中對Hadoop叢集的HDFS建立和删除檔案受影響。
(1)選擇"本地使用者群組",展開"使用者",找到系統管理者"Administrator",修改其為"hadoop",
(2)把電腦進行"登出"或者"重新開機電腦",這樣才能使管理者才能用這個名字。
2.修改hadoop的配置
3.修改權限:(windows使用者Administrator對hadoop目錄并沒有寫入權限)
放開 hadoop 目錄的權限 , 指令如下 :
這樣是可以進行寫入了,但是,這樣建立的檔案夾資訊為:使用者為 Administrator
是Administrator使用者的,不是下面的一個檔案夾類型一樣