一、硬件选型:
1、服务器:太贵:大型机、小型机(400W左右),一般起步公司假设年收2000W,硬件成本占1/4不太现实
2、PCServer:适合:最适合hadoop的支持廉价机器的,20-5W不等
3、云服务:小公司适用,但是如果数据增长过快,可能很快就需要自行搭建硬件集群,进行数据迁移。以滴滴为例,目前全球日数据量是2000TB
4、普通PC机器,稳定性差,可用于实验环境。
二、集群规模:
1、核心因素:数据量;
问题: 日数据量20G,需保存10年,需要多少台Server?
总数据量: 20G*350*10=70000G=70T
副本数量: 3
一台机器: 4T
性能考虑: 预留30%
70*3/(1-30%)/4=80台
2、性能需求:
简单查询100G数据量时,耗时上限(5-10min?)
复杂查询(join)时,耗时上限(30min?)
历史数据导入时,耗时上限
增量数据导入时,耗时上限
3、可靠性需求:
每月宕机次数(<1)
每月宕机时间(<10min)
4、可用性:
每台机器每月的宕机时间()
5、容错性:
机器故障,数据不丢失
四、软件选型:
1、jdk : 1.7 1.8
2、hadoop: apache /cm+cdh/ambari+hdp
3、OS: centos(6 7)
4、网络:千M或者 万 M
五、节点规划:
1、软件安装目录
2、数据存放目录
3、临时存放目录
4、pid目录
5、用户目录
6、其它目录
六、HA High Available
1、故障转移
zkfc(zkFailoverController)的两大组件实现namenode的故障转移:healthMoniter、activeStandbyElector
2、共享存储
QJM共享namenode edits 日志。
journalNode在共享存储的基础上进行namenode日志同步服务;