大数据项目中如何实现架构选型和集群规划?

大数据项目中如何实现架构选型和集群规划?
1.处理流程
数据源
关系型数据库
表:订单,用户,地址。。。
日志文件: 页面数据、埋点数据

数据采集
sqoop、kettle flume shell
.

数据存储:
HDFS、Hive、HBASE

数据清洗
Mapreduce、hive、sparkCore

数据处理(分析)
Hive、MapReduce

数据应用
展示
2.架构逻辑
(1)用户访问不同的客户端,触发不同的SDK(前端、IOS、Android)
(2)SDK收集所有需要的数据,发送给nginx日志服务器(后台开发)
(3)nginx服务器接收SDK发送过来的日志,并记录下来(后台开发)
(4)使用flume采集所有日志节点上的数据到HDFS统一存放
(5)使用MapReduce对数据进行ETL
(6)使用MapReduce对ETL之后的数据构建分析模型(Hive) 按照需求(topic)构建表
(7)使用Hive对模型数据进行指标分析
(8)将Hive分析结果导出MYSQL中 sqoop

3.集群设计规划
(1)数据量大小(中小型电商网站为例)

访客数:200~500W

页面上:(平均值) 电商:20~40个页面

记录大小:300~1000字节 20个字段:400字节

一条的数据量:
记录数:300W *20 = 6000W
数据大小:60000000 * 0.5kb=30GB

常规的中小型公司一天的数据量:20GB~40GB

数据存储3年 30GB * 365 * 3 * 3(3份)= 98TB

一台机器:8 *2 = 16TB 可用空间:16TB *80% = 12TB
DataNode:90 /12 = 8 (1~3) = 9~11台
公司业务发展比较快,准备的机器就会稍微多一些

(2)所有集群台数

DataNode、Nodemanager、RegionServer:9~11台

Namenode +ResourceManager、HMaster:3~4台
node1: Namenode(active)
node2:Namenode/ ResourceManager(standby)
node3: ResourceManager(active)

Hive、azkaban:2台
hive需要的资源比较少,就是一个MapReduce客户端,所有可以和其他工具放一起
client(beeline) ->hiverserver2 ->metastore

zookeeper:3台、5台

(3)机器的选择

8核16GB 、16核32GB 、32核64GB、32核128GB
Yarn:计算
task:1核1GB
NameNode:16GB
RegionServer(16GB)
系统盘/数据盘:普通硬盘
元数据存储的硬盘/zookeeper的硬盘:SSD
————————————————
版权声明:本文为CSDN博主「leson-xu」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43740680/article/details/96200522

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值