没有合适的资源?快使用搜索试试~ 我知道了~
项目介绍3.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 156 浏览量
2023-08-08
15:07:45
上传
评论
收藏 248KB DOCX 举报
温馨提示
试读
37页
大数据项目+项目介绍+面试辅导
资源推荐
资源详情
资源评论
如何说项目
一、自我介绍
1.1 求解答
问题 1
如果面试官问我,一枚文科生怎么想到做大数据开发。请问我该怎么回答,比较合适?
问题 2
零基础。大数据相关的经验这块,不知道怎么写。下面写的不知道合不合适?
1.2 正文(编故事)
大家好,面试官好!
我叫 XXX,是个跨界程序员。我先给大家讲讲我为什么会跨界到大数据这个行业?2015
年毕业后,先做了 1 年多的亚马逊电商外贸销售。工作中,经常会使用到一些工具,去查看、
统计潜在客户的点击行为,关心产品(搜素关键词),以及同行或其他平台的销售情况。然后,
公司领导在这些结果的基础上,根据公司的情况,做出最适宜的下一季度的销售策略。我很
好奇这些工具是怎么精确统计到这些信息的。于是就查询了一些资料,并问了从事 IT 行业
的朋友,才发现原来国内已经有很多公司利用大数据做决策了。因为好奇+崇拜,我也想要
进入这个行业。
于是,我找来了大数据开发相关的资料,学习了 5 个月,有针对性地着重学习了大数据
技术生态体系中市面上各种常用的框架:像数据传输层使用的 flume、kafka,数据存储层的
hdfs、hbase,资源管理层的 Yarn,数据计算层的 Hive 数据查询、MapReduce 离线计算、Spark
streaming 实时计算,使用 Azkaban 可以进行任务调度......我学了这些框架,真的会用吗?别
担心。因为没多久,有一家电商公司给我发来了 offer。虽然薪资待遇比不了大厂,但公司
很重视大数据开发这块,约定根据表现和公司业绩,每季度做调整。再加上老大是个技术大
佬,公司氛围比较简单活泼,所以,我加入了这个大家庭。
之前 3 年多的时间里一直从事大数据开发工作。
刚开始是在平台岗,主要负责数据平台的搭建以及维持整个框架的正常运行,从购买服
务器,包括框架版本选型,以及服务器台数定制,这些都是从 0 到 1 搭建的;在平台岗工作
了差不多半年时间,由于这段期间表现比较突出,公司想成立数仓组,就让我负责筹建搭建
数仓的工作,我从数仓建模开始逐渐搭建元数据管理,数据质量监控,权限管理,指标分析,
之后就一直数仓岗的工作;直到一年前,公司老大决定要做实时这块,要统计一个大屏的可
视化展示,可能觉得我的攻坚能力比较强,第一时间又想到了我,我就把这个活接过来了,
我开始组建实时团队,也比较好的完成了任务。
我之前做的一个项目是一个电商数仓项目,我们这个项主要包含三部分内容:
(1)数据平台搭建;
(2)数据仓库搭建及离线计算系统;
(3)实时计算系统;
接下来我对这个项目做一下简单介绍。
二、从服务器购买开始规划大数据
1. 确定集群规模
1.1 物理机 vs 云主机
12 台物理机:128G 内存,8T 机械硬盘,2T 固态硬盘,20 核 40 线程,惠普 4 万多一台。
对比云服务器,同样的配置,阿里云 5W/年。
物理机需要有专门的运维人员,云主机由阿里云完成。我们公司综合各种情况之后使用的
是云主机。
1.2 集群规划
1.3.1 数据量统计(备注:待调整)
1:用户行为数据:
每日活跃人数:80 万
每人产生数据量:100 条
每天产生条数:80*100=8000 万条
每条日志数据大小:0.5k-2k 之间,平均每条 1k 左右
大概每天数据大小:大约 80G 左右
数仓层级:
ods 层:采用 lzo 压缩之后 8G 左右
dwd 层:采用 lzo 压缩+parquet 存储后 8G 左右
dws 层:为了快速计算不采用压缩 40G
Ads 层:数据量很小,忽略不计
保存三个副本:56*3=168G 左右
半年不扩容:168*180=30T 左右
预留 30%:30/0.7=45T 左右
2:kafka 中数据:
1:2 个副本:80*2=160G
2:保存 3 天:160*3=480G
3:预留 30%:480/0.7=685G ->700G
3:flume 数据忽略不计
4:业务数据:
每天活跃用户:80 万
每天下单用户:10 万
每人每天产生业务数据:10 条
每条数据 1k 左右:10 万*10 条*1k=1g
数仓四层存储:1g*3=3g
保存三个副本:3*3=9g
半年不扩容:9*180=1.6T
预留 30%:1.6T/0.7=2T
5:集群总规模:45T+700G+2T=48T 约->50T, 服务器数量=50T/8=7 台
1.3.2 根据数据规模搭建开发环境集群规模(7 台)
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 台)
服务器名称
自服务
服务器
服务器
服务器
Hptest201
Hptest202
Hptest203
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 项目架构图(画出来)
(日志部分:日志服务器,落盘日志,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. 认证/授权(权限)
4. 成功和失败会发电子邮件、打电话提醒
5. 易于使用的 Wev 界面
6. 方便设置任务之间的关系
Java
1.8
Zookeeper
3.4.10
Hbase
1.3.1
分布式,可扩展,海量数据存储的 NoSQL 数据库
Phoenix
4.14.1
1. Hbase 的开源 SQL 皮肤,方便操作
2. 支持 Hbase 的二级索引
Canal
1.1.2
支持任意格式的数据格式
Elasticsearch
6.3.1
对海量数据进行近实时的处理
Kibana
6.3.1
为 Es 设计的开源分析和可视化平台
Spark
2.1.1
1. 基于内存运算,比 Hadoop 快 100 倍
2. 支持 Java,Python 和 Scala 的 API
3. 提供了统一的解决方案
4. 极易方便和 Hadoop 环境进行融合
Redis
3.2.5
自带去重功能
剩余36页未读,继续阅读
资源评论
AI+Maynor
- 粉丝: 7w+
- 资源: 167
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功