没有合适的资源?快使用搜索试试~ 我知道了~
项目介绍11.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 78 浏览量
2023-08-08
15:07:47
上传
评论
收藏 597KB DOCX 举报
温馨提示
试读
47页
大数据项目+项目介绍+面试辅导
资源推荐
资源详情
资源评论
项目介绍
一、自我介绍
面试官您好!
我叫 XXX,是 2019 年本科毕业于 XXXX 大学通信工程专业的毕业生。我的上
一份工作是大数据开发工程师并也是我的第一份工作,之所以这个方向首先是因
为我在大学期间学了一些计算机相关的知识,包括计算机网络、数据结构、C 语
言、Java 语言等计算机相关知识。在大二大三的时候我做的是电子信息相关的嵌
入式开发,后来在大三的时候参加了学校组织的一些大数据相关的一些讲座,并
在那之后开始对大数据这个方向非常感兴趣,于是决定想往大数据这个方向发展,
所以在后续打大学生涯里先后学习了大数据相关的框架以及各种组件,比如用于
分布式存储和计算的 Hadoop 框架及其生态(离线计算的 Mapreduce、分布式存储
系统 Hdfs、用于资源调度的 Yarn、数据层的 Hive 数据查询)、用于传输和采集数
据的 Flum、Kafka、用于任务调度的 Azkaban、以及分布式实时计算框架如 Flink
和 Sparkstreaming 实时计算。
后来在毕业以后进了一家电商公司做数据开发岗,因为刚进入公司的时候公
司的数据部门是刚起步,所以经历了项目从 0 到 1 从无到有的完整开发流程。我
们部门所做的项目是对公司的电商平台的业务数据和日志数据做分析和处理为
目的。所以在这家公司的一多年里,我参与了项目的数据平台搭建、数仓项目的
离线计算和实时分析,其中包括了服务器选型、项目架构设计、框架版本选型;
数据仓库的建模、离线指标分析计算以及实时分析计算、数据质量监控等待一系
列流程。
下面是我在这家公司所做的项目的介绍与一些具体细节:
二、从服务器购买开始规划大数据
1、确定集群规模
1.1 物理机 vs 云主机
公司服务器选型:阿里云主机
原因如下:
(1)机械成本考虑:
① 物理机:以 128G 内存,20 核物理 CPU,40 线程,8T 机械硬盘(THDD)
和 2T 固态硬盘(SSD),单台报价 4W 出头,惠普品牌。一般物理机寿命
大概在五年左右。
② 阿里云主机:相同配置差不多每年 5W 左右。
(2)运维成本考虑:
① 物理机:需要有专门的运维人员维护,大概每个月需要 1W 的薪资支付,
还需要电费以及机房空调的安装。
② 阿里云主机:运维工作基本上由阿里的工作人员完成,运维相对比较轻
松。
1.2 集群规划
1.2.1 数据量统计
1:用户行为数据
每日活跃用户:100 万人
每人产生日志数量:100 条
每天产生日志数量:100 万*100 条=1 亿条日志
每条日志数据大小:0.5-2k 之间,平均每条 1k 左右
每天数据量大小:1 亿*1k 大概 100G 左右
数据仓库:
ods 层:100G 采用 lzo 压缩之后大概 10G 左右
dwd 层:采用 lzo 压缩+parquet 列式存储后 10G 左右
dws/dwt 层: dws+dwt(轻度聚合存储) 为了快速计算不采用压缩
50G 左右
ods 层: 数据量小,忽略不计
保存三个副本:70G*3=210G
半年不扩容:210G*180 约 37T
预留 20%~30%: 37T/0.7=53T
2:Kafka 中的数据
1、每天 100G 数据
2、2 个副本 100G*2=200G
3、副本数据保存三天 200G*3=600G
4、预留 30% 600G/0.7=约 1T
3:Flume 中的数据
数据量比较小,忽略不计
4:业务数据
1、每天活跃用户 100 万,平均每天下单用户 10 万,每人下单产生 10
条日志,每条日志平均 1K 左右,10 万*10 条*1k=1G 左右
2、数仓 4 层存储(不压缩) 1G*3=3G
3、保存三个副本 3G*3=9G
4、半年不扩容 9G*180=约 1.6T
5、预留 20%~30% 1.6T/0.7=约 2T
5:服务器台数
集群规模: 53T+1T+2T=56T
服务器台数 56T/8T=7 台服务器
1.2.2 根据数据规模进行集群规划
1
2
3
4
5
6
7
nn
nn
dn
dn
dn
dn
dn
nm
nm
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
配置说明:
①NN 和 Mysql 配置高可用,取消 2dn。
②zk 和 kf 发在相同节点。客户端的服务尽量安装在相同节点,方便使用,数量>=1 即
可,比如 hive 和 spark 都安装 2 个。Spark 在这里只是提交任务,跑任务时常使用的是依赖
于 yarn。
③ES 与 HBase 分开安装,HBase 比 ES 耗空间。Flume 一般是放在日志服务器的。
1.3.3 离线测试集群环境规划(3 台)
服务器名称
自服务
服务器
Test102
服务器
Test103
服务器
Test104
NameNode
√
DataNode
√
√
√
HDFS
HA
√
√
NodeManager
√
√
√
Yarn
Resourcemanager
√
Zookeeper
Zookeeper server
√
√
√
Flume(采集)
Flume
√
√
√
Kafka
Kafka
√
√
√
Flume(消费)
Flume
√
Hive
Hive
√
MySQL
MySQL
√
Sqoop
Sqoop
√
Azkaban WebServer
√
√
Azkaban
AzkabanExecutorServer
√
服务器总计
11
8
7
配置说明:测试环境的资源配置一般是开发环境的一半。测试节点大多都只安装 3 台。
2、项目架构与技术选型
2.1 项目架构图
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
实时监控 Kafka 的性能状况
Hive
1.2.1
支持大规模的数据计算
Sqoop
1.4.6
采用命令行的方式调用任务
MySQl
5.6.24
Azkaban
2.5.0
1. 兼容任何版本的 hadoop
2. 调度工作流
3. 认证/授权(权限)
4. 成功和失败会发电子邮件、打电话提醒
5. 易于使用的 Wev 界面
6. 方便设置任务之间的关系
Java
1.8
Zookeeper
3.4.10
Hbase
1.3.1
分布式,可扩展,海量数据存储的 NoSQL 数据库
Phoenix
4.14.1
1. Hbase 的开源 SQL 皮肤,方便操作
剩余46页未读,继续阅读
资源评论
AI+Maynor
- 粉丝: 7w+
- 资源: 167
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python 程序语言设计模式思路-结构型模式:组合模式:将对象组合成树形结构
- 毕业设计基于python矩阵分解的推荐算法研究源码+详细文档+全部数据资料 高分项目.zip
- 基于网络的入侵检测系统源码+数据集+详细文档(高分毕业设计).zip
- 微信小程序源码 旅行故事分享 - 面包旅行App界面设计与文本展示资源下载
- 微信小程序源码 创意互动游戏 - 你画我猜App下载
- 摸底考试_学生版20230305.py
- 课程设计基于FPGA数字钟课程设计源码+课设报告(95分以上).zip
- 基于Java的企业家申报系统设计源码
- Cesium案例,集成各种模型,推演,各种Cesium效果
- 基于Python的Struts2全漏洞扫描利用工具设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功