hadoop框架中,有很多優秀的工具,幫助我們解決工作中的問題。
從上圖可以看出,越往右,實時性越高,越往上,涉及到演算法等越多。
越往上,越往右就越火……
hdfs,(hadoop distributed file system) hadoop分布式檔案系統。在google開源有關dfs的**後,由一位大牛開發而成。hdfs的建立在集群之上,適合pb級大量資料的儲存,擴充套件性強,容錯性高。它也是hadoop集群的基礎,大部分內容都存在了hdfs上。
mapreduce,是hadoop中的計算框架,由兩部分構成。map操作以及reduce操作。mapreduce,會生成計算的任務,分配到各個節點上,執行計算。這樣就避免了移動集群上面的資料。而且其內部,也有容錯的功能。在計算過程中,某個節點宕掉之後,會有策略進行應對。hadoop集群,上層的一些工具,比如hive或者pig等,都會轉換為基本的mapreduce任務來執行。
hbase源自谷歌的bigtable。hbase是面向列儲存的資料庫,效能高,擴充套件性強,可靠性高。hbase的內容,儲存在hdfs上,當然它也可以使用其他的檔案系統,如s3等。hbase作為乙個頂級專案,使用頻率很高。如:我們可以用來儲存,爬蟲爬來的網頁的資訊等。具體的hbase的概念請見後續詳細說明。延遲較低。
hive,是乙個查詢的工具,在hbase中,對於sql的支援不太好。而hive解決了這一類的問題。以sql形式操作hbase,更爽一些。hive編寫的一些sql語句,其實最後也還是會變成mapreduce程式。當然這種查詢,不能與關係型資料庫mysql等比較,hive查詢時,是秒級或分鐘級的,時間比較長。
sqoop,也是乙個很神奇的資料同步工具。在關係型資料庫中,我們會遇到一種情景,將oracle資料匯入到mysql,或者將mysql資料,匯入到oracle。那其實sqoop也是類似的功能。sqoop可以將oracle,mysql等關係型資料庫中的資料,匯入到hbase,hdfs上,當然也可以從hdfs或hbase匯入到mysql或oracle上。
flume,是日誌收集工具,是分布式的,可靠的,容錯的,可以定製的。應用場景如:100臺伺服器,需要監測各個伺服器的運**況,這時可以用flume將各個伺服器的日誌,收集過來。flume也有兩個版本。flume og 和flume ng。現在基本都用ng了。
impala是cloudera公司主導開發的新型查詢系統,它提供sql語義,能查詢儲存在hadoop的hdfs和hbase中的pb級大資料。已有的hive系統雖然也提供了sql語義,但由於hive底層執行使用的是mapreduce引擎,仍然是乙個批處理過程,難以滿足查詢的互動性。相比之下,impala的最大特點也是最大賣點就是它的快速。imapa可以和phoenix,spark sql聯絡起來了解一下。
spark是乙個記憶體計算的框架。目前乙個大的趨勢。mapreduce會有很大的io操作,而spark是在記憶體中計算。速度是hadoop的10倍(官網上這樣說的)。spark是目前乙個趨勢,是需要了解的。
zookeeper,動物管理員。zookeeper叫分布式協作服務。作用主要是,統一命名,狀態同步,集群管理,配置同步。zookeeper在hbase,以及hadoop2.x中,都有用到。
資料探勘演算法庫,裡面內建了大量的演算法。可以用來做**、分類、聚類等。工具很強大,但是技術要求能力較高。
和hive類似。具體區別自己搜搜。pig可以構建資料倉儲。可用來對資料倉儲中資料,進行查詢分析。pig也有自己的查詢語法,很不幸,不是sql形式,pig latin。
ambari是乙個管理平台。可以對集群進行統一的部署。也是很方便的。
整體了解HADOOP框架及一些開源專案
hadoop框架中,有很多優秀的工具,幫助我們解決工作中的問題。從上圖可以看出,越往右,實時性越高,越往上,涉及到演算法等越多。越往上,越往右就越火 hdfs,hadoop distributed file system hadoop分布式檔案系統。在google開源有關dfs的 後,由一位大牛開發...
了解一些概念
學習並了解些以下概念 paas paas是platform as a service的縮寫,意思是平台即服務。把伺服器平台作為一種服務提供的商業模式。通過網路進行程式提供的服務稱之為saas software as a service 而雲計算時代相應的伺服器平台或者開發環境作為服務進行提供就成為了...
一些Hadoop面試題及答案
1.hadoop集群可以執行的3個模式?單機 本地 模式 偽分布式模式 全分布式模式 2.單機 本地 模式中的注意點?在單機模式 standalone 中不會存在守護程序,所有東西都執行在乙個jvm上。這裡同樣沒有dfs,使用的是本地檔案系統。單機模式適用於開發過程中執行mapreduce程式,這也...