您好,登錄后才能下訂單哦!
翻了一下最近一段時間寫的分享,DKHadoop發行版本下載、安裝、運行環境部署等相關內容幾乎都已經寫了一遍了。雖然有的地方可能寫的不是很詳細,個人理解水平有限還請見諒吧!我記得在寫DKHadoop運行環境部署的時候,遺漏了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集×××互的網絡應用程序。HUE應用能讓您瀏覽HDFS和工作,管理Hive metastore,運行Hive,瀏覽HBase Sqoop出口數據,提交MapReduce程序,構建自定義的搜索引擎與Solr一起調度重復性的工作流。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。