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

大數據框架hadoop服務角色介紹
翻了一下最近一段時間寫的分享,DKHadoop發行版本下載、安裝、運行環境部署等相關內容幾乎都已經寫了一遍了。雖然有的地方可能寫的不是很詳細,個人理解水平有限還請見諒吧!我記得在寫DKHadoop運行環境部署的時候,遺漏了hadoop服務角色的內容,本篇特地補上這部分內容吧,不然總覺得不舒服。
大數據框架hadoop服務角色介紹
要在集羣中運行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一起調度重複性的工作流。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章