上个文章对集群进行了必要的配置并成功启动集群,这篇文章,我们补充一些常用的知识点
集群启动/停止方式总结
各模块分开启动/停止
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集群启停脚本
包含
HDFS
,YARN
,Historyserver
cd ~/bin
vim myhadoop.sh
输入一下内容,映射关系如下
hadoop102 192.168.10.102
、hadoop103 192.168.10.103
、hadoop104 192.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/
常用端口号说明
端口名称 | 2.x | 3.x |
---|---|---|
NameNode内部通信端口 | 8020/9000 | 8020/9000/9020 |
NameNode HTTP UI | 50070 | 9870 |
MapReduce查看执行任务端口 | 8088 | 8088 |
历史服务器通信端口 | 19888 | 19888 |
配置文件
- 3.x:
core-site.xml
、hdfs-site.xml
、yarn-site.xml
、mapred-site.xml
、workers
- 2.x:
core-site.xml
、hdfs-site.xml
、yarn-site.xml
、mapred-site.xml
、slaves
时间同步
如果有定时任务,那么需要所有服务器保持一致。当服务器无法连接至外网,那么需要设置一台服务器充当时间服务器,以保证时间一致
配置时间服务器
1、查看所有几点ntpd
服务状态和开机自启动状态(root
用户下操作)
systemctl status ntpd
systemctl start ntpd
systemctl is-enabled ntpd
如果没有,执行下面的命令安装
yum -y install ntp ntpdate
2、修改hadoop102
的ntp.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之间的文件传输方式
克隆主机并配置集群
配置并启动集群/开启历史服务器和日志聚集
大数据集群服务启停脚本/常用端口/时间同步