大数据集群搭建
主要基于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缓存
数据仓库中表使用情况统计,发现潜在问题,及时昨天模型调整
欠缺的方面:
业务方面
模型设计方面
用户画像
数据分析
工作中的项目经历,以及如果做出架构规划的
大数据平台经典架构
网友评论