陕西人流量分布及迁徙设计问题

各位老师:大家好!
  我现在有一个实际项目需要老师帮助设计下。(从上到下的数据流都可以由我来定,除了页面实现外,也只有我一个做)
  详细需求见附件。
  接口:文件,厂家每5分钟向接口服务器put一次,全天越20亿条,1T。
  硬件:HP585G7*8
  每台:48c 128G 8*1T磁盘 双万兆网卡
  规划:hadoop集群5台,2台FTP服务器,1台前web服务器,
     1-5:部署hdfs,hbase,hive
     6-7:部署flume,zookeeper,kafka,,由于需要高可用,先期提供2台FTP服务器,由厂家推送2份,2台起同样的flume,指向相同的HDFS路径。但只在一台上起数据校验程序,将校验后的ftp目录文件,搬移至flume监控目录。实现手动可切换(后续实现由zookeeper管理的自动切换,zookeeper变成这我还没看~~~)。
     8:部署zookeeper,kafka,tomcat
数据流程规划:原始文件(6-7ftp目录)->校验(删除校验文件)->6或7的flume目录->flume->hdfs->mr->hive或hbase
 
以上为我的初步构想,如果kafka用不上的话,我就准备吧kafka搞成flume的channel争取把学的都用上。这里也希望老师能够在设计上给与以下帮助。
 
问题:整个陕西都没有相关hadoop的经验,对于上层实现上完全没有头绪,处理完的数据应该如何提供给上层呈现热力图和迁徙图,老师是否可以提供一些类似的方案。我应该用什么方式给应用层提供数据,是kafka、spark、hbase、strom、还是hive?

mopishv0 - 高级开发工程师@美团

赞同来自: 编程小梦 fish footprint

通过“厂家每5分钟向接口服务器put一次,全天越20亿条,1T”可以得知每天最多put 24*12次,每次put月695万数据,每次3.6GB数据。按照这个数据量,一般离线拉取数据文件用flume即可(你自己的方案也是这么选择的),然后bulkload进hbase或者ETL工具写入hive即可。具体使用hbase还是hive取决于你后续是想用kv的方式、mr的方式还是sql的方式读数据。 建议正式项目不要为了用组件而用组件,要根据学到的原理去判断哪个组件更适合自己的需求,这就已经达到学以致用的目的了,期待你能自问自答对当前需求为什么flume比kafka更合适。 另外,每天产生1T数据,hdfs 3备份就是3T,hdfs资源:5*8*1T=40T,那么不考虑hbase的compaction、bulkload等处理,现有资源也就能存不到半个月的数据?建议每个节点都根据情况部署datanode,以充分利用存储资源,datanode本身不会占用太多内存和cpu。至于“根据情况”希望你能先自己分析一下,这样实际练习的机会不多呢。 最后,你提供的文档对于现阶段的问题描述来说可有可无,把内部文档拿到互联网来提问真的大丈夫?

要回复问题请先登录注册