當前位置:首頁 » 文件傳輸 » hadoop上傳文件夾
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

hadoop上傳文件夾

發布時間: 2022-06-22 12:17:24

Ⅰ hadoop上傳文件出錯:java.io.IOException: Mkdirs failed to create /user/hadoop

不了解Hadoop,不過看錯誤是創建文件夾失敗,最好檢查下許可權問題

Ⅱ 在hadoop中使用put上傳文件失敗

它說了文件不存在
這里hadoop沒有關系,是你本地沒有文件
你進到input里,輸入pwd看看絕對路徑是什麼

Ⅲ Hadoop集群以外的機器如何訪問Hadoop集群,進行提交文件,下載文件

集群以外的機器如何訪問Hadoop集群,並像集群中提交作業和傳送數據
(1)首先,在機器上安裝nutch或者hadoop
(2)配置兩個文件
hadoop-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://gc04vm12:9000</value>
<description> </description>
</property>
<property>
<name>mapred.job.tracker</name>
<value>gc04vm12:9001</value>
<description> </description>
</property>
</configuration>
(3)這樣便能執行命令,查看集群狀態,向集群提交作業

(4)hdfs中的用戶
使用root登陸而hadoop中沒有創建root用戶時,使用如下命令時,查看到的就不是nutch用戶主目錄 /user/root了
[root@gc03vm12 nutch-1.0]# bin/hadoop dfs -ls 執行此命令時,即是列出/user/root(root用戶主目錄)目錄下的文件或目錄
ls: Cannot access .: No such file or directory. 沒有此目錄
[root@gc03vm12 nutch-1.0]# bin/hadoop dfs -ls /
Found 3 items
drwxr-xr-x - nutch supergroup 0 2010-05-21 00:42 /tmp
drwxr-xr-x - nutch supergroup 0 2010-05-21 00:53 /user
drwxr-xr-x - nutch supergroup 0 2010-05-21 00:55 /usr 這個是什麼?
[root@gc03vm12 nutch-1.0]# bin/hadoop dfs -mkdir x 主目錄(/user/root)中創建x目錄,提示以下信息
mkdir: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="user":nutch:supergroup:rwxr-xr-x
這是因為root用戶對/user/目錄沒有寫許可權(drwxr-xr-x - nutch supergroup 0 2010-05-21 00:53 /user)

hdfs中的nutch用戶是啟動hadoop集群的這個用戶,當客戶機中也存在nutch用戶時,登陸後訪問hdfs時,進入的是home目錄(/user/nutch)。
hdfs中文件和目錄的許可權類似linux,可以修改其許可權,改變其所屬組
nutch用戶格式化namenode,啟動hadoop集群(會用到nutch用戶的公鑰信息,ssh配置)後,執行命令,
[nutch@gc03vm12 nutch-1.0]# bin/hadoop dfs -ls 執行此命令時,即是列出/user/nutch(nutch用戶主目錄)目錄下的文件或目錄
ls: Cannot access .: No such file or directory.
因為沒有/user/nutch目錄,所以不能訪問,而此時若創建一個文件,如使用以下命令
[nutch@gc03vm12 nutch-1.0]# bin/hadoop dfs -mkdir x 則可以順利執行,此時它將創建/user/nutch/x目錄。
而使用root用戶不行,是因為 root用戶對/user/目錄沒有寫許可權。
那麼如何創建一個root用戶呢,可以這樣做
超級用戶nutch在hdfs中創建目錄/user/root,即 bin/hadoop dfs -mkdir /user/root
更改/user/root目錄所屬用戶和組, bin/hadoop dfs -chown -R root:root /user/root (若此處沒有指定組,則默認root屬於supergroup組, bin/hadoop dfs -chown -R root /user/root)
這樣就相當於在hdfs中創建了用戶root,組root;
用戶許可權和Linux類似,nutch是超級用戶。
例如nutch在root的home目錄下創建目錄s,則s的許可權如下,屬於nutch,組是root
drwxr-xr-x - nutch root 0 2010-05-21 04:41 /user/root/s
root用戶此時就不能寫s目錄了
[root@gc04vm14 nutch-1.0]# bin/hadoop dfs -mkdir s/x
mkdir: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="s":nutch:root:rwxr-xr-x

