上个文章对集群进行了必要的配置并成功启动集群,这篇文章,我们补充一些常用的知识点

集群启动/停止方式总结

各模块分开启动/停止

1、整体启动/停止HDFS

start-dfs.sh/stop-dfs.sh

2、整体启动/停止YARN

start-yarn.sh/stop-yarn.sh

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

1、分别启动/停止HDFS组件

hdfs --daemon start/stop namenode/datanode/secondarynamonode

2、分别启动/停止YARN组件

yarn --daemon start/stop resourcemanager/nodemanager

Hadoop集群常用脚本

Hadoop集群启停脚本

cd ~/bin
vim myhadoop.sh

输入一下内容,映射关系如下

hadoop102192.168.10.102hadoop103192.168.10.103hadoop104192.168.10.104

#!/bin/bash

if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi

case $1 in
"start")
        echo " ===================== 启动 hadoop 集群 ====================="

        echo " --------------------- 启动 hdfs ---------------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
        echo " --------------------- 启动 yarn ---------------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
        echo " --------------------- 启动 historyserver ---------------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
        echo " ===================== 关闭 hadoop 集群 ====================="

        echo " --------------------- 关闭 historyserver ---------------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
        echo " --------------------- 关闭 yarn ---------------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
        echo " --------------------- 关闭 hdfs ---------------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
    echo "Input Args Error..."
;;
esac

赋予执行权限

chmod +x myhadoop.sh

查看所有服务器进程脚本

cd ~/bin
vim jpsall

输入一下内容

#!/bin/bash

for host in hadoop102 hadoop103 hadoop104
do
    echo "===================== $host ====================="
    ssh $host jps
done

赋予执行权限

chmod +x jpsall

分发脚本

把脚本分发到所有主机

xsync ~/bin/

常用端口号说明

配置文件

  • 3.x:core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlworkers
  • 2.x:core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlslaves

时间同步

如果有定时任务,那么需要所有服务器保持一致。当服务器无法连接至外网,那么需要设置一台服务器充当时间服务器,以保证时间一致

配置时间服务器

1、查看所有几点ntpd服务状态和开机自启动状态(root用户下操作)

systemctl status ntpd
systemctl start ntpd
systemctl is-enabled ntpd

如果没有,执行下面的命令安装

yum -y install ntp ntpdate

2、修改hadoop102ntp.conf配置文件

vim /etc/ntp.conf

修改内容如下

1)授权192.168.10.0-192.168.10.255网段上的所有机器都可以从这台服务器上查询和同步时间

#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 改为
restrict 192.168.10.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

3)文件末尾添加

server 127.127.1.0
fudge 127.127.1.0 stratum 10

3、修改hadoop102/etc/sysconfig/ntpd

vim /etc/sysconfig/ntpd

增加下面内容(让硬件与系统时间一起同步)

SYNC_HWCLOCK=yes

4、重启ntpd服务

systemctl start ntpd

配置其他服务器

1、关闭其他所有节点ntpd服务和自启动

[root@hadoop103 swcode]# systemctl stop ntpd
[root@hadoop103 swcode]# systemctl disable ntpd
[root@hadoop104 swcode]# systemctl stop ntpd
[root@hadoop105 swcode]# systemctl disable ntpd

2、配置1分钟与时间服务器同步一次

crontab -e

编写定时任务如下:

*/1 * * * * /usr/sbin/ntpdate hadoop102

3、修改任意机器时间

date -s "2021-11-11 11:11:11"

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

date

下篇文章:
所有文章:
搭建第一台Hadoop主机
Linux之间的文件传输方式
克隆主机并配置集群
配置并启动集群/开启历史服务器和日志聚集

11-17 06:01