没有合适的资源?快使用搜索试试~ 我知道了~
项目介绍9.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 123 浏览量
2023-08-08
15:07:47
上传
评论
收藏 404KB DOC 举报
温馨提示
试读
35页
大数据项目+项目介绍+面试辅导
资源推荐
资源详情
资源评论
一、自我介绍(目前不知道怎么做)
您好,我叫 xxx,毕业于 xxx 学校,因为在大学里学过 javase、mysql、web、
数据结构与算法等计算机基础知识,在一份软件测试的实习中接触到数据仓库、
用户画像、推荐系统等这些概念,让我对大数据非常感兴趣,经过各种了解之后,
觉得大数据非常有发展潜力,因此确定要进入发展。
我比较喜欢大数据这个行业,很看好大数据未来的发展潜力,就学习了相关
的技术,像 hadoop,hive,flume,kafka,spark,hbase ,还有当下流行的 flink,
刚进到公司的时候,自己的经验并没有多么的丰富,也是在不断的学习研究之后,
才对大数据有了一个更深的了解。
在上一份工作中,我参与并完成的一个项目是一个电商数仓项目,我们这个
项主要包含三部分内容:
(1)数据平台搭建;
(2)数据仓库搭建及离线计算系统;
(3)实时计算系统;
二、从服务器购买开始规划大数据(目标 10 台)
1.确定主机的规模
1.1 物理机 vs 云主机
公司选型:阿里云主机
12 台物理机:128G 内存,8T 机械硬盘,2T 固态硬盘,20 核 40 线程,惠普 4
万多一台。
对比云服务器,同样的配置,阿里云 5W/年。
物理机需要有专门的运维人员,云主机由阿里云完成。
我们公司综合各种情况之后使用的是云主机。
1.2 集群规划
1.2.1 数据量统计
(1)用户行为日志的数据:
每日活跃人数:100 万
每人产生数据量:100 条
每天产生条数:100*100=10000 万条=1 亿条
每条日志数据大小:0.5k-2k 之间,平均每条 1k 左右
大概每天数据大小:大约 100G 左右
数仓层级:
ods 层:采用 lzo 压缩之后 10G 左右
dwd 层:采用 lzo 压缩+parquet 存储后 10G 左右
dws 层/dwt 层:为了快速计算不采用压缩 30G 左右
ads 层:数据量很小,忽略不计
保存三个副本:50*3=150G 左右
一年不扩容:150*360=540T 左右
预留 30%:540/0.7=75T 左右
(2)kafka 中数据:
2 个副本:100*2=200G
保存 3 天:200*3=600G
预留 30%:600/0.7=850G -> 900G -> 1T
(3)flume 数据 flume 数据忽略不计
(4)业务数据:
每天活跃用户:100 万
每天下单用户:10 万
每人每天产生业务数据:10 条
每条数据 1k 左右:10 万*10 条*1k=1g
数仓五层存储:1g*3=3g
保存三个副本:3*3=9g
半年不扩容:9*180=1.6T
预留 30%:1.6T/0.7=2T
(5)75T + 1T + 2T =78 T
(6)78 / 8 = 10 台
(7)能计算的数据量:
20 核物理 CPU 40 线程 * 10 = 400 线程
内存 128g * 10 台 = 1280g (计算任务内存 700g,其他安装框架需要内存)
128m =》1g 内存
=》87g 数据 、700g 内存
1.2.2 根据数据规模搭建集群(10 台)
1
2
3
4
5
6
7
8
9
10
nn
nn
dn
dn
dn
dn
dn
dn
dn
dn
rm
rm
nm
nm
nm
nm
nm
nm
nm
nm
zk
zk
zk
kafka
kafka
kafka
Flume
Flume
flume
Hbase
Hbase
Hbase
hive
hive
mysql
mysql
spark
spark
ES
ES
配置说明:
①NN 和 Mysql 配置高可用,取消 2dn。
②zk 和 kf 发在相同节点。客户端的服务尽量安装在相同节点,方便使用,数量>=1 即可,比如
hive 和 spark 都安装 2 个。Spark 在这里只是提交任务,跑任务时常使用的是依赖于 yarn。
③ES 与 HBase 分开安装,HBase 比 ES 耗空间。Flume 一般是放在日志服务器的。
1.2.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
AzkabanExecutorServe
r
√
服务器总计
11
8
7
配置说明:测试环境的资源配置一般是开发环境的一半。测试节点大多都只安装 3 台
2. 项目架构与技术选型
2.1 项目架构图
2.2 确定框架版本选型
产品
版本
特点
Hadoop
3.1.3
Flume
1.9.0
1. 支持断点续传
2. 官方 HDFS 接口
3. 自带事务,不容易丢数据
Kafka
2.11-2.4.1
1. 支持多个消费者接口
2. 0.10 后,sparkstreaming 只支持 DirectAPI
Kafka Eagle
1.4.5
Hive
3.1.2
支持大规模的数据计算
Sqoop
1.4.6
采用命令行的方式调用任务
MySQl
5.7.16
Azkaban
3.84.4
1. 兼容任何版本的 hadoop
2. 调度工作流
3. 认证/授权(权限)
4. 成功和失败会发电子邮件提醒
5. 易于使用的 Wev 界面
6. 方便设置任务之间的关系
Java
1.8
Zookeeper
3.5.7
Hbase
2.0.5
分布式,可扩展,海量数据存储的 NoSQL 数据库
Phoenix
5.0.0
1. Hbase 的开源 SQL 皮肤,方便操作
2. 支持 Hbase 的二级索引
Canal
1.1.2
支持任意格式的数据格式
Elasticsearch
6.3.1
对海量数据进行近实时的处理
Kibana
6.3.1
为 Es 设计的开源分析和可视化平台
Spark
2.4.5
1. 基于内存运算,比 Hadoop 快 100 倍
2. 支持 Java,Python 和 Scala 的 API
3. 提供了统一的解决方案
4. 极易方便和 Hadoop 环境进行融合
Redis
3.2.5
自带去重功能
2.3 组件选取及分布
1
2
3
4
5
6
7
8
9
10
nn
nn
dn
dn
dn
dn
dn
dn
dn
dn
rm
rm
nm
nm
nm
nm
nm
nm
nm
nm
zk
zk
zk
kafka
kafka
kafka
Flume
Flume
flume
Hbase
Hbase
Hbase
hive
hive
mysql
mysql
spark
spark
ES
ES
剩余34页未读,继续阅读
资源评论
AI+Maynor
- 粉丝: 7w+
- 资源: 167
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功