導航:首頁 > 程序命令 > hdfs命令

hdfs命令

發布時間:2022-02-01 09:34:55

『壹』 如何進入hdfs模式 使用hadoop distcp命令

hadoop有提供相應的腳本去驗證文件目錄是否存在的:-bash-3.2$hadoopfs-help-test-[defsz]:Answervariousquestionsabout,withresultviaexitstatus.-dreturn0ifisadirectory.-ereturn0ifexists.-freturn0ifisafile.-.-.else,return1.

『貳』 hadoop中在HDFS中創建一個input目錄,然後hadoop fs -ls命令

你創建input目錄的時候是不是也用了sudo命令?這樣的話就是使用了root用戶來創建了input,所以生成的是user/root/input,而不是用了hadoop這個用戶創的目錄,所以沒有生成/user/hadoop/input。hadoop的指令都不需要用sudo來使用root許可權啊,

『叄』 怎麼用命令行刪除hdfs上的文件

命令:hadoop fs -rmr /home/mm/lily2(要求是你把hadoop的bin加到PATH中,並開啟hadoop)

rm -rf /home/mm/lily2(這是刪除linux文件系統的文件夾)。
刪除目錄
rd /s /q "c:\hello"
rem 加引號可以防止因路徑中有空格而出錯
rem 上面的代碼意為:刪除c:\hello目錄下所有的內容(包括"c:\hello")
刪除文件
del /f /q /s "c:\hello\*.*"
rem 刪除c;\hello文件夾下所有的文件,包括子文件夾的內容,(不包括子文件夾,也不包括c:\hello文件夾)
rem 文件夾=目錄

『肆』 如何用命令取hdfs-site.xml的值

<!--Thu Aug 15 20:47:13 2013-->
<configuration>
<property>
<name>dfs.cluster.administrators</name>
<value> hdfs</value>
<!-- HDFS 超級管理員用戶 -->
</property>
<property>
<name>dfs.block.access.token.enable</name>
<value>true</value>
<!-- 是否開啟 token 訪問驗證 -->
</property>
<property>
<name>dfs.datanode.failed.volumes.tolerated</name>
<value>0</value>
<!-- 能夠導致DN掛掉的壞硬碟最大數,默認0就是只要有1個硬碟壞了,DN就會shutdown -->
</property>
<property>
<name>dfs.replication.max</name>
<value>50</value>
<!-- 有時dn臨時故障恢復後會導致數據超過默認備份數。復制份數的最多數,通常沒什麼用,可以不用寫配置文件里。 -->
</property>
<property>
<name>dfs.datanode..reserved</name>
<value>1073741824</value>
<!-- 每塊磁碟所保留的空間大小,需要設置一些,主要是給非hdfs文件使用,默認是不保留,0位元組 -->
</property>
<property>
<name>dfs.blockreport.initialDelay</name>
<value>120</value>
<!-- 推遲第一個 block報告在幾秒鍾內 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hdfs/dn</value>
<!-- 真正的datanode數據保存路徑,可以寫多塊硬碟,逗號分隔.把這些位置分散在每個節點上的所有磁碟上可以實現磁碟 I/O 平衡,因此會顯著改進磁碟 I/O 性能。 -->
</property>
<property>
<name>dfs.client.read.shortcircuit</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>4096</value>
<!-- 指定datanode的最大數量的線程用於傳輸數據。默認 4096 -->
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop01:50070</value>
<!--namenode web UI-->
</property>
<property>
<name>dfs.client.read.shortcircuit.streams.cache.size</name>
<value>4096</value>
<!-- 在客戶端讀取前會創建一個FileinputStreamCache,就是由前兩個參數控制大小和過期時間,
dfs.client.read.shortcircuit.streams.cache.size和dfs.client.read.shortcircuit.streams.cache.expiry.ms -->
</property>
<property>
<name>dfs.namenode.avoid.write.stale.datanode</name>
<value>true</value>
<!-- 表明是否要避免寫為「過時」的心跳消息尚未收到的NameNode超過指定的時間間隔數據節點。寫操作將避免使用陳舊的數據節點,除非多數據節點的配置比例
(dfs.namenode.write.stale.datanode.ratio)被標記為失效。見dfs.namenode.avoid.read.stale.datanode為讀取一個類似的設置。 -->
</property>
<property>
<name>dfs.namenode.avoid.read.stale.datanode</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.stale.datanode.interval</name>
<value>30000</value>
<!-- 默認時間間隔一個datanode標記為「down機」,即。 ,如果 namenode沒有接到一個datanode心跳超過這個時間間隔,datanode將標記為「過期」。 過期的間隔不能太小 (默認值是3倍 心跳間隔)-->
<!--dfs.client.read.shortcircuit.streams.cache.size和dfs.client.read.shortcircuit.streams.cache.expiry.ms
以及dfs.client.read.shortcircuit.skip.checksum和dfs.client.read.shortcircuit.buffer.size.其中,
在客戶端讀取前會創建一個FileinputStreamCache,就是由前兩個參數控制大小和過期時間的,其中key就是Datanode+block;
後兩個參數就是決定是否跳過校驗以及校驗的塊大小.-->
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>true</value>
<!-- 在HDFS中啟用許可權檢查 TRUE|FALSE。-->
</property>
<property>
<name>dfs.datanode.ipc.address</name>
<value>0.0.0.0:8010</value>
<!--DN的IPC監聽埠,寫0的話監聽在隨機埠通過心跳傳輸給NN -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hdfs/nn</value>
<!-- NN所使用的元數據保存,一般建議在nfs上保留一份,作為1.0的HA方案使用,也可以在一台伺服器的多塊硬碟上使用 -->
</property>
<property>
<name>dfs.journalnode.http-address</name>
<value>0.0.0.0:8480</value>
<!-- JournalNode web UI監聽。 如果埠是0,那麼伺服器將啟動將自定義埠。 -->
</property>
<property>
<name>dfs.heartbeat.interval</name>
<value>3</value>
<!-- DN的心跳檢測時間間隔 3 秒 -->
</property>
<property>
<name>dfs.datanode.data.dir.perm</name>
<value>750</value>
<!-- datanode所使用的本地文件夾的路徑許可權,默認755 -->
</property>
<property>
<name>fs.permissions.umask-mode</name>
<value>022</value>
<!-- 創建文件和目錄使用umask值。 -->
</property>
<property>
<name>dfs.datanode.balance.bandwidthPerSec</name>
<value>6250000</value>
<!-- 每個datanode指定的最大數量的帶寬,每秒的位元組數。-->
</property>
<property>
<name>dfs.namenode.accesstime.precision</name>
<value>0</value>
<!-- HDFS文件的訪問時間精確值。 默認值是1小時。 設置的值為0禁用HDFS的訪問時間。-->
</property>
<property>
<name>dfs.namenode.write.stale.datanode.ratio</name>
<value>1.0f</value>
<!-- 當總datanodes陳舊datanodes數量的比率明顯 超過這個比例,停止避免寫入失效節點,防止出現問題。-->
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
<!-- secondary namenode 節點存儲 checkpoint 文件目錄-->
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/grid/0/hdfs/journal</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>134217728</value>
<!-- 2.X 版本默認值:134217728 說明: 這個就是hdfs里一個文件塊的大小了,默認128M;太大的話會有較少map同時計算,
太小的話也浪費可用map個數資源,而且文件太小namenode就浪費內存多。對於較大集群,可設為256MB,根據需要進行設置。-->
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
<!-- hdfs數據塊的復制份數,默認3,理論上份數越多跑數速度越快,但是需要的存儲空間也更多。有錢人可以調5或者6 -->
</property>
<property>
<name>dfs.block.local-path-access.user</name>
<value>hbase</value>
</property>
<property>
<name>dfs.datanode.address</name>
<value>0.0.0.0:50010</value>
<!-- DN的服務監聽埠,埠為0的話會隨機監聽埠,通過心跳通知NN -->
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:50075</value>
<!-- DN的tracker頁面監聽地址和埠 -->
</property>
<property>
<name>dfs.https.namenode.https-address</name>
<value>c6401.ambari.apache.org:50470</value>
<!-- NN的HTTPS的tracker頁面監聽地址和埠 -->
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
<!-- 使WebHDFS Namenodes和Datanodes(REST API)。-->
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
<!--NN啟動後展開的線程數。-->
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop02:50090</value>
<!-- secondary name node web 監聽埠 -->
</property>
<property>
<name>dfs.permissions.superusergroup</name>
<value>hdfs</value>
</property>
<property>
<name>dfs.namenode.safemode.threshold-pct</name>
<value>1.0f</value>
</property>
<property>
<name>dfs.domain.socket.path</name>
<value>/var/lib/hadoop-hdfs/dn_socket</value>
</property>
</configuration>

