導航:首頁 > 程序命令 > hadoop命令上傳文件

hadoop命令上傳文件

發布時間:2022-08-10 19:36:46

『壹』 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中

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

『叄』 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內部表直接添加文件

方法如下:
1、添加本地文件到hdfs目錄:hadoopfs-put的命令後面的第一個參數是本地路徑,第二個參數是hadoopHDFS上的路徑,意思就是將本地路徑載入到HDFS上。
2、創建文件夾:在hadoop的HDFS上創建文件夾。
3、上面命令在HDFS的tmp目錄下穿件了input文件夾。

『伍』 如何向 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 下載到本地

『陸』 在Hadoop中,使用put命令,在test中生成文件myfile,可以直接創建嗎命令是什麼呢

1. 創建本地的示例數據文件:
依次進入【Home】-【hadoop】-【hadoop-1.2.1】創建一個文件夾file用來存儲本地原始數據。

並在這個目錄下創建2個文件分別命名為【myTest1.txt】和【myTest2.txt】或者你想要的任何文件名。
分別在這2個文件中輸入下列示例語句:

2. 在HDFS上創建輸入文件夾
呼出終端,輸入下面指令:
bin/hadoop fs -mkdir hdfsInput
執行這個命令時可能會提示類似安全的問題,如果提示了,請使用
bin/hadoop dfsadmin -safemode leave
來退出安全模式。
當分布式文件系統處於安全模式的情況下,文件系統中的內容不允許修改也不允許刪除,直到安全模式結 束。安全模式主要是為了系統啟動的時候檢查各個DataNode上數據塊的有效性,同時根據策略必要的復制或者刪除部分數據塊。運行期通過命令也可以進入 安全模式。

意思是在HDFS遠程創建一個輸入目錄,我們以後的文件需要上載到這個目錄裡面才能執行。
3. 上傳本地file中文件到集群的hdfsInput目錄下
在終端依次輸入下面指令:
cd hadoop-1.2.1
bin/hadoop fs -put file/myTest*.txt hdfsInput

4. 運行例子:
在終端輸入下面指令:
bin/hadoop jar hadoop-examples-1.2.1.jar wordcount hdfsInput hdfsOutput
注意,這里的示常式序是1.2.1版本的,可能每個機器有所不一致,那麼請用*通配符代替版本號
bin/hadoop jar hadoop-examples-*.jar wordcount hdfsInput hdfsOutput
應該出現下面結果:

Hadoop命令會啟動一個JVM來運行這個MapRece程序,並自動獲得Hadoop的配置,同時把類的路徑(及其依賴關系)加入到Hadoop的庫中。以上就是Hadoop Job的運行記錄,從這里可以看到,這個Job被賦予了一個ID號:job_201202292213_0002,而且得知輸入文件有兩個(Total input paths to process : 2),同時還可以了解map的輸入輸出記錄(record數及位元組數)

『柒』 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命令上傳文件相關的資料

熱點內容
php取現在時間 瀏覽:246
單片機高吸收 瀏覽:427
怎麼區分五代頭是不是加密噴頭 瀏覽:244
hunt測試伺服器是什麼意思 瀏覽:510
2013程序員考試 瀏覽:641
畢業論文是pdf 瀏覽:736
伺服器跑網心雲劃算嗎 瀏覽:471
單片機定時器計數初值的計算公式 瀏覽:801
win7控制台命令 瀏覽:567
貓咪成年app怎麼升級 瀏覽:692
360有沒有加密軟體 瀏覽:315
清除cisco交換機配置命令 瀏覽:751
華為刪除交換機配置命令 瀏覽:473
shell打包命令 瀏覽:827
加密狗插上輸不了密碼 瀏覽:187
大學單片機相關科目 瀏覽:23
自己建了伺服器地址 瀏覽:698
命令按鈕的屬性設置 瀏覽:965
證券技術分析pdf 瀏覽:779
linux命令連接oracle 瀏覽:202