root用戶屬於root組,並且執行作業,會提示錯誤,如下
[root@gc03vm12 nutch-1.0]# bin/nutch crawl /user/nutch/urls -dir data2 -depth 5 -topN 8
提示如下錯誤
org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="tmp":nutch:supergroup:rwxr-xr-x
這是因為root用戶對/tmp目錄(hdfs目錄)沒有寫許可權,因為作業執行時,會在/tmp目錄下生成相應的job文件,
/tmp的許可權如下:
drwxr-xr-x - nutch supergroup 0 2010-05-21 00:42 /tmp
因此非超級用戶提交作業時,用戶問題是一個很麻煩的問題
註:
hadoop有些命令只能在namenode上執行

Ⅳ hadoop實驗如果上傳的是130M的文件,會放在幾個塊中

這個要看你用的hadoop版本,要是沒記錯2.7.2之前默認一個塊是64MB,同時默認副本是3個,所以130M會存放在9個塊中,如果是2.7.2之後,默認一個塊是128MB,默認副本數依然是3個,所以130M會放在6個塊中。可以看到hdfs上最害怕的就是存放小文件,會很浪費空間,1k的文件也會佔用一個塊。

Ⅳ 如何遠程上傳文件到hadoop中

全用以下命令上傳文件到Hadoop上:
hadoop
fs
-put
local_file_name
/user/hadoop/其中,/user/hadoop/為HDFS上的路徑。local_file_name為需要上傳的文件名。

Ⅵ 我用linux搭建hadoop集群,在本地我用eclipse向節點上傳文件,請問上傳的文件在節點的什麼位置

你可以先刷新一下再看看,另外實在不行,可以用HDFS的命令,在你的線上的HDFS里找找,命令大概是hadoop fs -ls /(看根目錄下的文件/文件夾,hadoop dfs -ls /也可以),這樣你就可以看到當前的HDFS里的文件夾或者文件,再依次找找你看得見的路徑。一般是可以看見的。

Ⅶ hadoop單詞統計上傳不了

原因可能是在我啟動dfs和yarn服務之後由於我經常格式化導致的,致使我的slave01和slave02裡面的hadoop/hdfs/data/current/VERSION文件里的clusterID與master中不一致,並且輸入jps命令,我的slave01和slave02的datanode未啟動的。解決辦法:將slave01和slave02里的hadoop/hdfs/data這個文件夾刪掉,然後新建一個data文件,再在bin路徑下格式化一下,最後重啟dfs和yarn服務即可。

Ⅷ hadoop使用put上傳文件出錯

先看看 /user/xxx目錄的許可權:drwxr-xr-x - hdfs supergroup 表示它屬於hdfs用戶,組名為 supergroup
因此需要使用 sudo -u hdfs hadoop fs -put localfile /user/xxx 來指定使用 hdfs 用戶來執行上傳命令。參考

當高興地執行sudo -u hdfs hadoop fs -put localfile /user/xxx 以為能成功上傳時,又報錯:
put: localfile No such file or directory 說找不到本地文件localfile,可是用 ls 明明 能看到 localfile ,後來在一篇文章(參考)中發現發來是lcoalfile的許可權問題。

Ⅸ 如何向 hadoop 導入數據

1.2
使用Hadoop
shell命令導入和導出數據到HDFS
實驗准備
實例需要用到的數據-weblog_entries.txt
在namenode創建2個文件夾用來存放實驗用的數據
mkdir
/home/data
1
mkdir
/home/data_download1
將weblog_entries.txt上傳到namenode里的/home/data文件夾(我使用SecureFXPortable.exe
工具)
註:以下命令都是在namenode節點運行的
實驗過程
1.在HDFS中創建一個新的文件夾,用於保存weblog_entries.txt
hadoop
fs
-mkdir
/data/weblogs1
2.將weblog_entries.txt文件從本地文件系統復制到HDFS剛創建的新文件夾下
cd
/home/data1
hadoop
fs
-FromLocal
weblog_entries.txt
/data/weblogs1
3.列出HDFS上weblog_entries.txt文件的信息:
hadoop
fs
–ls
/data/weblogs/weblog_entries.txt
1
4.將HDFS上的weblog_entries.txt文件復制到本地系統的當前文件夾下
cd
/home/data_download1
hadoop
fs
-ToLocal
/data/weblogs/weblog_entries.txt
./weblog_entries.txt
1
最後用
ls
命令檢驗下時候將weblog_entries.txt
下載到本地