大數據集群搭建
主要基于ambari來同一管理監控集群
主要安裝步驟:
準備機器,修改hostname,固定ip等
機器間免密碼登錄
host機器開啟httpd服務,準備本地倉庫
安裝ambari setup
訪問頁面,通過ambari頁面安裝hdp
集群監控:
依靠ambari頁面的監控,缺點:需要人為的關注平臺界面
改造:通過在主節點添加各機器的服務名或端口監控,通過主程序分發到集群各機器,異常消息通過kafka推送,最后在主節點消費topic,有異常則推送郵件通知
繼續升級:服務掛掉,自動重啟一次,如果再失敗,則郵件通知....(可以做)
集群主要的服務有:
hdfs:
主要負責數據存儲,namenode負責管理元數據,datanode負責存儲數據
namenode的高可用
頁面訪問集群的健康及存儲情況
hdfs的跨機房數據同步? distcp原理
疑問:小文件合并??
druid
一個為在大數據集之上做實時統計分析而設計的開源數據存儲
不支持sql,查詢需要寫query.json 配置,繁瑣,通過restful 調用
alluxio
drill
MapReduce
主要用于hive的批處理
MapReduce原理
MapReduce參數優化??
yarn
資源管理
nodemanager管理
與mesos資源管理的區別
hive
第一代執行引擎:MapReduce
第二代執行引擎:hive on tez and on yarn
第三代執行引擎:hive + llap
hive 資源隔離
hive 的優化
hive數據傾斜原因,怎么解決??
hbase
nosql數據庫
詳細??
應用場景??
zookeeper
協調集群服務,及收集服務的信息信息,記錄狀態信息
具體的作用???
kafka
最流行的消息隊列,特點:吞吐量大,
與其他消息隊列的比較
基于kafka的衍生產品:
confluent:
gobblin:
kafka sql
spark
語法簡潔,可以用于批處理也可以用于流數據處理(streaming)
spark優化??
flume
日志收集
sqoop
用于rdbms跟hdfs之間的數據導入導出
使用
缺點:到處扔java文件
衍生到阿里的導數工具:datax
storm
流數據處理,效率高
缺點,只負責數據計算,不負責存儲
flink
使用??
oozie調度
大數據調度平臺,支持頁面配置任務
缺點:調度日志顯示不明顯,需要后臺查看
其他的大數據調度工具???
atlas元數據管理
沒有具體了解??
ranger權限控制
大數據平臺的權限控制機制,可以管理如下服務:
hdfs plugins
hbase plugins
kafka plugins
yarn plugin
storm plugin
hive plugin
atlas plugin
kerberos安全管理
機制??
presto插件
ambari添加repo,頁面統一管理presto服務啟停
基于內存的分布式查詢引擎,可以查詢hive和rdbms數據,速率快
管理用于 select ,drop,create table權限
缺點:語法部分不支持,支持自定義函數
kylin
預處理cube,通過提前構建度量計算,查詢效率高,
本身計算基于MapReduce或者spark,不能實時構建cube查詢,只能通過調度,來定時構建cube
大數據平臺處理的流程介紹
采集
數據源:
mysql:主要使用了select * xxx > xxx.txt? 落地文件,做好結果行數校驗工作
文本:
mongo:采用mongoexport 工具導出 到文本
es:采用spark程序,來導出數據到文本
存儲
主要用于hdfs存儲
如何處理小文件??
hive數據倉庫存儲格式的迭代:? textfile ->? rcfile -> orcfile (parquet)
三種存儲格式的區別,用數據說話
計算
主要的計算方式有:
hive的 MapReduce? 或者tez(主要)
spark來處理(輔助)
查詢
ambari的查詢平臺,通過ldap用戶登錄管理,ranger權限管理
presto:基于yanagishima平臺或者airpal平臺來實現presto查詢hive數據(olap)
應用
構建數據倉庫
報表平臺
風控平臺
大數據平臺待優化
資源的合理使用:避免資源閑置浪費,合理實現資源隔離?
查詢緩存:統一執行入口,先從緩存數據 -> presto執行 -> mapreduce 執行
top-k緩存
數據倉庫中表使用情況統計,發現潛在問題,及時昨天模型調整
欠缺的方面:
業務方面
模型設計方面
用戶畫像
數據分析
工作中的項目經歷,以及如果做出架構規劃的
大數據平臺經典架構