2016年负责实施了一个生产环境的大数据平台,用的CDH平台+docker容器的方式,过了快半年了,现在把总结发出来。
1. 平台规划注意事项
1.1 业务数据全部存储在datanode上面,所以datanode的存储空间必须足够大,且每个datanode的存储空间尽量保持一致。
1.2 管理节点/namenode对存储空间要求不高,主要存储各计算节点datanode的元数据信息,以3个datanode为例,每个datanode存储2T的数据,namenode才耗费80G的空间。
1.3 由于hadoop有数据副本机制,默认为3个副本,因此datanode节点,系统盘做raid 1,数据盘做raid 0;namenode做raid 5,不管系统盘还是数据盘,都可以直接更换,保证数据不丢失;
1.4 计算节点datanode依靠的是数量优势,除了存储空间足够大之外,对机器配置要求不高,但是安装spark和impala的话对内存的要求较高,单节点2T的数据配置64G的单机内存有点吃力。
1.5 但是namenode要跟所有的datanode交互,接收处理各种请求,对机器配置要求较高,以的测试数据来看,namenode存放80G的元数据时,64G的内存已经有点紧张了,开始使用交换内存了。
1.6 namenode和Secondary namenode需要各自独立的两个节点,即相互独立部署,这样即使namenode机器挂了,也可以手动从secondary namenode恢复一下。在Hadoop 2高可靠性下可以配置两个namenode,保证一个namenode出现问题可以自动切换至另一个