侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

shell编写的zk、hadoop、hbase服务监控并重启服务

2023-11-22 星期三 / 0 评论 / 0 点赞 / 58 阅读 / 3100 字

#!/bin/bash#zk服务器问题修复脚本#zkServer服务所在路径zkDir="/usr/local/zookeeper/bin/"zkLog='zookeeper.out'#进入zkSer

#!/bin/bash#zk服务器问题修复脚本#zkServer服务所在路径zkDir="/usr/local/zookeeper/bin/"zkLog='zookeeper.out'#进入zkServer.sh所在的目录cd $zkDirflag=1#当$flag=0时才停止循环设置无线循环until [ $flag -eq 0 ]do	#查看zookeeper.out日志是否有错误信息	while tail -f $zkLog | grep "ERROR"	do	   #查看QuorumPeerMain服务是否启动	   for pid in `jps | grep "QuorumPeerMain"`	   do  		   #如果启动pid不为空且pid不为零		   if [ -n "$pid" ] && [ "$pid" != "QuorumPeerMain" ]		   then				 #关闭该进程				 kill -9 $pid				 #记录重启时间				 date >>$zkDir/reStartDate.txt				  #关闭zkServer				 ./zkServer.sh stop				 #运行zkServer.sh命令启动zk服务				if ./zkServer.sh start | grep "STARTED"				then					#查看服务状态					if ./zkServer.sh status | grep "Mode"					then 						if jps | grep "QuorumPeerMain"						then						  echo "restart Succeed!" >>$zkDir/reStartDate.txt						fi					fi				fi			fi 			 													 	   done	donedone


改进版:

#!/usr/bin/env bash#hadoop的sbin路径Hadoop=/usr/local/hadoop/sbin#hbase的bin路径Hbase=/usr/local/hbase/bin#zookeeper的bin路径Zk=/usr/local/zookeeper/bincd $Hadoop#关闭history与proxy服务StopHistory=`./mr-jobhistory-daemon.sh stop historyserver`StopProxy=`./yarn-daemon.sh stop proxyserver`#启动history与proxy服务StartHistory=`./mr-jobhistory-daemon.sh start historyserver`StartProxy=`./yarn-daemon.sh start proxyserver`if [ -n "$StartHistory" ]  &&  [ -n "$StartProxy" ]then	echo "historyserver and proxyserver restart Succeed!"ficd $Hbase#关闭hbase服务StopHbase=`./stop-hbase.sh`#启动hbase服务StartHbase=`./start-hbase.sh`if [ -n "$StartHbase" ]then	echo "hbase restart Succeed!" fi#关闭服务并重启cd $Zk#关闭zk服务stopZK=`./zkServer.sh stop`startZK=`./zkServer.sh start`statusZK=`./zkServer.sh status`echo $stopZK > /dev/nullif echo $startZK | grep "STARTED"then	if echo $status | grep "Mode"	then		if jps | grep "QuorumPeerMain"		then			echo "zk server start Succeed!"		fi	else		for pid in `jps | grep "QuorumPeerMain"`  			do    				#如果启动pid不为空且pid不为零  				if [ -n "$pid" ] && [ "$pid" != "QuorumPeerMain" ]  				then  					#关闭该进程  					kill -9 $pid   					#关闭zkServer  					stopZK=`./zkServer.sh stop`					echo $stopZK >/dev/null					#运行zkServer.sh命令启动zk服务					startZk=`./zkServer.sh start`					if echo $startZk  | grep "STARTED"  					then  						#查看服务状态						statusZK=`./zkServer.sh status`						if echo $							statusZK | grep "Mode"  						then							QuoPM=`jps | grep "QuorumPeerMain"`							if [ -n "$QuoPM" ]							then  								echo "zookeeper restart Succeed!"							fi  						fi  					fi 				fi		done  	fifi

然后执行:corntab -e

在文件中添加:30 2 * * * /usr/local/Reboot >>/usr/local/reboot/log

上面意思是:每天的2:30跑脚本,重新启动zk、hadoop、hbase服务

广告 广告

评论区