1. date命令
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站建設、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的遂溪網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
#date 查看系統(tǒng)時間
#date -set “10/30/20 11:30” 設置月/日/年/ 時:分:秒
2.clock命令
#clock -show 查看硬件時間
3.硬件時間和系統(tǒng)時間同步
重新啟動系統(tǒng),硬件時間會讀取系統(tǒng)時間,實現(xiàn)同步。
但是,不重啟的情況下,需要用clock命令實現(xiàn)同步。
#clock -systohc
環(huán)境準備:
要做到服務器集群的時間同步,集群中各臺機器的時區(qū)必須相同的,我們在國內就使用中國時區(qū),如果你的機器的時區(qū)不是"Asia/Shanghai",需要修改時區(qū)
CentOS 中時區(qū)是以文件形式存在,當前正在使用的時區(qū)文件位于
/etc/localtime ,其他時區(qū)文件則位于 /usr/share/zoneinfo 下,中國時區(qū)的文件全路徑是 /usr/share/zoneinfo/Asia/Shanghai
要更改時區(qū),直接使用如下命令就OK
需要使用 tzselect 命令去生成時區(qū)文件,生成好的時區(qū)文件就在/usr/share/zoneinfo 目錄下,具體步驟去下:
使用 date -s 命令來修改系統(tǒng)時間
讓集群所有的服務器的時間同步,就用遠程連接工具連接所有服務器,然后在所有的服務器中同時執(zhí)行 date -s 命令設置時間,然后在所有的服務器中執(zhí)行 hwclock -w 命令即可
美國標準技術院時間服務器:time.nist.gov(192.43.244.18)
上海交通大學網(wǎng)絡中心NTP服務器地址:ntp.sjtu.edu.cn(202.120.2.101)
中國國家授時中心服務器地址:cn.pool.ntp.org(210.72.145.44)
若以上提供的網(wǎng)絡時間服務器不可用,請自行上網(wǎng)尋找可用的網(wǎng)絡時間服務器
1 使用命令: crontab -e
2 然后往里加入一行內容
上面的配置表示,每隔十分鐘從 202.120.2.101 該時間服務器同步一次時間。
3 保存退出
以上兩步操作可以讓node01這個服務器每隔10分鐘去指定的服務器同步時間,如果需要讓集群中的所有服務器(hadoop01-hadoop04)時間同步,那么每臺服務器都要做以上兩步操作。
node01的IP為192.168.21.101,讓它作為時間服務器,192.168.21.0局域網(wǎng)內的所有服務器都向它同步時間,而node01這臺時間服務器本身,向外網(wǎng)時間服務器同步時間(比如中國國家授時中心服務器)
我用node01
我去掉了所有的默認注釋,對其中的修改寫了自己的注釋,沒有寫注釋的是默認配置
因為ntpd服務開啟之后,就不能手動同步時間了,那么為什么要先手動同步時間呢?
當server(中國國家授時中心服務器)與client(node01)之間的時間誤差過大時(可能是1000秒),node01去同步時間可能對系統(tǒng)和應用帶來不可預知的問題,node01將停止時間同步!所以如果發(fā)現(xiàn)node01啟動之后時間并不進行同步時,應該考慮到可能是時間差過大引起的,此時需要先手動進行時間同步!
看到紅色框中的內容,表示連接和監(jiān)聽已正確
這里的前4行就是我們配置的4個中國國家授時中心的服務器的信息
最后一行就是本地時間服務的信息
下面對每個列的意義進行說明:
同樣,服務啟動后需要等待5-10分鐘才能看到這個正常的信息
到這里,我們局域網(wǎng)內的時間服務器node01就已經配置完畢了
文件內容如下:
同樣,沒有寫注釋的都是默認的配置
原因同(5)
到這里,利用局域網(wǎng)內一臺時間服務器來同步整個集群時間的全部配置就已經完成
說明:若以上提供的網(wǎng)絡時間服務器不可用,請自行上網(wǎng)尋找可用的網(wǎng)絡時間服務器,另外需要關閉各服務器的防火墻,才能進行時間同步
參考文章:
內網(wǎng)環(huán)境NTP服務及時間同步(CentOS6.x)配置和部署
配置NTP服務ntpd/ntp.conf(搭建Hadoop集群可參考)
在Linux系統(tǒng)中存在兩個時鐘時間,分別是
硬件時鐘是指的在主板上的時鐘設備,也就是通??梢栽贐IOS畫面設置的時鐘,即使關機狀態(tài)也可以計算時間。
而系統(tǒng)時鐘則是指Kernel中的時鐘,其值是由1970年1月1日00:00:00 UTC時間至當前時間所經歷的秒數(shù)總和。當Linux啟動的時候,系統(tǒng)時鐘會讀取硬件時鐘的設定,之后系統(tǒng)時鐘獨立運作。長時間運行兩者可能將會產生誤差。另外所有的Linux相關指令都是讀取系統(tǒng)時鐘指定的,如date。
我們這里討論的是系統(tǒng)時間。
NTP,網(wǎng)絡時間協(xié)議,使用 123/udp 端口進行網(wǎng)絡時鐘同步;NTP 是仍在使用中的最古老的網(wǎng)絡傳輸協(xié)議之一(1985 年前開始)。
以前Linux時間同步基本是使用 ntpdate 和 ntpd 這兩個工具實現(xiàn)的,但是這兩個工具已經很古老了。
【注】ntpdate和ntpd是互斥的,兩者不能同時使用。ntpd是步進式平滑的逐漸調整時間,而ntpdate是斷點式更新時間。
RHEL/CentOS 7.x 已經將 chrony 作為默認時間同步工具了。
其他Linux (如 ubuntu) 使用 systemd-timesyncd 服務。
chrony 是 RedHat 開發(fā)的,它是網(wǎng)絡時間協(xié)議(NTP)的另一種實現(xiàn);
RHEL/CentOS 7.x 的默認時間同步工具;
chrony 可以同時做為 ntp 服務的客戶端和服務端;安裝完后有兩個程序 chronyd、chronyc:
chronyd 是一個 daemon 守護進程,chronyc 是用來監(jiān)控 chronyd 性能和配置參數(shù)的命令行工具。
系統(tǒng)版本:CentOS 7.5
chrony_server(relay):10.0.0.4
chrony_client:10.0.0.5
Edit file /etc/chrony.conf
默認已經啟動,不需要調整
example:
配置 chrony
edit file: /etc/chrony.conf
再次用chronyc 命令檢查,比較它與chronyd server的差異
systemd-timesyncd 是一個用于跨網(wǎng)絡同步系統(tǒng)時鐘的守護服務。它實現(xiàn)了一個 SNTP 客戶端,但更輕量級,更集成systemd。
systemd-timesyncd 啟動時會讀取 /etc/systemd/timesyncd.conf 配置文件,內容如下:
你可以輸入你希望使用的其它時間服務器,比如你自己的本地 NTP 服務器,在 NTP= 行上輸入一個以空格分隔的服務器列表。
如果服務器可以直接連接internet,不用修改默認配置;如果在內網(wǎng),需要單獨指定。
在最新的 Ubuntu 版本中,timedatectl 替代了老舊的 ntpdate。默認情況下,timedatectl 在系統(tǒng)啟動的時候會立刻同步時間,并在稍后網(wǎng)絡連接激活后通過 socket 再次檢查一次。
timesyncd 替代了 ntpd 的客戶端的部分。默認情況下 timesyncd 會定期檢測并同步時間。它還會在本地存儲更新的時間,以便在系統(tǒng)重啟時做時間單步調整。
通過 timedatectl 和 timesyncd 設置的當前時間狀態(tài)和時間配置,可以使用 timedatectl status 命令來進行確認。
由于 timedatectl 的存在,各發(fā)行版已經棄用了 ntpdate,默認不再進行安裝。
timedatectl
timedatectl status ,查看時間同步狀態(tài);
timedatectl set-ntp true ,開啟網(wǎng)絡時間同步;
timedatectl set-timezone ZONE ,設置時區(qū)。
NTP synchronized: yes 表示時間是同步狀態(tài)。
查看服務狀態(tài)以及從哪個ntp server同步時間。
NTP:軟件層面實現(xiàn),成本低。同步精度10ms左右。
PTP:需要網(wǎng)絡接口具備在物理層提供時間戳的功能,同步精度優(yōu)于100ns,局域網(wǎng)的節(jié)點需要使用支持PTP功能的交換機。局域網(wǎng)網(wǎng)絡接點不支持PTP的話,只能同不到us,而且受網(wǎng)絡背景流量影響。