前言
CDH节点操作,按理是可以动态添加,或减少的,但是在实际操作过程中,却不是这样,因为不管添加或减少数据节点,都会涉及到配置文件的变化,因此在添加或减少过后都需要做服务重启,才能使操作生效,而且没有操作快照,使问题操作或者误操作不能返回,这或许是开源产品的一个不足之处。
问题
在添加节点时,原数据节点(例:hadoopOld)的数据存储目录(/home/data/hadoop),和新数据节点(hadoopNew)的数据存储目录(/home/data/0)不同。 在添加节点过程中,在原数据节点的数据存储目录之上,添加新数据节点的数据存储目录,导致新添加的数据节点目录,映射到所有节点(hadoopOld和hadoopNew),因此集群在做磁盘检查的时候,认为/home/data/new磁盘目录是坏的,而且datanode服务设置接受的 DataNode失败的卷为new,导致hadoopOld所有目录都无法加载。而恰恰hadoopOld上/home/data/hadoop目录下存储了之前所有的数据,从而导致了数据丢失。 CM显示datanode运行状况: