阿帕奇Hadoop入門
08-21
阿帕奇Hadoop入門
推薦閱讀:
作者:GETINDATA公司創始人兼大數據顧問彼得亞·雷克魯斯基(Piotr Krewski)和GETINDATA公司首席執行官兼創始人亞當·卡瓦( Adam Kawa)
> 全文內容> 內容簡介> 設計理念> HADOOP組件
> HDFS> YARN> YARN 應用程序> 監控 YARN 應用程序> 用HADOOP處理數據> HADOOP 的其它工具> 其它資源 內容簡介本文介紹了Apache Hadoop,它是目前最流行的軟體框架,可以利用簡單的高級編程模型對大型數據集進行分散式存儲和處理。我們將介紹Hadoop最重要的概念,描述其體系架構,指導您如何開始使用Hadoop以及在Hadoop上編寫和執行各種應用程序。
簡而言之,Hadoop是以阿帕奇(Apache)為基礎的一個開源項目,它可以安裝在伺服器集群上,這些伺服器之間可以通信,並協同工作來存儲和處理大型數據集。Hadoop在最近幾年非常成功,因為它能夠有效地處理大數據。它允許公司將所有數據存儲在一個系統中,並對這些數據進行分析,而這些數據分析用傳統解決方案是不可能實現的,或者實現起來代價非常之大。許多圍繞Hadoop構建的配套工具提供了各種各樣的處理技術。與輔助系統和實用程序的集成也非常出色,利用 Hadoop現實起來會使得工作更簡單、更高效。這些配套工具構成了Hadoop生態系統。可以把Hadoop視為一個大數據操作系統,它可以在所有大型數據集上運行不同類型的工作負載,包括離線批處理、機器學習乃至實時流處理。您可以訪問http://hadoop.apache.org網站獲取有關該項目的更多信息和詳細的文檔。您還可以從http://hadoop.apache.org獲取代碼(建議使用該方法)來安裝Hadoop,或者使用Hadoop發行版。使用最為廣泛的三種方法來自Cloudera(CDH)、Hortonworks(HDP)和MapR。Hadoop發行版是來自Hadoop生態系統的一組工具,它們捆綁在一起,並由各自的供應商提供。這些工具可以很好地協作和集成。此外,每個供應商都提供工具(開源或專有的)來管理和監視整個平台。設計理念 為了解決大型數據集的處理和存儲的挑戰,Hadoop根據以下核心特性構建:? ·分散式-存儲和處理並非構建在一台大型超級計算機之上,而是分布在一群小型電腦上,這些電腦之間可以相互通信,並協同工作。
? 水平可伸縮性--只需添加新機器就可以很容易地擴展Hadoop集群。每台新機器都相應地增加了Hadoop集群的總存儲和處理能力。? ·容錯-即使一些硬體或軟體組件不能正常工作,Hadoop也能繼續運行。? 成本優化-Hadoop不需要昂貴的高端伺服器,而且在沒有商業許可證的情況下也可以正常工作。? 編程抽象-Hadoop負責處理與分散式計算相關的所有紛雜的細節。由於有了高級別的API,用戶可以專註於實現業務邏輯,從而解決他們在現實世界中的問題。? 數據本地化-Hadoop不會將大型數據集遷移到應用程序正在運行的位置,而是在數據所在位置運行應用程序。Hadoop組件 Hadoop分為兩個核心組件:? HDFS--分散式文件系統。
? YARN --集群資源管理技術。許多執行框架運行在YARN之上,每個框架都針對特定的用例進行調優。將在下述 「YARN應用」中重點討論。我們來看看他們的架構,並描述他們是如何合作的。HDFS HDFS是Hadoop分散式文件系統。它可以在許多伺服器上運行,根據您的需要-HDFS可以輕鬆擴展到數千個節點和乃至PB( Petabytes 10的15次方位元組)量級的數據。HDFS設置容量越大,某些磁碟、伺服器或網路交換機出故障的概率就越大。HDFS通過在多個伺服器上複製數據來修復這些故障。HDFS自動檢測給定組件是否發生故障,並採取透明方式對用戶進行必要的恢復操作。
HDFS是為存儲數百兆位元組或千兆位元組的大型文件而設計的,並提供對它們的高吞吐量流數據訪問。最後但並非最不重要的一點是,HDFS支持寫一次讀-多次模型。對於這個用例,HDFS工作起來就非常有魅力了。但是,如果您需要存儲大量具有隨機讀寫訪問許可權的小文件,那麼RDBMS和Apache HBASE等其他系統可能更好些。注:HDFS不允許修改文件的內容。只支持在文件末尾追加數據。然而,Hadoop是用HDFS設計的,它是許多可插拔存儲選件之一。例如:對於專用文件系統MapR-Fs,文件是完全可讀寫的。其他HDFS替代品包括AmazonS 3、GoogleCloudStorage和IBMGPFS。 HDFS架構HDFS由在選定群集節點上安裝和運行的下列進程組成:? NameNode--負責管理文件系統命名空間(文件名,許可權和所有權、上次修改日期等)的主進程控制對存儲在HDFS中的數據的訪問。如果NameNode關閉,則無法訪問數據。幸運的是,您可以配置多個NameNodes,以確保此關鍵HDFS過程的高可用性。? DataNodes-在負責存儲和服務數據的集群中的每個工作節點上安裝的從進程。圖1說明了在一個4節點的集群上安裝HDFS。一個節點的主機節點為NameNode進程而其他三節點為DataNode進程

