大數據框架hadoop服務角色介紹

大數據框架hadoop服務角色介紹
翻了一下最近一段時間寫的分享,DKHadoop發行版本下載、安裝、運行環境部署等相關內容幾乎都已經寫了一遍了。雖然有的地方可能寫的不是很詳細,我的理解水平有限還請見諒吧!我記得在寫DKHadoop運行環境部署的時候,遺漏了hadoop服務角色的內容,本篇特意補上這部份內容吧,否則總以爲不舒服。node

clipboard.png

要在集羣中運行DKHadoop服務,須要指定集羣中的一個或多個節點執行該服務的特定功能,角色分配是必須的,沒有角色集羣將沒法正常工做,在分配角色前,須要瞭解這些角色的含義。
Hadoop服務角色:數據庫

  1. zookeeper角色:ZooKeeper服務是指包含一個或多個節點的集羣提供服務框架用於集羣管理。對於集羣,Zookeeper服務提供的功能包括維護配置信息、命名、提供HyperBase的分佈式同步,推薦在 ZooKeeper集羣中至少有3個節點。
  2. JDK角色:JDK是 Java 語言的軟件開發工具包, JDK是整個Java開發的核心,它包含了Java的運行環境,Java工具和Java基礎的類庫。
  3. Apache-Flume角色:Flume是Cloudera提供的一個高可用的,高可靠的,分佈式的海量日誌採集、聚合和傳輸的系統,Flume支持在日誌系統中定製各種數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫到各類數據接收方(可定製)的能力。
  4. Apache-Hive角色:Hive是基於Hadoop的一個數據倉庫工具,能夠將結構化的數據文件映射爲一張數據庫表,並提供簡單的SQL查詢功能,能夠將SQL語句轉換爲MapReduce任務進行運行。
  5. Apache-Storm角色:Storm是內存級計算,數據直接經過網絡導入內存。讀寫內存比讀寫磁盤速度快n個數量級。當計算模型比較適合流式時,Storm的流式處理,省去了批處理的收集數據的時間.
  6. Elasticsearch角色:Elasticsearch是用Java開發的,並做爲Apache許可條款下的開放源碼發佈,是當前流行的企業級搜索引擎。設計用於雲計算中,可以達到實時搜索、穩定、可靠、快速,安裝使用方便。
  7. NameNode角色:HDFS系統中的節點用於維護文件系統中全部文件的目錄結構並跟蹤文件數據存儲於哪些數據節點。當客戶端須要從HDFS 文件系統中得到文件時,它經過和NameNode通信來知道客戶端哪一個數據節點上有客戶端須要的文件。 一個Hadoop集羣中只能有一個NameNode。NameNode不能被賦予其餘角色。
  8. DataNode角色:在HDFS中,DataNode是用來存儲數據塊的節點。
  9. Secondary NameNode 角色:爲NameNode上的數據建立週期性檢查點的節點。節點將週期性地下載當前NameNode鏡像和日誌文件,將日誌和鏡像文件合併爲一個新的鏡像文件而後上傳到NameNode。 被分配了NameNode角色的機器不該再被分配Secondary NameNode 角色。
  10. Standby Namenode角色:Standby模式的NameNode元數據(Namespcae information 和 Block 都是和Active NameNode中的元數據是同步的,一但切換成Active模式,立刻就能夠提供NameNode服務。
  11. JournalNode角色:Standby NameName和Active NameNode經過JournalNode通訊,保持信息同步。
  12. HBase角色:HBase是一個分佈式的、面向列的開源數據庫。HBase在Hadoop之上提供了相似於BigTable的能力。HBase是Apache的Hadoop項目的子項目。HBase不一樣於通常的關係數據庫,它是一個適合於非結構化數據存儲的數據庫。另外一個不一樣的是HBase基於列的而不是基於行的模式。
  13. Kafka角色:Kafka是一種高吞吐量的分佈式發佈訂閱消息系統,它能夠處理消費者規模的網站中的全部動做流數據。 這種動做(網頁瀏覽,搜索和其餘用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。 這些數據一般是因爲吞吐量的要求而經過處理日誌和日誌聚合來解決。 對於像Hadoop的同樣的日誌數據和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是經過Hadoop的並行加載機制來統一線上和離線的消息處理,也是爲了經過集羣來提供實時的消費。
  14. Redis角色:Redis是一個開源的使用C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。
  15. Scala角色:Scala是一門多範式的編程語言,一種相似Java的編程語言,設計初衷是實現可伸縮的語言、並集成面向對象編程和函數式編程的各類特性。
  16. Sqoop角色:Sqoop是一個用來將Hadoop和關係型數據庫中的數據相互轉移的工具,能夠將一個關係型數據庫(例如 : MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也能夠將HDFS的數據導入到關係型數據庫中。
  17. Impala角色:Impala是Cloudera公司主導開發的新型查詢系統,它提供SQL語義,能查詢存儲在Hadoop的HDFS和HBase中的PB級大數據。已有的Hive系統雖然也提供了SQL語義,但因爲Hive底層執行使用的是MapReduce引擎,仍然是一個批處理過程,難以知足查詢的交互性。相比之下,Impala的最大特色也是最大賣點就是它的快速。
  18. Crawler角色:Crawler是大快DKHadoop專有組件,爬蟲系統,爬取動態靜態數據。
  19. Spark角色:Spark是一種與Hadoop類似的開源集羣計算環境,可是二者之間還存在一些不一樣之處,這些有用的不一樣之處使 Spark 在某些工做負載方面表現得更加優越,換句話說,Spark 啓用了內存分佈數據集,除了可以提供交互式查詢外,它還能夠優化迭代工做負載。Spark 是在Scala語言中實現的,它將Scala用做其應用程序框架。與Hadoop不一樣,Spark和Scala可以緊密集成,其中的Scala能夠像操做本地集合對象同樣輕鬆地操做分佈式數據集。
  20. HUE角色:HUE是一組可與您的Hadoop jiqun 交互的網絡應用程序。HUE應用能讓您瀏覽HDFS和工做,管理Hive metastore,運行Hive,瀏覽HBase Sqoop出口數據,提交MapReduce程序,構建自定義的搜索引擎與Solr一塊兒調度重複性的工做流。
相關文章
相關標籤/搜索