默認首先安裝的是:
zookeeper -- 因為hadoop的ha高可用性需要用到zookeeper(zkfailovercontroller 與hdfs 的先后順序影響不到) yarn的resource manager等資源管理用到? hbase的region reserver入口管理 響應客戶端請求需要用到? kafka的topic等元數(shù)據(jù)保存用到了zookeeper? (Zookeeper Server 進程? 奇數(shù)個? paxos算法核心--為了保證半數(shù)以上投票支持 且節(jié)約資源 需要是奇數(shù)個最好不過了 且最少是三個) Zookeeper Server 進程 -- 提供分布式協(xié)調(diào)管理服務
hadoop -- hdfs (namenode/ datanode/ failover controller/ journalnode/ balancer/nfs gateway/httpfs) --一般來說 fc和jn 都安裝在nn進程所在的服務器上狰腌,一般為兩個 一個是master? 一個是bakmaster厂抖,balancer安裝在master上肴熏。namenode -- 元數(shù)據(jù)管理 塊信息處理 等作用進程? datanode與hdfs上block的數(shù)據(jù)進行交互? failover controller--監(jiān)控namenode健康狀態(tài) 心跳機制保持長連接 journalnode保存元數(shù)據(jù)更改記錄 balancer負載均衡 nfs-網(wǎng)絡文件系統(tǒng)摄咆。Namenode 管理者文件系統(tǒng)的Namespace掏膏。它維護著文件系統(tǒng)樹(filesystemtree)以及文件樹中所有的文件和文件夾的元數(shù)據(jù)(metadata)。管理這些信息的文件有兩個,分別是Namespace鏡像文件(Namespace image)和操作日志文件(editlog),這些信息被Cache在RAM中靠胜,當然,這兩個文件也會被持久化存儲在本地硬盤毕源。Namenode記錄著每個文件中各個塊所在的數(shù)據(jù)節(jié)點的位置信息浪漠,但是他并不持久化存儲這些信息,因為這些信息會在系統(tǒng)啟動時從數(shù)據(jù)節(jié)點重建霎褐。Datanode是文件系統(tǒng)的工作節(jié)點址愿,他們根據(jù)客戶端或者是namenode的調(diào)度存儲和檢索數(shù)據(jù),并且定期向namenode發(fā)送他們所存儲的塊(block)的列表冻璃。集群中的每個服務器都運行一個DataNode后臺程序响谓,這個后臺程序負責把HDFS數(shù)據(jù)塊讀寫到本地的文件系統(tǒng)。當需要通過客戶端讀/寫某個 數(shù)據(jù)時省艳,先由NameNode告訴客戶端去哪個DataNode進行具體的讀/寫操作娘纷,然后,客戶端直接與這個DataNode服務器上的后臺程序進行通 信跋炕,并且對相關(guān)的數(shù)據(jù)塊進行讀/寫操作失驶。
yarn -- (mr2 included)(resource manager/node manager/job histroy server) resource manager管理和分配集群資源 node manager與數(shù)據(jù)交互執(zhí)行task任務 job history server 記錄作業(yè)提交歷史? nodemanager一般部署在datanode節(jié)點上?? resource manager部署在master節(jié)點上 (主備)job history server 安裝在master上
hive -- (hive gateway/hiveserver2/hive metastore server)hive gateway -- 處理網(wǎng)絡連接 hive請求 一般來說 每臺主機都可以安裝,hiveserver2 -- hive的核心進程 -- 解析 優(yōu)化 計算等任務的完成枣购;hive metastore server 與mysql(默認為derby -- 單點故障且不支持impala)繼續(xù)hive 元數(shù)據(jù)的保存與維護
hbase -- (region server / hbase rest server/ hbase thrift server/hbase master/hbase gateway) hbase master -- 元數(shù)據(jù)管理 region分區(qū)管理等管理操作嬉探,負載不高,hbase rest server--提供restful api棉圈,hbase thrift server -- 為多種語言提供不同的api涩堤,region server--提供針對具體數(shù)據(jù)的操作。hbase master一般安裝在master服務器上分瘾,一個備份安裝在bakmaster胎围,region server 一般部署在datanode節(jié)點上。
impala -- 在hive之后需要用到hive 的元數(shù)據(jù)? (impala daemon / impala catalog server / impala statestore)Impalad:與DataNode運行在同一節(jié)點上,由Impalad進程表示白魂,它接收客戶端的查詢請求汽纤,讀寫數(shù)據(jù),并行執(zhí)行查詢福荸,并把結(jié)果返回給 客戶端蕴坪。同時Impalad也與State Store保持連接,用于確定哪個Impalad是健康和可以接受新的工作敬锐。Impala State Store:跟蹤集群中的Impalad的健康狀態(tài)及位置信息背传,由statestored進程表示,它通過創(chuàng)建多個線程來處理Impalad的注冊訂閱和與各 Impalad保持心跳連接台夺,各Impalad都會緩存一份State Store中的信息径玖。Statestore daemon:服務名稱statestored 1個實例,負責收集分布在集群中各個impalad進程的資源信息颤介,各節(jié)點的健康狀況/同步節(jié)點信息梳星;負責query的調(diào)度;對于一個正常運轉(zhuǎn)的集群滚朵,并不是一個關(guān)鍵進程冤灾。Catalog daemon:服務名稱catalogd 1個實例;把impala表的metadata分發(fā)到各個impalad中始绍;接收來自statestore的所有請求瞳购。impala daemon:服務名稱impalad N個實例话侄;接收client hue jdbc或odbc請求 query執(zhí)行并返回給中心協(xié)調(diào)節(jié)點亏推;子節(jié)點上的守護進程,負責向statestore保持通信年堆,匯報工作吞杭。
spark:(spark gateway /spark history server)-- spark gateway每個節(jié)點服務器上都有? spark history server安裝在master節(jié)點上
spark(standalone) -- (spark standalone worker /spark? standalone master/spark standalone history server) spark standalone worker 默認安裝在datanode上? spark stanalone master 默認安裝在master節(jié)點上
sqoop:sqoop? 1 client gateway --任一節(jié)點? 最好是每個datanode上都安裝一個 因為是與數(shù)據(jù)交互
oozie:oozie server? -- 屬于管理類工具 可以安裝在master 或者 bakmaster
flume:flume agent -- 最好和kafka broker在同一節(jié)點上? 進行數(shù)據(jù)傳輸 數(shù)據(jù)接入
Kafka -- zookeeper之后?? kafka broker進程 安裝在任一節(jié)點? 需要硬盤夠大存儲日志數(shù)據(jù)的
hue:hue server 安裝在任一節(jié)點 -- 屬于管理類工具 可以安裝在master 或者 bakmaster