FusionInsight HD組件介紹
FusionInsight系統的整體邏輯架構圖如下所示:
FusionInsight HD 對開源組件進行封裝和增強,對外提供穩定的大容量的數據存儲、查詢和分析能力。
各自組件提供功能如下:
- Manager:作為運維系統,為FusionInsight HD提供高可靠、安全、容錯、易用的集群管理能力,支持大規模集群的安裝/升級/補丁、配置管理、監控管理、告警管理、用戶管理、租戶管理等。
- HDFS:Hadoop分布式文件系統(Hadoop Distributed File System),提供高吞吐量的數據訪問,適合大規模數據集方面的應用。
- HBase:提供海量數據存儲功能,是一種構建在HDFS之上的分布式、面向列的存儲系統。
- Oozie:提供了對開源Hadoop組件的任務編排、執行的功能。以Java Web應用程序的形式運行在Java servlet容器(如:Tomcat)中,並使用數據庫來存儲 工作流定義、當前運行的工作流實例(含實例的狀態和變量)。
- ZooKeeper:提供分布式、高可用性的協調服務能力。幫助系統避免單點故障,從而建立可靠的應用程序。
- Redis:提供基於內存的高性能分布式K-V緩存系統。
- Yarn:Hadoop 2.0中的資源管理系統,它是一個通用的資源模塊,可以為各類應用程序進行資源管理和調度。
- Mapreduce:提供快速並行處理大量數據的能力,是一種分布式數據處理模式和執行環境。
- Spark:基於內存進行計算的分布式計算框架。
- Hive:建立在Hadoop基礎上的開源的數據倉庫,提供類似SQL的Hive QL語言操作結構化數據存儲服務和基本的數據分析服務。
- Loader:基於Apache Sqoop 實現FusionInsight HD與關系型數據庫、ftp/sftp文件服務器之間數據批量導入/導出工具;同時提供Java API/shell任務調度接口,供第三方調度平台調用。
- Hue:提供了開源Hadoop組件的WebUI,可以通過瀏覽器操作HDFS的目錄和文件,調用Oozie來創建、監控和編排工作流,可操作Loader組件,查看ZooKeeper集群情況。
- Flume:一個分布式、可靠和高可用的海量日志聚合系統,支持在系統中定制各類數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫入各種數據接受方(可定制)的能力。
- Solr:一個高性能,基於Lucene的全文檢索服務器。Solr對Lucene進行了擴展,提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴展,並對查詢性能進行了優化,並且提供了一個完善的功能管理界面,是一款非常優秀的全文檢索引擎。
- Elasticsearch:一個兼有搜索引擎和NoSQL數據庫功能的開源系統,基於JAVA/Lucene構建,開源、分布式、支持RESTful請求。Elasticsearch服務支持結構化、非結構化文本的多條件檢索、統計和報表生成,擁有完善的監控體系,提供一系列系統,集群以及查詢性能等關鍵指標,讓用戶更專注於業務邏輯的實現。多用於日志搜索和分析、時空檢索、時序檢索和報表、智能搜索等場景。
- Kafka:一個分布式的、分區的、多副本的實時消息發布-訂閱系統。提供可擴展、高吞吐、低延遲、高可靠的消息分發服務。
- Storm:一個分布式、可靠、容錯的實時流式數據處理的系統,並提供類SQL(StreamCQL)的查詢語言。
- Flink:分布式的、高可用的、能保證Exactly Once語義的針對流數據和批數據的處理引擎。
- SparkSQL:基於Spark引擎的高性能SQL引擎,可與Hive實現元數據共享。
- Elk:一個分布式交互查詢分析數據倉庫引擎,支持標准的SQL2003規范,支持標准SQL對數據的並行插入、刪除、修改、查詢等功能。
- MLlib:提供基於Spark的數據挖掘算法庫。
- GraphX:提供基於Spark的圖處理算法庫。
- GraphBase : 提供關系數據存儲、查詢、分析能力。
- Pollux: 一個兼容相同數據中心和跨數據中心多數據源協助查詢的系統。