hadoop基本操作

重新編輯本機(jī)的hosts文件

sudo vim /etc/hosts

啟動HDFS

  • 來到$HADOOP_HOME/sbin目錄下
  • 執(zhí)行start-dfs.s
[hadoop@hadoop000 sbin]$ ./start-dfs.sh 
  • 可以看到 namenode和 datanode啟動的日志信息
20/10/26 09:49:39 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [hadoop000]
hadoop000: Warning: Permanently added the RSA host key for IP address '10.25.187.18' to the list of known hosts.
hadoop000: starting namenode, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-namenode-hadoop000.out
hadoop000: starting datanode, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-datanode-hadoop000.out
  • 通過jps命令查看當(dāng)前運(yùn)行的進(jìn)程
[hadoop@hadoop000 sbin]$ jps
4249 NameNode
4351 DataNode
4613 SecondaryNameNode
4733 Jps

通過可視化界面查看HDFS的運(yùn)行情況

  • 通過瀏覽器查看 主機(jī)ip:50070端口


    圖片.png
  • Overview界面查看整體情

  • Datanodes界面查看datanode的情況

HDFS shell操作

ls

使用方法:

hadoop fs -ls <args>

如果是文件,則按照如下格式返回文件信息:
文件名 <副本數(shù)> 文件大小 修改日期 修改時間 權(quán)限 用戶ID 組ID
如果是目錄,則返回它直接子文件的一個列表,就像在Unix中一樣。目錄返回列表的信息如下:
目錄名 <dir> 修改日期 修改時間 權(quán)限 用戶ID 組ID
示例:

hadoop fs -ls /user/hadoop/file1 /user/hadoop/file2 hdfs://host:port/user/hadoop/dir1 /nonexistentfile 

返回值:
成功返回0,失敗返回-1

mv

使用方法:

hadoop fs -mv URI [URI …] <dest>

將文件從源路徑移動到目標(biāo)路徑。這個命令允許有多個源路徑,此時目標(biāo)路徑必須是一個目錄。不允許在不同的文件系統(tǒng)間移動文件。
示例:

- hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2
- hadoop fs -mv hdfs://host:port/file1 hdfs://host:port/file2 hdfs://host:port/file3 hdfs://host:port/dir1

返回值:

成功返回0,失敗返回-1。

put

使用方法:

hadoop fs -put <localsrc> ... <dst>

從本地文件系統(tǒng)中復(fù)制單個或多個源路徑到目標(biāo)文件系統(tǒng)。也支持從標(biāo)準(zhǔn)輸入中讀取輸入寫入目標(biāo)文件系統(tǒng)。

返回值:

成功返回0,失敗返回-1。

rm

使用方法:

hadoop fs -rm URI [URI …]

刪除指定的文件。只刪除非空目錄和文件。請參考rmr命令了解遞歸刪除。
示例:

返回值:

成功返回0,失敗返回-1。

  • 在centos 中創(chuàng)建 test.txt
touch test.txt
  • 在centos中為test.txt 添加文本內(nèi)容
vi test.txt
  • 查看hdfs中 / 下的文件情況
hadoop fs -ls /
  • 在HDFS中創(chuàng)建 hadoop001/test 文件夾
hadoop fs -mkdir -p /hadoop001/test
  • 把text.txt文件上傳到HDFS中
hadoop fs -put test.txt /hadoop001/test/
  • 查看hdfs中 hadoop001/test/test.txt 文件內(nèi)容
hadoop fs -cat /hadoop001/test/test.txt
  • 將hdfs中 hadoop001/test/test.txt文件下載到centos
 hadoop fs -get /hadoop001/test/test.txt test.txt
  • 將 /hadoop001/test/test.txt test.txt 移動到 /tmp
hadoop fs -mv /hadoop001/test/test.txt test.txt /tmp
  • 刪除HDFS中 /tmp
hadoop fs -rm -r /tmp

HDFS設(shè)計思路

分布式文件系統(tǒng)的設(shè)計思路:


