Hadoop 集群中各结点系统时间匹配问题

由于近期项目需求,需要修改hadoop 集群系统时间,从而测试一些跟当前系统时间有关的service,然而:

1、hadoop 集群的系统时间如何修改?

2、是否需要修改每一台机器的时间?并写入cmos?

3、是否需要严格匹配或同步?

4、hadoop内部机制中尤其是hdfs所采用的操作时间是系统时间呢还是cmos时间?


由于并没有搞清楚内部机制和原理,所以只能去尝试,以上问题我并没有完全搞懂,但是修改系统时间,并使得跟系统时间有关的service可以根据当前修改后的时间进行运行,这一需求我已实现。方法如下:(欢迎懂原理的童鞋朋友指教!)


1)修改service所在机器系统时间:date -s 10/30/2013(2013年10月30日)(这里不需要强行写入cmos)


2)重启hadoop(stop-all.sh  ;  start-all.sh)


3)由于重新启动后的一小段时间内,namenode还处于安全模式,此时不能写入hdfs,因此,如果想立即执行有写操作的命令,此时需要手动退出安全模式:

hdfs dfsadmin -safemode leave


4)修改完成



说明:由于我只是修改了某一台机器的系统时间,因此hadoop不同节点的系统时间并不相同。但是此时hadoop正常运行,而且hdfs的写入时间(即集群中文件创建时间和系统时间都不相同,现在还不知道为什么)

你可能感兴趣的:(集群,安全,hdfs,NameNode)