『伍』 何時使用hadoop fs,hadoop dfs與hdfs dfs命令

hadoop hdfs dfs基本操作
本文主要參考:
http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/FileSystemShell.html

根據上面官方文檔的提示我們能夠知道可以通過shell的方式訪問hdfs中的數據,對數據進行操作。那麼首先讓我們看一下hdfs的版本,使用命令hdfs version。
好,下面上貨:
1、查詢
使用命令:
hdfs dfs -ls / 這條執行會列出/目錄下的文件和目錄
hdfs dfs -ls -R /這條會列出/目錄下的左右文件,由於有-R參數,會在文件夾和子文件夾下執行ls操作。
2、添加文件夾
使用命令;
hdfs dfs -mkdir -p /xytest/testdata001/
這里需要注意的是,root用戶是否擁有hdfs 的許可權,如果有,我們可以繼續操作,如果沒有,我們可以直接使用hdfs用戶,默認安裝完cdh後,用戶hdfs擁有所有的許可權。如果對於許可權有不明白的,推薦看一下我的另一篇文章:
http://blog.csdn.net/wild46cat/article/details/69664376

3、增加文件
使用命令:
hdfs dfs -FromLocal ~/123.txt /xytest/testdata001/
4、查看hdfs文件中的內容
使用命令:
hdfs dfs -cat /xytest/testdata001/123.txt
或者,可以把hdfs中的文件到本地
使用命令:
hdfs dfs -ToLocal /xytest/testdata001/123.txt ~/222.txt
5、刪除文件
使用命令:
hdfs dfs -rm -f /xytest/testdata001/123.txt
6、刪除文件夾
使用命令:
hdfs dfs -rm -r /xytest/testdata001

『陸』 hadoop常用shell命令怎麼用

一、常用的hadoop命令
1、hadoop的fs命令
#查看hadoop所有的fs命令

1

hadoop fs

#上傳文件(put與FromLocal都是上傳命令)

1
2

hadoop fs -put jdk-7u55-linux-i586.tar.gz hdfs://hucc01:9000/jdk
hadoop fs -FromLocal jdk-7u55-linux-i586.tar.gz hdfs://hucc01:9000/jdk

#下載命令(get與ToLocal都是下載命令)

1
2

hadoop fs -get hdfs://hucc01:9000/jdk jdk1.7
hadoop fs -ToLocal hdfs://hucc01:9000/jdk jdk1.7

#將本地一個或者多個文件追加到hdfs文件中(appendToFile)

1

hadoop fs -appendToFile install.log /words

#查詢hdfs的所有文件(ls)

1

hadoop fs -ls /

#幫助命令(help)

1

hadoop fs -help fs

#查看hdfs文件的內容(cat和text)

1
2

hadoop fs -cat /words
hadoop fs -text /words

#刪除hdfs文件(rm)

1

hadoop fs -rm -r /words

#統計hdfs文件和文件夾的數量(count)

1

hadoop fs -count -r /

#合並hdfs某個文件夾的文件,並且下載到本地(getmerge)

1