DataNode DalaNcde Data Node DataNode
B 1 B2 B1B 3 B 1 B2 B2B 3 B3與HDFS交互HDFS提供了一個簡單的類似POSIX的介面來處理數據。使用HDFSDFS命令執行文件系統操作。要開始使用Hadoop,您不必經歷設置整個集群的過程。Hadoop可以在一台機器上以所謂的偽分散式模式運行.您可以下載sandbox虛擬機和所有已經安裝的HDFS組件,並在任何時候開始使用Hadoop!只需按照以下鏈接之一的步驟:? mapr.com/products/mapr-sandbox-hadoop?hortonworks.eom/products/hortonworks-sandbox/#install
? cloudera.com/downloads/quickstart_vms/5-12.htmlHDFS用戶可以按照以下步驟執行典型的操作:列出主目錄的內容:$ hdfs dfs -ls /user/adam將文件從本地文件系統載入到HDFS:$ hdfs dfs -put songs.txt/user/adam從HDFS讀取文件內容:$ hdfs dfs -cat
/user/adam/songs.txt更改文件的許可權:$ hdfs dfs -chmod 700/user/adam/songs.txt將文件的複製因子設置為4:$ hdfs dfs -setrep -w 4/user/adam/songs.txt檢查文件的大小:$ hdfs dfs -du -h /user/adam/songs.txt Create a subdirectory in yourhome directory.$ hdfs dfs -mkdir songs 注意,相對路徑總是引用執行命令的用戶的主目錄。HDFS上沒有 「當前」目錄的概念(換句話說,沒有相當於「CD」命令):將文件移到新創建的子目錄:$ hdfs dfs-mv songs.txt songs從HDFS中刪除一個目錄:$ hdfs dfs -rm -r songs注:刪除的文件和目錄被移動到trash中 (HDFS上主目錄中的.trash),並保留一天才被永久刪除。只需將它們從.Trash複製或移動到原始位置即可恢復它們。您可以在沒有任何參數的情況下鍵入HDFSDFS以獲得可用命令的完整列表。如果您更喜歡使用圖形界面與HDFS交互,您可以查看免費的開源HUE(Hadoop用戶體驗)。它包含一個方便的「文件瀏覽器」組件,允許您瀏覽HDFS文件和目錄並執行基本操作。


i
推薦閱讀:
※Win10中搭建Hadoop環境
※離線安裝[email protected]——第二章(使用CM)
※centos7 hadoop 單機模式安裝配置
※Kudu vs HBase
※Spark 讀