HDFS架構(gòu)

  • 1個NameNode/NN(Master) 帶 DataNode/DN(Slaves) (Master-Slave結(jié)構(gòu))
  • 1個文件會被拆分成多個Block
  • NameNode(NN) 負(fù)責(zé)客戶端請求的響應(yīng)
    負(fù)責(zé)元數(shù)據(jù)(文件的名稱、副本系數(shù)、Block存放的DN)的管理 元數(shù)據(jù) MetaData 描述數(shù)據(jù)的數(shù)據(jù) 監(jiān)控DataNode健康狀況 10分鐘沒有收到DataNode報告認(rèn)為Datanode死掉了
  • DataNode(DN) 存儲用戶的文件對應(yīng)的數(shù)據(jù)塊(Block)
    要定期向NN發(fā)送心跳信息,匯報本身及其所有的block信息,健康狀況
  • 分布式集群NameNode和DataNode部署在不同機(jī)器上


  • HDFS優(yōu)缺點
    • 優(yōu)點
      • 數(shù)據(jù)冗余 硬件容錯
      • 適合存儲大文件
      • 處理流式數(shù)據(jù)
      • 可構(gòu)建在廉價機(jī)器上
    • 缺點
      • 低延遲的數(shù)據(jù)訪問
      • 小文件存儲

HDFS環(huán)境搭建

  • 下載jdk 和 hadoop 放到 /sLL/app目錄下
tar -zxvf 壓縮包名字 -C ~/app/
tar -vxzf jdk-7u79-linux-x64.tar.gz -C ~/app/
tar -vxzf hadoop-2.6.0-cdh5.7.0.tar.gz -C ~/app/
  • 配置環(huán)境變量
vi ~/.bash_profile

添加環(huán)境變量

export JAVA_HOME=/home/hadoop/app/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export HADO::OP_HOME=/home/hadoop/app/hadoop......
export PATH=$HADOOP_HOME/bin:$PATH

保存退出后, 讓.bash_profile立即生效

source ~/.bash_profile

進(jìn)入到解壓后的hadoop目錄 修改配置文件

配置文件作用
  • core-site.xml 指定hdfs的訪問方式
  • hdfs-site.xml 指定namenode 和 datanode 的數(shù)據(jù)存儲位置
  • mapred-site.xml 配置mapreduce
  • yarn-site.xml 配置yarn
修改hadoop.env.sh
export_JAVA_HOME = /home/app/jdk1.7

- 修改 core-site.xml 在 <configuration>節(jié)點中添加 (默認(rèn)hdfs的地址 8020)

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop000:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/tmp</value>
</property>
  • 修改hdfs-site.xml 在 configuration節(jié)點中添加
    單節(jié)點偽分布式
<configuration>
<property>
            <name>dfs.replication</name>
                        <value>1</value>
                                </property>
</configuration>

集群

<property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/hadoop/app/tmp/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/hadoop/app/tmp/dfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
來到hadoop的bin目錄
./hadoop namenode -format (這個命令只運(yùn)行一次)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 當(dāng)數(shù)據(jù)量很大,一臺物理機(jī)無法容納時,我們就需要將數(shù)據(jù)存儲到由網(wǎng)絡(luò)連接的若干臺機(jī)器上,這就是所謂的分布式文件系統(tǒng)。h...
    millions_chan閱讀 662評論 0 2
  • 為什么要有Hadoop? 從計算機(jī)誕生到現(xiàn)今,積累了海量的數(shù)據(jù),這些海量的數(shù)據(jù)有結(jié)構(gòu)化、半結(jié)構(gòu)化、非 結(jié)構(gòu)的數(shù)據(jù)...
    _Levi__閱讀 922評論 1 0
  • 環(huán)境介紹 hadoop001:192.168.199.102 hadoop002:192.168.199.103 ...
    機(jī)靈鬼鬼閱讀 401評論 0 0
  • hadoop搭建 目的 本文檔主要講述如何快速搭建單節(jié)點hadoop以及一些簡單map reduce操作和一些HD...
    Elitack閱讀 1,367評論 1 2
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,853評論 2 7

友情鏈接更多精彩內(nèi)容