没有合适的资源?快使用搜索试试~ 我知道了~
如何面试3.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 144 浏览量
2023-08-08
15:07:44
上传
评论
收藏 214KB DOCX 举报
温馨提示
试读
25页
大数据项目+项目介绍+面试辅导
资源推荐
资源详情
资源评论
项目介绍
一、自我介绍
大家好,面试官好!
我叫 xxx 毕业于 xxxx,就读专业也是计算机系的,自学过 java,但为什么
会想往大数据开发方向发展呢?因为自己有网购的习惯,以及近年内抖音的火爆,
就像知道这里面是如何根据用户的行为给用户推荐相关的商品,通过一些资料的
了解,知道了大数据这个概念,就越发引起我的好奇心,觉得大数据非常有发展
潜力,因此确定要进入发展。
于是,我找来了大数据开发相关的资料,通过半年多的时间,有针对性地对
大数据生态体系中各种常用的框架进行学习:像数据传输层使用的 flume、kafka,
数据存储层的 hdfs、hbase,资源管理层的 Yarn,数据计算层的 Hive 数据查询、
MapReduce 离线计算、Spark streaming 实时计算,使用 Azkaban 可以进行任务
调度。在一次偶然的机会,我的表哥所在的公司开始重视大数据这块,于是,在
他的带领下进到了公司进行实习操作。
之前的 1 年多时间,一直在公司从事大数据开发,包括数据平台的搭建和维
持运行,以及项目里的离线计算、实时分析。因为刚起步,数据平台的搭建都是
从 0 到 1,包括服务器的选型、框架版本选型;后来到数仓项目的创建,包括建
模、指标分析、数据质量监控等等。
二、从服务器购买开始规划大数据
1 确定集群规模
1.1 服务器的选择
12 台物理机:128G,8T 机械硬盘,2T 的固态硬盘,20 核 40 线程的 CPU,
戴尔 4 万左右一台
云服务器:相同的配置,在阿里云 5w/年。
对比:云服务器的运维由阿里云完成,物理机需要托管服务器,需要专门的
运维人员以及电力成本,总和对比下,物理机的费用跟云服务器的成本差不多。
所以选择云服务更加的方便。
1.2 集群规模
1.2.1 数据量统计
1:用户行为数据:
每日活跃人数:60 万
每人产生数据量:50 条
每天产生条数:60*50=3000 万条
每条日志数据大小:0.5k-2k 之间,平均每条 1k 左右
大概每天数据大小:大约 30G 左右
数仓层级:
ods 层:采用 lzo 压缩之后 5G 左右
dwd 层:采用 lzo 压缩+parquet 存储后 5G 左右
dws 层:为了快速计算不采用压缩 15G
Ads 层:数据量很小,忽略不计
保存三个副本:25*3=75G 左右
半年不扩容:75*180=13T 左右
预留 30%:13/0.7=19T 左右
2:kafka 中数据:
1:2 个副本:30*2=60G
2:保存 3 天:60*3=180G
3:预留 30%:180/0.7=257G ->300G
3:flume 数据忽略不计
4:业务数据:
每天活跃用户:60 万
每天下单用户:8 万
每人每天产生业务数据:10 条
每条数据 1k 左右:8 万*10 条*1k=800M
数仓四层存储:800M*3=2.4g 左右
保存三个副本:2.4*3=7.2g
半年不扩容:9*180=1.2T
预留 30%:1.2T/0.7=1.7T
5:集群总规模:19T+300G+1.7T=21T 服务器数量=21T/5=5 台
在初期规模较小,所以选择的机器内存为:64 * 2 + 32 * 3,节省成本,
后期在扩大。
1.2.2 根据数据规模搭建开发环境集群规模(5 台)
1
2
3
4
5
nn
nn
dn
dn
dn
nm
nm
nm
rm
rm
zk
zk
zk
Kafka
Kafka
Kafka
Flume
Flume
Flume
Hbase
Hbase
Hbase
Hive
hive
Mysql
Mysql
Spark
spark
es
es
Sqoop
Canal
Azkaban
Azkaban
Azkaban
配置说明:
(1)NN 和 MySql 配置高可用;
(2)zk、flume 和 kafka 放在相同节点,同时客户端的服务也尽量安装在
同一节点,方便使用,数量>=1 就好。如:hive 和 spark 安装 2 个。Spark 在这
里只是提交任务,跑任务时常使用的是依赖于 yarn。
(3)ES 与 HBase 分开安装,HBase 比 ES 耗空间。
(4)Sqoop 用来执行数据导入导出的脚本,Canal 用来监控 MySql 的实时变
化,各安装在一个节点。
(5)Azkaban 配置集群模式,跟 kafka 放在一起。
1.2.3 离线测试集群环境规划(3 台)
服务器名称
自服务
服务器
Linux201
服务器
Linux202
服务器
Linux203
NameNode
√
DataNode
√
√
√
HDFS
HA
√
√
Yarn
NodeManager
√
√
√
Resourcemanager
√
Zookeeper
Zookeeper server
√
√
√
Flume(采集)
Flume
√
√
Kafka
Kafka
√
√
√
Flume(消费)
Flume
√
Hive
Hive
√
MySQL
MySQL
√
Sqoop
Sqoop
√
Azkaban WebServer
√
√
Azkaban
AzkabanExecutorServer
√
服务器总计
11
8
6
配置说明:测试环境的资源配置一般是开发环境的一半。测试节点大多都只
安装 3 台。
2 项目架构与技术选型
2.1 框架结构(画出来)
(日志部分:日志服务器,落盘日志,flume,kafka,hdfs,hive,mysql;
业务数据部分:mysql-sqoop-hdfs-hive)
2.2 确定框架版本选型
选用 Apache 框架版本:版本号的选择,根据 CDH 官网查询各个框架版本兼
容性问题。最终采用各个框架选择的版本为:
产品
版本
特点
Hadoop
2.7.2
Flume
1.7.0
1. 支持断点续传
2. 官方 HDFS 接口
3. 自带事务,不容易丢数据
Kafka
0.11.0.2
1. 支持多个消费者接口
2. 0.10 后,sparkstreaming 只支持 DirectAPI
Kafka Eagle
1.3.7
Hive
1.2.1
支持大规模的数据计算
Sqoop
1.4.6
采用命令行的方式调用任务
MySQl
5.6.24
Azkaban
2.5.0
1. 兼容任何版本的 hadoop
2. 调度工作流
3. 认证/授权(权限)
剩余24页未读,继续阅读
资源评论
AI_Maynor
- 粉丝: 7w+
- 资源: 153
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功