接着之前的任务,还是为了在VMWare上搭建分布式hadoop集群。搭着搭着注意到虚拟机上的时间和本机是不同步的,而且可以说是乱七八糟,3台虚拟机时间都与本机差了8个小时以上。首先确认不是时区的问题,然后就要想办法让虚拟机时间同步真实时间。

  思路一:使用时间同步服务,让虚拟机自行同步时间。这个方法没尝试就直接放弃,万一本机无法联网,那岂不是坏菜。而且这种同步不知道多久同步一次,能不能设置同步周期?有兴趣的同学可以尝试用这种方法解决。

  思路二:让虚拟机和本机进行时间同步。

  让虚拟机和本机同步时间需要在虚拟机上安装vmtools,并且修改虚拟机配置文件XXX.vmx中的tools.syncTime = "FALSE" 为 "TRUE"。

  顺带提一下,在纯命令行下安装vmtools和在图形界面下安装过程差不多。

    0. 前提软件:perl,ifconfig,gcc, kernel头文件。这四个必须有,否则安装会失败。

      vmtools本身是用perl写的,所以需要主机上有perl。

      ifconfig gcc kernel头文件都是vmtools安装过程中需要使用的,如果没有,安装会失败。

      一般这些软件都是很多linux系统预装的,但是我的虚拟机时最小化安装的,所以这些都没有,perl、ifconfig、gcc这三个好说,正常安装就可以了。kernel头文件是什么具体我也不清楚,大概是/usr/src/kernels/3.10.0-327.10.1.el7.x86_64/include/linux/version.h这个文件,3.10.0-327.10.1.el7.x86_64是系统内核版本号,可以通过"uname -r"查询。网上有些资料说这个kernel头文件因为系统版本的改变位置变化过,可能你的系统有这个头文件,但是位置不是vmtools知道的位置,比如我的vmtools可能就是去上面的路径找,这个视系统和vmtools版本不同可能比较麻烦。不管怎么样就是你要先确定自己系统上有这么个文件,并且让vmtools能找到它。如果vmtools找不到这个头文件,在安装过程中会有提示。如果你的系统没有kernel头文件,你需要安装kernel-devel-3.10.0-327.10.1.el7.x86_64,kernel-devel后面跟的是系统内核版本。版本安装错了也会失败。如果安装过kernel-devel后还找不到头文件,就执行"ln -s /usr/src/kernels/3.10.0-327.10.1.el7.x86_64/include/generated/uapi/linux/version.h /usr/src/kernels/3.10.0-327.10.1.el7.x86_64/include/linux/version.h",将头文件连接到vmtools能找到的地方。

    1. 设置虚拟机,让cdrom连接vmware自带的linux.iso。也可以通过"虚拟机"->"安装VMTools",自动将cdrom连接到linux.iso。

    2. 图形界面下一班会自动挂载cdrom,命令行下需要手动挂载: mount /dev/cdrom /mnt。将cdrom挂载到/mnt目录下,这个目录不影响,随意指定。

    3. 进入cdrom挂载目录,将里面的VMwareTools拷贝出来,我的是VMwareTools-10.0.5-3228253.tar.gz,然后解压。cdrom一般是只读的,所以解压前要拷贝出来。

    4. 进入解压目录,调用 vmware-install.pl。然后按照提示一步一步执行就行了。

  安装完后需要重启虚拟机,有时候可能重启以此还不够(实践中发现的)。这个自动同步好像不是全自动的,如果虚拟机时间和你的主机的时间差很多的话,好像不会自动同步,具体原因本人也不清楚,所以需要手动用"date -s '2016-04-22 12:00:00'"这样设置一下。基本上重启之后时间就会自动同步了。

  

