问题 1 :数据块设置成多大合适?
一般设置成128M,如果设置的太小,一般的文件会被分割成多个数据块,访问的时候就需要查找多个数据块的地址,降低了效率。
如果数据块设置的太小,对namenode内存消耗比较严重,因为namenode存储了整个集群的数据块信息,内存压力比较大。
如果数据块设置的过大,对于并行的处理就不会太好。也可能会涉及到系统的其他问题,比如系统重启的时候需要重新加载数据,数据块越大,加载的时间就越长。
问题 2 :namenode挂掉了怎么办?
现在的Hadoop2.0可以配置成HA高可用集群,集群里面有2个namenode节点,一个是active状态,为主节点;另一台是standby状态,为备用节点,两者的数据时刻保持一致。
当主节点出现问题的时候,备用节点就可以自动切换,用户基本感知不到,这样就避免了namenode的单点问题。