Hadoop 3.3.1 分布式部署

一、安装JDK

1.1 下载JDK1.8

        链接:https://pan.baidu.com/s/1TFGr2sZO1rZdvUJ9MeqfIQ 
        提取码:6666

1.2 上传至 /opt/software目录中

 1.3 解压到 /opt/module中

tar -zxvf jdk1.8.0_201.tar.gz  -C /opt/module/

1.4 配置环境变量

1 )新建 /etc/profile.d/my_env.sh 文件
vim /etc/profile.d/my_env.sh

#添加如下内容
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
(2)source 一下 /etc/profile 文件,让新的环境变量 PATH 生效
source /etc/profile

1.5 测试

java -version

二、安装Hadoop3.3.1

2.1 下载

下载地址:Index of /dist/hadoop/common/hadoop-3.3.1

Index of /apache/hadoop/core/hadoop-3.3.1

 2.2 上传到服务器并解压到/opt/module中

2.3 添加环境变量到/etc/profile.d/my_env.sh文件中

 2.4 测试

hadoop version

三、Hadoop 目录结构解析

 

1 bin 目录:存放对 Hadoop 相关服务( hdfs yarn mapred )进行操作的脚本
(2 etc 目录: Hadoop 的配置文件目录,存放 Hadoop 的配置文件
(3 lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
(4 sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
(5 share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例

四、完全分布式模式

4.1 编写集群分发脚本xsync

(1)在/bin目录下创建xsync文件

[root@ggl201 bin]# cd /bin
[root@ggl201 bin]# vim xsync


#添加如下代码
#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]
then
 echo Not Enough Arguement!
 exit;
fi

#2. 遍历集群所有机器
for host in ggl201 ggl202 ggl203
do
 echo ==================== $host ====================
 #3. 遍历所有目录,挨个发送
 for file in $@
 do
 #4. 判断文件是否存在
 if [ -e $file ]
 then
 #5. 获取父目录
 pdir=$(cd -P $(dirname $file); pwd)
 #6. 获取当前文件的名称
 fname=$(basename $file)
 ssh $host "mkdir -p $pdir"
 rsync -av $pdir/$fname $host:$pdir
 else
 echo $file does not exists!
 fi
 done
done

(2)修改脚本 xsync 具有执行权限

[root@ggl201 bin]# chmod +x xsync

(3)测试脚本

[root@ggl201 bin]# xsync /bin/xsync

如果报错 rsync: command not found 安装一下rsync

yum -y install rsync

4.2 SSH 无密码登录配置

1 )免密登录原理

(2) 生成公钥和私钥

[root@ggl201 .ssh]# pwd
/root/.ssh
[root@ggl201 .ssh]# ssh-keygen -t rsa
然后连续敲三个回车,就会生成两个文件 id_rsa (私钥)、 id_rsa.pub (公钥)

(3)将公钥拷贝到要免密登录的目标机器上

[root@ggl201 .ssh]# ssh-copy-id ggl201
[root@ggl201 .ssh]# ssh-copy-id ggl202
[root@ggl201 .ssh]# ssh-copy-id ggl203

注意:
        还需要在 ggl202 上 配置一下无密登录到 ggl201、ggl203 服务器上。
        还需要在 ggl203 上 配置一下无密登录到 ggl201、ggl202 服务器上。
        操作步骤同上

(4).ssh 文件夹下(~/.ssh)的文件功能解释

4.3 集群配置

4.3.1 集群部署规划

注意:

(1)NameNode SecondaryNameNode 不要安装在同一台服务器

(2)ResourceManager 也很消耗内存,不要和 NameNodeSecondaryNameNode 配置在

同一台机器上
ggl201ggl202ggl203
HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

4.3.2 配置文件说明

        Hadoop 配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认 配置值时,才需要修改自定义配置文件,更改相应属性值。
1 )默认配置文件:
要获取的默认文件
文件存放在 Hadoop jar 包中的位置
[core-default.xml]
hadoop-common-3.3.1.jar/core-default.xml
[hdfs-default.xml]
hadoop-hdfs-3.3.1.jar/hdfs-default.xml
[yarn-default.xml]
hadoop-yarn-common-3.3.1.jar/yarn-default.xml
[mapred-default.xml]
hadoop-mapreduce-client-core-3.3.1.jar/mapred-default.xml
(2 )自定义配置文件:
         core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 四个配置文件存放在 $HADOOP_HOME/etc/hadoop 这个路径上,用户可以根据项目需求重新进行修改配置。

4.3.3 配置集群

1)核心配置文件

配置 core-site.xml
[root@ggl201 hadoop]# pwd
/opt/module/hadoop-3.3.1/etc/hadoop
[root@ggl201 hadoop]# vim core-site.xml
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <!-- 指定 NameNode 的地址 -->
 <property>
 <name>fs.defaultFS</name>
 <value>hdfs://ggl201:8020</value>
 </property>
 <!-- 指定 hadoop 数据的存储目录 -->
 <property>
 <name>hadoop.tmp.dir</name>
 <value>/opt/module/hadoop-3.3.1/data</value>
 </property>
<!-- 删除检查点后的分钟数。如果为零,则垃圾桶功能被禁用 -->
    <property>
        <name>fs.trash.interval</name>
        <value>1440</value>
    </property>
 <!-- 配置 HDFS 网页登录使用的静态用户为 hadoop -->
 <property>
 <name>hadoop.http.staticuser.user</name>
 <value>hadoop</value>
 </property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>

<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>

<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
</configuration>
(2 HDFS 配置文件
配置 hdfs-site.xml
[root@ggl201 hadoop]# vim hdfs-site.xml

内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- nn web 端访问地址-->
<property>
 <name>dfs.namenode.http-address</name>
 <value>ggl201:9870</value>
 </property>
<!-- 2nn web 端访问地址-->
 <property>
 <name>dfs.namenode.secondary.http-address</name>
 <value>ggl203:9898</value>
 </property>
<!-- NN目录地址-->
<property>
     <name>dfs.namenode.name.dir</name>
     <value>/data/hadoop/dfs/name</value>
</property>
<!-- DN目录地址-->
<property>
     <name>dfs.datanode.data.dir</name>
     <value>/data/hadoop/dfs/data</value>
</property>
<!-- 权限 -->
<property>
   <name>dfs.permissions</name>
   <value>false</value>
</property>
</configuration>
(3 YARN 配置文件
配置 yarn-site.xml
[root@ggl201 hadoop]# vim yarn-site.xml

内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <!-- 指定 MR 走 shuffle -->
 <property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
 </property>
 <!-- 指定 ResourceManager 的地址-->
 <property>
 <name>yarn.resourcemanager.hostname</name>
 <value>ggl202</value>
 </property>
<!-- 根据机器情况设置内存和核数 -->
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>8192</value>
</property>
<property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>4</value>
</property>
<!-- RM保留的最大已完成应用程序数 -->
<property>
    <name>yarn.resourcemanager.max-completed-applications</name>
    <value>150</value>
</property>

<!-- RM上每个容器请求的最大(小)分配(以MBs为单位)根据机器配置可以调大内存和核数 -->
<property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>8192</value>
</property>
<property>
    <name>yarn.scheduler.maximum-allocation-vcores</name>
    <value>4</value>
</property>
<property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>1024</value>
</property>
<property>
    <name>yarn.scheduler.minimum-allocation-vcores</name>
    <value>1</value>
</property>

<!-- 日志聚合 hdfs上存储目录 -->
<property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/data/yarn/logs</value>
</property>

<!-- 开启日志聚合 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<!-- 聚合日志保留检查之间的等待时间 -->
<property>
    <name>yarn.log-aggregation.retain-check-interval-seconds</name>
    <value>604800</value>
</property>

<!-- 在删除聚合日志之前保留聚合日志的时间 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

<!-- 日志聚合服务器的URL -->
<property>
    <name>yarn.log.server.url</name>
    <value>http://ggl201:5024/jobhistory/logs</value>
</property>

 <!-- 环境变量的继承 -->
 <property>
 <name>yarn.nodemanager.env-whitelist</name>
 <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO
NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP
RED_HOME</value>
 </property>
</configuration>
(4 MapReduce 配置文件
配置 mapred-site.xml
[root@ggl201 hadoop]# vim mapred-site.xml

内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
 <property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 </property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>ggl202:10020</value>
</property>
<property>
    <name>mapred.local.dir</name>
    <value>/data/yarn/local</value>
</property>
<property>
    <name>mapreduce.application.classpath</name>
    <value>/opt/module/hadoop-3.3.1/etc/hadoop,/opt/module/hadoop-3.3.1/share/hadoop/common/*,/opt/module/hadoop-3.3.1/share/hadoop/common/lib/*,/opt/module/hadoop-3.3.1/share/hadoop/hdfs/*,/opt/module/hadoop-3.3.1/share/hadoop/hdfs/lib/*,/opt/module/hadoop-3.3.1/share/hadoop/mapreduce/*,/opt/module/hadoop-3.3.1/share/hadoop/mapreduce/lib/*,/opt/module/hadoop-3.3.1/share/hadoop/yarn/*,/opt/module/hadoop-3.3.1/share/hadoop/yarn/lib/*</value>
</property>
</configuration>

4.3.4 在集群上分发配置好的 Hadoop 配置文件

[root@ggl201 hadoop]# xsync /opt/module/hadoop-3.3.1/etc/hadoop/

4.4 集群启动

4.4.1 配置 workers

[root@ggl201 hadoop]# vim /opt/module/hadoop-3.3.1/etc/hadoop/workers
增加以下内容:
ggl201
ggl202
ggl203
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
同步所有节点配置文件
[root@ggl201 hadoop]# xsync /opt/module/hadoop-3.3.1/etc/hadoop/workers

4.4.2 启动集群

1 如果集群是第一次启动 ,需要在ggl201   节点格式化 NameNode (注意:格式

NameNode,会产生新的集群 id,导致 NameNode DataNode 的集群 id 不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停止 namenode datanode 进程,并且要删除所有机器的 data logs 目录,然后再进行格式化。)

[root@ggl201 hadoop-3.3.1]# hdfs namenode -format

(2 )启动 HDFS
[root@ggl201 hadoop-3.3.1]# sbin/start-dfs.sh

报错信息如下:

因为使用的用户是root 需要用hadoop用户启动 

 使用hadoop用户启动依然是报错 !!!

原因是 ssh的时候不通 当时用的root来创建的秘钥

解决方法如下:

 1、把root下的.ssh copy到 /home/hadoop/下

[root@ggl201 ~]# cp -r .ssh/ /home/hadoop/

 2、修改所属用户和用户组

[hadoop@ggl201 ~]$ sudo chown hadoop:hadoop -R .ssh/

 3、分发

[hadoop@ggl201 ~]$ sudo xsync  .ssh/

再次启动 成功

 (3)在配置了 ResourceManager 的节点(ggl202启动 YARN

[hadoop@ggl202 hadoop-3.3.1]$ sbin/start-yarn.sh

(4 Web 端查看 HDFS NameNode
        访问地址:http://ggl201:9870/

 

(5 Web 端查看 YARN ResourceManager

        访问地址:http://ggl202:8088/

4.5 配置历史服务器

为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:

4.5.1 配置 mapred-site.xml

[hadoop@ggl201 hadoop]$ pwd
/opt/module/hadoop-3.3.1/etc/hadoop
[hadoop@ggl201 hadoop]$ vim mapred-site.xml

添加内容如下:

<!-- 历史服务器端地址 -->
<property>
 <name>mapreduce.jobhistory.address</name>
 <value>ggl201:10020</value>
</property>
<!-- 历史服务器 web 端地址 -->
<property>
 <name>mapreduce.jobhistory.webapp.address</name>
 <value>ggl201:19888</value>
</property>

4.5.2 分发配置

[hadoop@ggl201 hadoop]$ xsync mapred-site.xml

4.5.3 ggl201 启动历史服务器

[hadoop@ggl201 hadoop]$ mapred --daemon start historyserver

4.5.4 查看历史服务器是否启动

4.5.5 查看 JobHistory

访问链接: http://ggl201:19888/jobhistory 

4.6 配置日志的聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到 HDFS 系统上

日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。

注意:开启日志聚集功能,需要重新启动NodeManager ResourceManager和HistoryServer

开启日志聚集功能具体步骤如下:

4.6.1 配置 yarn-site.xml

[hadoop@ggl201 hadoop]$ vim yarn-site.xml

内容如下:

<!-- 开启日志聚集功能 -->
<property>
 <name>yarn.log-aggregation-enable</name>
 <value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property> 
 <name>yarn.log.server.url</name> 
 <value>http://ggl201:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为 7 天 -->
<property>
 <name>yarn.log-aggregation.retain-seconds</name>
 <value>604800</value>
</property>

4.6.2 分发

[hadoop@ggl201 hadoop]$ xsync yarn-site.xml

4.6.3 关闭 NodeManager ResourceManager HistoryServer

[hadoop@ggl202 hadoop-3.3.1]$ sbin/stop-yarn.sh
[hadoop@ggl201 hadoop-3.3.1]$ mapred --daemon stop historyserver

4.6.4 启动 NodeManager ResourceManage HistoryServer

[hadoop@ggl202 hadoop-3.3.1]$ sbin/start-yarn.sh
[hadoop@ggl201 hadoop-3.3.1]$ mapred --daemon start historyserver

4.6.5 执行 WordCount 程序

[hadoop@ggl201 hadoop-3.3.1]$ hadoop fs -put word.txt /input
[hadoop@ggl201 hadoop-3.3.1]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output

报错如下:

解决方法如下:

[hadoop@ggl201 hadoop-3.3.1]$ hadoop classpath

[hadoop@ggl201 hadoop-3.3.1]$ vim etc/hadoop/mapred-site.xml

 修改mapred-site.xml文件

[hadoop@ggl201 hadoop-3.3.1]$ vim etc/hadoop/mapred-site.xml

增加内容如下:

<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.3.1/etc/hadoop:/opt/module/hadoop-3.3.1/share/hadoop/common/lib/*:/opt/module/hadoop-3.3.1/share/hadoop/common/*:/opt/module/hadoop-3.3.1/share/hadoop/hdfs:/opt/module/hadoop-3.3.1/share/hadoop/hdfs/lib/*:/opt/module/hadoop-3.3.1/share/hadoop/hdfs/*:/opt/module/hadoop-3.3.1/share/hadoop/mapreduce/*:/opt/module/hadoop-3.3.1/share/hadoop/yarn:/opt/module/hadoop-3.3.1/share/hadoop/yarn/lib/*:/opt/module/hadoop-3.3.1/share/hadoop/yarn/*</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.3.1/etc/hadoop:/opt/module/hadoop-3.3.1/share/hadoop/common/lib/*:/opt/module/hadoop-3.3.1/share/hadoop/common/*:/opt/module/hadoop-3.3.1/share/hadoop/hdfs:/opt/module/hadoop-3.3.1/share/hadoop/hdfs/lib/*:/opt/module/hadoop-3.3.1/share/hadoop/hdfs/*:/opt/module/hadoop-3.3.1/share/hadoop/mapreduce/*:/opt/module/hadoop-3.3.1/share/hadoop/yarn:/opt/module/hadoop-3.3.1/share/hadoop/yarn/lib/*:/opt/module/hadoop-3.3.1/share/hadoop/yarn/*</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.3.1/etc/hadoop:/opt/module/hadoop-3.3.1/share/hadoop/common/lib/*:/opt/module/hadoop-3.3.1/share/hadoop/common/*:/opt/module/hadoop-3.3.1/share/hadoop/hdfs:/opt/module/hadoop-3.3.1/share/hadoop/hdfs/lib/*:/opt/module/hadoop-3.3.1/share/hadoop/hdfs/*:/opt/module/hadoop-3.3.1/share/hadoop/mapreduce/*:/opt/module/hadoop-3.3.1/share/hadoop/yarn:/opt/module/hadoop-3.3.1/share/hadoop/yarn/lib/*:/opt/module/hadoop-3.3.1/share/hadoop/yarn/*</value>
</property>

 

分发配置

[hadoop@ggl201 hadoop-3.3.1]$ xsync etc/hadoop/mapred-site.xml

再次运行成功 

4.6.6 查看日志

页面链接:http://ggl201:19888/jobhistory

4.7 集群启动/停止方式总结

4.7.1 各个模块分开启动/停止(配置 ssh 是前提)常用

1 )整体启动 / 停止 HDFS
start-dfs.sh/stop-dfs.sh
(2 )整体启动 / 停止 YARN
start-yarn.sh/stop-yarn.sh

4.7.2 各个服务组件逐一启动/停止

1 )分别启动 / 停止 HDFS 组件
hdfs --daemon start/stop namenode/datanode/secondarynamenode
(2 )启动 / 停止 YARN
yarn --daemon start/stop resourcemanager/nodemanager

4.8 编写 Hadoop 集群常用脚本

4.8.1 Hadoop 集群启停脚本(包含 HDFSYARNHistoryServer):my_hadoop

[hadoop@ggl201 bin]$ pwd
/home/hadoop/bin
[hadoop@ggl201 bin]$ vim my_hadoop

 内容如下:

#!/bin/bash
if [ $# -lt 1 ]
then
 echo "No Args Input..."
 exit ;
fi
case $1 in
"start")
 echo " =================== 启动 hadoop 集群 ==================="
 echo " --------------- 启动 hdfs ---------------"
 ssh ggl201 "/opt/module/hadoop-3.3.1/sbin/start-dfs.sh"
 echo " --------------- 启动 yarn ---------------"
 ssh ggl202 "/opt/module/hadoop-3.3.1/sbin/start-yarn.sh"
 echo " --------------- 启动 historyserver ---------------"
 ssh ggl201 "/opt/module/hadoop-3.3.1/bin/mapred --daemon start historyserver"
;;
"stop")
 echo " =================== 关闭 hadoop 集群 ==================="
 echo " --------------- 关闭 historyserver ---------------"
 ssh ggl201 "/opt/module/hadoop-3.3.1/bin/mapred --daemon stop historyserver"
 echo " --------------- 关闭 yarn ---------------"
 ssh ggl202 "/opt/module/hadoop-3.3.1/sbin/stop-yarn.sh"
 echo " --------------- 关闭 hdfs ---------------"
 ssh ggl201 "/opt/module/hadoop-3.3.1/sbin/stop-dfs.sh"
;;
*)
 echo "Input Args Error..."
;;
esac

增加执行权限

[hadoop@ggl201 bin]$ chmod +x my_hadoop

测试报错

解决办法

删除 /opt/module/hadoop-3.3.1/etc/hadoop/workers 下 localhost等无用字段 只写你的集群主机名 

 4.8.2 查看三台服务器 Java 进程脚本:jpsall

[hadoop@ggl201 root]$ cd /home/hadoop/bin/
[hadoop@ggl201 bin]$ vim jps_all

内容如下:

#!/bin/bash
for host in ggl201 ggl202 ggl203
do
 echo =============== $host ===============
 ssh $host jps 
done

增加执行权限

[hadoop@ggl201 bin]$ chmod +x jps_all

脚本分发

[hadoop@ggl201 bin]$ xsync jps_all

4.9 常用端口说明

4.10 集群时间同步

        如果服务器在公网环境(能连接外网),可以不采用集群时间同步,因为服务器会定期和公网时间进行校准;
        如果服务器在内网环境,必须要配置集群时间同步,否则时间久了,会产生时间偏差,导致集群执行任务时间不同步。
找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,生产环境
根据任务对时间的准确程度要求周期同步。

4.10.1 时间服务器配置(必须 root 用户)

1 查看所有节点 ntpd 服务状态和开机自启动状态
[root@ggl203 ~]# systemctl status ntpd
[root@ggl203 ~]# systemctl start ntpd
[root@ggl203 ~]# systemctl is-enabled ntpd

如果报错 Unit ntpd.service could not be found.

yum -y install ntp
(2 )修改 ggl201  ntp.conf 配置文件
[root@ggl201 ~]#  vim /etc/ntp.conf
  修改 1 (授权 192.168. 221.0 -192.168. 221.255 网段上的所有机器可以从这台机器上查
询和同步时间)
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
为 restrict 192.168.221.0 mask 255.255.255.0 nomodify notrap
修改 2 (集群在局域网中,不使用其他互联网上的时间)
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
为
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
添加 3 当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中
的其他节点提供时间同步
server 127.127.1.0
fudge 127.127.1.0 stratum 10

(3) 修改 ggl201 /etc/sysconfig/ntpd 文件  增加内容如下(让硬件时间与系统时间一起同步)

[root@ggl201 ~]# vim /etc/sysconfig/ntpd

#增加内容
SYNC_HWCLOCK=yes
(4 )重新启动 ntpd 服务并设置 ntpd 服务开机启动
[root@ggl201 ~]#  systemctl start ntpd
[root@ggl201 ~]#  systemctl enable ntpd

4.10.2 其他机器配置(必须 root 用户)

1 )关闭 所有节点上 ntp 服务和自启动
[root@ggl202 ~]#  systemctl stop ntpd
[root@ggl202 ~]#  systemctl disable ntpd
[root@ggl203 ~]#  systemctl stop ntpd
[root@ggl203 ~]#  systemctl disable ntpd
(2 )在其他机器配置 1 分钟与时间服务器同步一次(生产环境可以设置成每小时同步一次)
*/1 * * * * /usr/sbin/ntpdate ggl201
(3 )修改任意机器时间
[root@ggl202 ~]# date -s "2021-11-01 11:22:33"

(4)1 分钟后查看机器是否与时间服务器同步 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值