CentOS虚拟机与本机同步时间的更多相关文章

  1. Centos 虚拟机 和宿主机 文件共享

    我虚拟机下安装的是一个命令行式的centos ,想要把虚拟机里面的源文件移到宿主机上.于是我就想着搞一个文件共享. 网上有很多办法,比如Samba .ftp之类的.我选择了vmware自带的文件共享功 ...

  2. CentOS虚拟机和物理机共享文件夹实现

    安装open-vm-tools: yum -y install  open-vm-tools yum -y  install open-vm-tools yum -y install  open-vm ...

  3. centos Chrony设置服务器集群同步时间

    Chrony是一个开源的自由软件,像CentOS 7或基于RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让时间始终 ...

  4. 搭建NTP时间服务器~使用NTP同步时间~构建主机间时间自动同步关系

    NTP是一个时间服务器,同时它也是一个时间客户端. 我们可以使用它构建主机与主机之间的时间自动同步环境,保证所有服务器时间一致性. 常用的公共NTP时间服务器有: cn.ntp.org.cn 中国 n ...

  5. CentOS同步时间

    用date查看系统当前时间,date -R 可查看时区. CentOS 同步时间由ntp服务提供,可以用"yum install ntp -y"安装. 装完后运行命令 ntpdat ...

  6. 怎么让CentOS集群自动同步时间

    怎么让CentOS集群自动同步时间?首先机器要连外网,这样才能从互联网上同步时间,这是首先要了解的.好了,主要的方法如下: 在除了运行ntpd之外的机器上,执行: [html] # chkconfig ...

  7. CentOS 同步时间

    来源:http://www.ctusky.com/16/0497/ 用date查看系统当前时间,date -R 可查看时区. CentOS 同步时间由ntp服务提供,可以用"yum inst ...

  8. CentOS集群自动同步时间的一种方法

    CentOS集群自动同步时间的一种方法 之前有篇日志是手动同步时间的 http://www.ahlinux.com/os/201304/202456.html 之所以这么干,是因为我们实验室的局域网只 ...

  9. centos修改时区并同步时间

    查看服务器时间及所在时区 [root@localhost ~]# date -R Fri, 07 Dec 2018 04:38:28 -0500 修改时区 先使用 tzselect 根据提示选择所在地 ...

随机推荐

  1. java 缓冲流 Buffer

    缓冲流 Buffer :设置缓冲区加快执行效率 子类: (一)BufferedInputStream : 缓冲输入字节流 ,目的:提高读取文件的效率  注意: BufferedInputStream ...

  2. 短视频SDK简单易用——来自RDSDK.COM

    锐动天地为开发者提供短视频编辑.视频直播.特效.录屏.编解码.视频转换,等多种解决方案,涵盖PC.iOS.Android多平台.以市场为导向,不断打磨并创新技术,在稳定性,兼容性,硬件设备效率优化上千 ...

  3. java 线程池第一篇 之 ThreadPoolExcutor

    一:什么是线程池? java 线程池是将大量的线程集中管理的类,包括对线程的创建,资源的管理,线程生命周期的管理.当系统中存在大量的异步任务的时候就考虑使用java线程池管理所有的线程.减少系统资源的 ...

  4. swift 与 NSObject

    以NSObject为基类,只是为了提供Objective-C API的使用入口: 经由@object修改的对象,是这些api的参量. NSObject是swift与oc特有机制沟通的桥梁. Subcl ...

  5. C# 获取目录下文件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. hibernate inverse属性

    修改街道对应的区道信息: 修改后会发现程序执行了两次修改操作: 原因: 区道与街道是一对多的关系: 由于Hibernate是双向维护外键,所以当修改区道中的街道时,会修改一次外键:在修改街道中的区道时 ...

  7. jekyll 将纯文本转化为静态网站和博客 静态网站生成器

    jekyll 将纯文本转化为静态网站和博客 静态网站生成器 这个貌似对windows 支持不是很好~ 但是有支持,官方说不建议使用

  8. MySQL索引的用处

    MySQL索引在MySQL数据库中,可以有效提高查询的效率,尤其是查询数据量非常大时,效果更为明显,往往能使查询速度加快成千上万倍. MySQL索引是很重要的概念,应用的范围非常广.那么,MySQL索 ...

  9. 实训day01 python基础

    一.编程语言 编程语言:可以被计算机所识别的表达方式. 编程:程序员通过编程语言将自己的想法编写出来,产生的结果就是包含字符的文件. 其中,只有程序在运行时,其中的字符才有特定的语法意义. 二.计算机 ...

  10. Timer时钟(之一)

    using System.Timers; static void Main(string[] args) { ThreadingTimer(); DateTime a = DateTime.Now; ...