簡述hadoop安裝步驟
安裝步驟:
1、安裝虛擬機系統,並進行准備工作(可安裝- 一個然后克隆)
2.修改各個虛擬機的hostname和host
3.創建用戶組和用戶
4、配置虛擬機網絡,使虛擬機系統之間以及和host主機之間可以通過
相互ping通。
5.安裝jdk和配置環境變量,檢查是否配置成功
6、配置ssh,實現節點間的無密碼登錄ssh node1/2指令驗證時候成
功
7、master 配置hadoop,並將hadoop文件傳輸到node節點
8、配置環境變量,並啟動hadoop, 檢查是否安裝成功,執行wordcou
nt檢查是否成功。
二.HDFS作用是什么
Hadoop分布式文件系統(HDFS)是指被設計成適合運行在通用硬件(commodity hardware)上的分布式文件系統(Distributed File System)。它和現有的分布式文件系統有很多共同點。但同時,它和其他的分布式文件系統的區別也是很明顯的。HDFS是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用。HDFS放寬了一部分POSIX約束,來實現流式讀取文件系統數據的目的。HDFS在最開始是作為Apache Nutch搜索引擎項目的基礎架構而開發的。HDFS是Apache Hadoop Core項目的一部分。
HDFS有着高容錯性(fault-tolerant)的特點,並且設計用來部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有着超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以實現流的形式訪問(streaming access)文件系統中的數據。
三.常用的Hadoop FS Shell命令有哪些及其作用
1.調用Hadoop的文件系統Shell(FileSystem Shell)的命令格式:
語法:hadoop fs <args>:前提是位置位於hadoop/bin下,其中fs是參數,表示FS Shell,<args>是fs的子命令
2.使用FS Shell命令行管理文件:
mkdir -創建目錄
語法:hadoop fs -mkdir <paths>
例子:
hadoop fs -mkdir /user:在HDFS中創建"/user"目錄
hadoop fs -mkdir /user/hadoop:在HDFS中創建"/user/hadoop"目錄
hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2:在HDFS中同時創建"/user/hadoop/dir1"和"/user/hadoop/dir2",目錄
ls -查看列表文件
語法:hadoop fs -ls <args>
如果是文件,則按照如下格式返回文件信息:
文件名<副本數> 文件大小 修改日期 修改時間 權限 用戶ID 組ID
如果是目錄,則返回它直接子文件的一個列表
cat -查看文件
語法:hadoop fs -cat URI <URI...>:輸出路徑指定文件的內容
例子:
hadoop fs -cat /input2/file1.txt /input2/file2.txt:在HDFS中查看input2目錄下的file1.txt和file2.txt的文件內容
put -從本地文件系統中復制一個或多個文件到HDFS(外部命令)
語法:hadoop fs -put <localsrc>...<dst>
其中localsrc只能是本地文件,dst只能是HDFS文件,且不受fs.defaultFS屬性影響。
例子:
hadoop fs -put /home/hduser/file/file1.txt /input2
-將本地文件復制到HDFS目錄"input2"
hadoop fs -put /home/hduser/file/file1.txt /home/hduser/file/file2.txt /input2
-將多個本地文件復制到HDFS目錄"input2"
hadoop fs -put - /input2/file3
-從標准輸入中讀取輸入,按Ctrl+C組合鍵退出並保存到"file3"
get -復制HDFS文件到本地系統(外部命令,是put命令的逆操作)
語法:hadoop fs -get <src><localdst>
其中src只能是HDFS文件,localdst只能是本地文件,且同樣不受fs.defaultFS屬性影響
例子:
hadoop fs -get /input2/file1.txt /sa/file
-將HDFS目錄"input2"下的file1.txt文件復制到本地系統目錄"sa"下的file文件夾中
mv -移動、剪切命令
語法:hadoop fs -mv URI [URI...] <dest>:將文件從源路徑移動到目標路徑,允許多個源路徑,目標路徑必須是一個目錄
例子:
hadoop fs -mv /input2/file1.txt /input2/file2.txt /user/hadoop/dir1
-將HDFS上"input2"文件夾中的file1.txt和file2.txt文件移動到"/user/hadoop/dir1"文件夾中
cp -復制命令
語法:hadoop fs -cp URI [URI...] <dest>:將文件從源路徑復制到目標路徑,允許多個源路徑,目標路徑必須是一個目錄
例子:
hadoop fs -cp /input2/file1.txt /input2/file2.txt /user/hadoop/dir1
-將HDFS上"input2"文件夾中的file1.txt和file2.txt文件復制到"/user/hadoop/dir1"文件夾中
rm、rmr -刪除文件
1.rm命令
語法:hadoop fs -rm URI [URI...]
刪除指定的文件,只刪除非空目錄和文件
例子:
hadoop fs -rm /input2/file1.txt
-在HDFS中刪除input2文件夾下的file1.txt文件
2.rmr命令
語法:hadoop fs -rmr URI [URI...]
rm的遞歸版本,整個文件夾及子文件將全部刪除
例子:
hadoop fs -rmr /user/hadoop/dir1
-在HDFS中直接刪除" /user/hadoop/dir1"路徑中dir1文件夾及該文件夾中的子文件
test、du、expubge -管理命令
1.test命令
語法:hadoop fs -test -[選項] URI
選項:
-e:檢查文件是否存在,如果存在則返回0,不存在返回1;
-z:檢查文件是否存在內容,有內容返回1,沒有內容返回0(檢查文件的大小是否是0字節,文件大小是0字節返回0,不是0字節返回1);
-d:檢查路徑是否為目錄,如果是則返回1,不是則返回0.
例子:
hadoop fs -test -e /input2/file1.txt
-檢查文件是否存在
echo $? -#"$?"是Linux變量,存儲上一條命令的返回值,"echo $?"表示輸出命令行返回的數值。
2.du命令
語法:hadoop fs -du URI [URI...]
-顯示目錄中所有文件的大小
例子:
hadoop fs -du /input2
-在HDFS中顯示input2文件夾的大小,如果是目錄則列出所有文件及其大小
hadoop fs -du /input2/file1.txt
-在HDFS中顯示input2文件夾下fil1.txt文件的大小,如果是目錄則統計總大小
3.expunge命令
語法:hadoop fs -expunge
-清空回收站
以上只介紹了部分常用命令,更多命令可查閱Hadoop幫助文檔,獲取位置:
$Hadoop_HOME/share/doc/hadoop/hadoop-project-dist/hadoop-common/FileSystemShell.html