HDFS的安裝配置與常用命令


核心要點:

對外提供一個統一的“虛擬”目錄樹

文件分塊存儲在多台服務器(datanode)上

文件的物理存儲位置信息存儲在一台主節點(namenode)上

 

1. 安裝HDFS

安裝HDFS,就是准備大量linux服務器,安裝hadoop軟件,然后在不同的機器上啟動不同的程序(namenode,datanode,客戶端)

 

准備4台:

1台namenode

3台datanode

 

安裝步驟:

a、准備4台linux機器(cts01,cts02,cts03,cts04),並做好基礎配置:

a)       IP地址;

b)       hostname(一律小寫+數字);

c)       域名映射/etc/hosts;

d)       jdk;

e)       關閉防火牆;

f)       ssh工具;

g)       時間同步(date -s '2018-04-08 11:42:30');

 

b、上傳一個hadoop安裝包,並且解壓

c、修改配置文件

vi  hdfs-site.xml

核心參數1namenode在哪台機器上運行

參數名:dfs.namenode.rpc-address

參數值: cts01:9000

核心參數2namenode存元數據的本地目錄

參數名:dfs.namenode.name.dir

參數值:/root/hdpdata/name/

核心參數3datnaode存文件塊的本地目錄

參數名:dfs.datanode.data.dir

參數值:/root/hdpdata/data/

輔助參數:secondarynamenode所在的機器

參數名:dfs.namenode.secondary.http-address

參數值:cts02:50090

<configuration>

<property>

<name>dfs.namenode.rpc-address</name>

<value>cts01:9000</value>

</property>

 

<property>

<name>dfs.namenode.name.dir</name>

<value>/root/hdpdata/name/</value>

</property>

 

<property>

<name>dfs.datanode.data.dir</name>

<value>/root/hdpdata/data/</value>

</property>

 

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>cts02:50090</value>

</property>

</configuration>

 

vi  hadoop-env.sh

exportJAVA_HOME=/root/apps/jdk1.8.0_60

 

 

d、啟動HDFS

在不同的機器起動不同的程序:cts01-->namenode  cts02,03,04-->datanode

 

注意:集群第一次啟動的時候,namenode的元數據目錄需要先初始化生成:

cts01上:hadoop  namenode -format

 

在cts01上啟動namenode:

sbin/hadoop-daemon.sh start namenode

 

在cts02-04啟動datanode:

sbin/hadoop-daemon.sh start datanode

 

啟動完后,可以用瀏覽器訪問namenode提供的web服務,來查看HDFS的工作狀態:

http://cts01:50070

 

 

自帶腳本批量啟動

cts01hadoop目錄中,修改slaves文件

vi slaves

cts01

cts02

cts03

cts04

然后,在cts01上,配好cts01-->cts01,02,03,04免密登陸

然后,在cts01上,敲:

start-dfs.sh   啟動集群

stop-dfs.sh   關閉集群

 

 

2. HDFS的命令行客戶端理解

 

訪問HDFS,需要客戶端程序,客戶端程序在hadoop安裝包中自帶

啟動命令行客戶端:  hadoop  fs  -put   /本地/路徑   /hdfs路徑

 

但是,hadoop的客戶端程序也許要一些必要的參數,才能正常工作:

核心參數1:指定HDFS所在的URI

jdbc:mysql://cts04:3306/db1

http://baidu.com:80/index.html

hdfs://cts01:9000/

 

核心參數2:客戶端所要訪問的默認文件系統

fs.defaultFS =hdfs://cts01:9000/

客戶端一旦配置了這個參數,那么在訪問HDFS路徑時,就不需要寫全URI了

 

 

核心參數3:上傳文件時的切塊大小配置

dfs.blocksize=128

 

核心參數4:上傳文件時的副本數量配置

dfs.replication=3

 

 

精華:客戶端程序可以運行在任何能夠與HDFS集群聯網的機器上,只是需要在那台機器上安裝一個hadoop安裝包,並且配置好客戶端參數

 

3. HDFS的命令行客戶端常用操作

 

查看目錄

hadoop fs  -ls  /

 

上傳文件

hadoop fs  -put  /本地/路徑   /hdfs/路徑

hadoop fs  -put  /root/a.txt  /

 

下載文件

hadoop fs  -get  /hdfs/文件路徑   /本地/路徑

hadoop fs  -get  /a.txt   /root/a.dat

 

創建目錄

hadoop fs  -mkdir  -p /aaa/bbb

 

修改文件名/移動文件

hadoop  fs  -mv  /hdfs/原路徑    /hdfs/新路徑

hadoop  fs  -mv  /a.txt  /aaa/bbb/a.doc

 

拷貝文件

hadoop  fs   -cp   /a.txt  /aaa/a.bak

 

 

刪除文件

hadoop fs  -rm  /a.txt

hadoop fs  -rm  -r /aaa

 

 

查看文件內容

hadoop  fs   -cat   /a.txt

hadoop  fs   -tail   /a.log

hadoop  fs   -tail  -f  /a.log



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com