hadoop fs -getmerge / merge

#將本地文件剪切到hdfs,相當於對本地文件上傳後再刪除(moveFormLocal)

1

hadoop fs -moveFromLocal words /

#查看當前文件系統的使用狀態(df)

1

hadoop fs -df

二、常用的hdfs命令(這個用的比較多)
用法跟hadoop命令一樣,推薦2.0之後使用hdfs命令

1

hdfs dfs

『柒』 hadoop操作命令記錄在哪

Hadoop自身是否有記錄不清楚,但Hadoop是部署在linux上的,可以通過linux的歷史命令查看。
1、history
2、fc -l
可以用grep過濾,例如:
history | grep 'hadoop'
或history | grep 'hdfs'

『捌』 與HDFS命令交互時如何指定文件和目錄確切位

在集群模式下,如果與集群的HDFS交互時,必須指定URI中的scheme、authority、path,三個配置均不能省略。我們可以查看主節點的etc/hadoop/core-site.xml配置文件,查看fs.defaultFS屬性

<property><name>fs.defaultFS</name><value>hdfs://hadoop-master-vm:9000</value></property>

同樣以Hadoop的cat命令為例來顯示example.txt文件內容:hadoop fs -cat hdfs://hadoop-master-vm:9000/user/hadoop/example.txt

『玖』 如何在linux腳本中執行hdfs命令

首先腳本需要有執行許可權
chmod u+x file.sh
執行腳本有三種方法:
1. ./file.sh
特點:開啟bash子進程來執行,也就是開啟額外的進程來進行,不影響原進程的變數、配置等
2. bash file.sh
特點:和./file.sh相同
3. source file.sh 或者 . file.sh
特點:在原bash進程中執行腳本。

第三種方法主要用於在腳本中切換用戶su、切換目錄cd等命令。
source 和 . 命令是相同的。
你可以搜索 source

『拾』 hadoop中命令經常含有-fs,-dfs,fs和dfs有什麼區別作用是什麼

You can see definitions of the two commands (hadoop fs & hadoop dfs) in
可以看一下hadoop的源代碼

$HADOOP_HOME/bin/hadoop
...elif [ "$COMMAND" = "datanode" ] ; then CLASS='org.apache.hadoop.hdfs.server.datanode.DataNode' HADOOP_OPTS="$HADOOP_OPTS $HADOOP_DATANODE_OPTS"elif [ "$COMMAND" = "fs" ] ; then CLASS=org.apache.hadoop.fs.FsShell HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"elif [ "$COMMAND" = "dfs" ] ; then CLASS=org.apache.hadoop.fs.FsShell HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"elif [ "$COMMAND" = "dfsadmin" ] ; then CLASS=org.apache.hadoop.hdfs.tools.DFSAdmin HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"...
So, they are exactly the same.
所以,發現兩者是完全一樣的功能。

謝謝

閱讀全文

與hdfs命令相關的資料

熱點內容
微商授權查詢系統源碼 瀏覽:980
安卓什麼情況沒法建立新工程 瀏覽:219
氣球解壓社區活動 瀏覽:924
話費會員充值源碼 瀏覽:319
郵件接收伺服器叫什麼 瀏覽:529
代理伺服器被限制怎麼辦 瀏覽:234
atompython環境變數 瀏覽:911
記錄程序員 瀏覽:996
javabbs源代碼 瀏覽:231
文件夾命名帶什麼符 瀏覽:966
黑馬程序員全棧 瀏覽:225
萍鄉溯源碼魚膠零售 瀏覽:440
倖存者pdf 瀏覽:556
中國人壽保險app怎麼變更銀行卡號 瀏覽:118
node服務啟動命令 瀏覽:548
自編寶塔線源碼 瀏覽:139
電腦桌面解壓視頻教程 瀏覽:846
安卓手機玩三國戰略為什麼會卡 瀏覽:536
浪潮伺服器怎麼進入啟動項 瀏覽:156
華為當前手機壁紙放在哪個文件夾 瀏覽:446