当前位置: 首页 > news >正文

免费一级域名网站网络销售公司怎么运作

免费一级域名网站,网络销售公司怎么运作,淮安app开发,公司邮箱登陆入口最终效果 定时检测hive运行状态,进程不存在或者进程存在但是不监听端口的hiveserver2,自动重新拉起每次检测脚本执行的日志都会保存在log目录下.check文件,每一个月一个文件每月15日,删除2月前的检测日志开启hive自带日志输出后&…

最终效果

  • 定时检测hive运行状态,进程不存在或者进程存在但是不监听端口的hiveserver2,自动重新拉起
  • 每次检测脚本执行的日志都会保存在log目录下.check文件,每一个月一个文件
  • 每月15日,删除2月前的检测日志
  • 开启hive自带日志输出后,日志不会删除,且较大,因此一并将过期的hive自带日志清空

https://blog.csdn.net/Brother_ning/article/details/127993943
从这个作者复制的,但是他的代码好像有点问题,修改后然后加以优化

定时检查脚本

vi $HIVE_HOME/hiveservice.sh

#!/bin/bashHIVE_LOG_DIR=$HIVE_HOME/log
CURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")
# 日志清理,如果与hive默认日志命名风格一样,也会自动清理hive的日志
DT=$(date)
DT_2M=$(date -d "2 month ago")
CHECK_LOG=$HIVE_LOG_DIR/hive.log.$(date "+%Y-%m").check
CHECK_LOG_REG=$HIVE_LOG_DIR/hive.log.$(date -d "2 month ago" +"%Y-%m")-*
METASTORE_PORT=9083
HIVESERVER2_PORT=10000
# 最大连接数,超过这个数,则重启hive
MAX_WORKS=1800
if [ ! -d $HIVE_LOG_DIR ]
thenmkdir -p $HIVE_LOG_DIR
ficheck_process(){WORKS=$(netstat -anltp|grep $HIVESERVER2_PORT|wc -l)if [ "$WORKS" -gt $MAX_WORKS ]; thenecho "$CURRENT_TIME:链接数异常,重启hive" | tee -a $CHECK_LOGhive_stopsleep 5fipid=$(ps -ef 2>/dev/null | grep -v grep | grep -i $1 | awk '{print $2}')ppid=$(netstat -nltp 2>/dev/null | grep $2 | awk '{print $7}' | cut -d '/' -f 1)if [ -n "$pid" ] && [ -n "$ppid" ] && [ "$pid" = "$ppid" ]; thenecho $pidreturn 0 # 进程正在运行elsereturn 1 # 进程未运行fi
}hive_stop()
{metapid=$(check_process HiveMetastore $METASTORE_PORT)if [ -n "$metapid" ]; thenecho "$CURRENT_TIME:关闭Metastore进程" | tee -a $CHECK_LOG & kill -9 $metapidfiserver2pid=$(check_process HiveServer2 $HIVESERVER2_PORT)if [ -n "$server2pid" ]; thenecho "$CURRENT_TIME:关闭server2进程" | tee -a $CHECK_LOG & kill -9 $server2pidfi
}# wait方法不能随意使用,必须在启动执行后才能执行。
wait_start()
{local max_retries=100  # 设置最大重试次数 100次,重启时间200秒,如果200秒内没有启动成功,则认为启动失败。local retries=0       # 初始化重试计数器metapid=$(check_process HiveMetastore $METASTORE_PORT)server2pid=$(check_process HiveServer2 $HIVESERVER2_PORT)while { [ -z "$metapid" ] || [ -z "$server2pid" ]; } && [ $retries -lt $max_retries ]; dosleep 2echo "$(date +"%Y-%m-%d %H:%M:%S"):启动中($retries)。。。" | tee -a $CHECK_LOGmetapid=$(check_process HiveMetastore $METASTORE_PORT)server2pid=$(check_process HiveServer2 $HIVESERVER2_PORT)retries=$((retries + 1))done# 检查是否达到最大重试次数if [ $retries -ge $max_retries ]; thenecho "$CURRENT_TIME:达到最大重试次数,启动失败" | tee -a $CHECK_LOGexit 1  # 退出脚本,表示启动失败elseecho "$CURRENT_TIME:HIVE状态正常" | tee -a $CHECK_LOGfi
}kill_valid()
{PIDS=$(jps -m | grep $1 | awk '{print$1}')# 遍历所有PID并使用kill -9命令杀掉它们,防止hive挂掉,但是进程不退出for PID in $PIDS; dokill -9 $PIDecho "$CURRENT_TIME:kill无效的$1进程 $PID" | tee -a $CHECK_LOGsleep 3done
}hive_start()
{metapid=$(check_process HiveMetastore $METASTORE_PORT)if [ -z "$metapid" ]; thenkill_valid HiveMetaStoreecho "$CURRENT_TIME:Metastore启动中" | tee -a $CHECK_LOGnohup hive --service metastore 2>$HIVE_LOG_DIR/metastore.log 1>/dev/null &fiserver2pid=$(check_process HiveServer2 $HIVESERVER2_PORT)if [ -z "$server2pid" ]; thenkill_valid HiveServer2echo "$CURRENT_TIME:HiveServer2启动中" | tee -a $CHECK_LOGnohup hive --service hiveserver2 2>$HIVE_LOG_DIR/hiveServer2.log 1>/dev/null &fi
}status()
{metapid=$(check_process HiveMetastore $METASTORE_PORT)server2pid=$(check_process HiveServer2 $HIVESERVER2_PORT)if [ -n "$metapid" ] && [ -n "$server2pid" ]; thenecho "$CURRENT_TIME:HIVE状态正常" | tee -a $CHECK_LOGelseif [ -z "$metapid" ]; thenecho "$CURRENT_TIME:Metastore未运行" | tee -a $CHECK_LOGfiif [ -z "$server2pid" ]; thenecho "$CURRENT_TIME:HiveServer2未运行" | tee -a $CHECK_LOGfifi
}clean()
{echo "$CURRENT_TIME:清空日志 rm -rf $CHECK_LOG_REG" | tee -a $CHECK_LOGrm -rf $CHECK_LOG_REG
}case $1 in
"start")hive_startwait_start;;
"stop")hive_stopstatus;;
"restart")hive_stopsleep 3hive_startwait_start;;
"status")status;;
"clean")clean;;
*)echo Invalid Args!echo 'Usage: '$(basename $0)' start|stop|restart|status|clean';;
esac

定时调度

crontab -e
输入如下内容,注意修改环境变量,cron无法正常读取系统环境变量

#设置 HIVE_HOME 环境变量
HIVE_HOME=/data/soft/hive-3.1.2
# 每隔10分钟执行一次状态检测,有问题自动重启
*/10 * * * * sh $HIVE_HOME/hiveservice.sh start
# 每周天在0点01分执行一次 restart 任务
1 0 * * 0 sh $HIVE_HOME/hiveservice.sh restart >> $HIVE_HOME/log/cron.restart.log
# 每月15号清空2月前的hive日志
0 0 15 * * sh $HIVE_HOME/hiveservice.sh clean

crontab -l
检查crontab运行任务
tail -f /var/log/cron (centos)
cat /var/log/syslog (乌班图)

http://www.hkea.cn/news/794803/

相关文章:

  • 国企网站建设报告怎么建造自己的网站
  • 免费做司考真题的网站余姚网站如何进行优化
  • 如何网站开发1688网站
  • 丽水专业网站建设价格青岛网站优化
  • 网站开发专业培训学校百度推广登录官网入口
  • 贵阳做网站公司网站热度查询
  • 做课件最好的素材网站考拉seo
  • 网站建设玖首选金手指seo网站优化收藏
  • 台州卓远做网站好不好广州seo教程
  • dz网站数据备份bt磁力猪
  • github 可以做网站吗360seo
  • 杭州 企业门户网站建设爱链
  • dj那个网站做的好长沙公司网络营销推广
  • 设计师培训招生视频黑帽seo联系方式
  • 做网上贸易哪个网站好西宁网站seo
  • 电子烟网站建设杯子软文营销300字
  • 广州企业网站制作怎么做营销推广
  • 网站建设服务器在香港郑州网站建设专业乐云seo
  • 河北建设工程交易信息网海口关键词优化报价
  • 全国网站建设公司有多少家微信朋友圈广告投放收费标准
  • 免费做网站公司黑帽seo排名技术
  • apk连接wordpress上海seo
  • 企业建网站租用服务器好还是买一个好石家庄网站关键词推广
  • wordpress文件解析外贸网站优化
  • 建设工程竣工备案网站百度保障中心人工电话
  • 韶关城乡建设部网站首页营销型网站建设策划书
  • 建设银行手机银行下载官方网站谷歌浏览器网页版入口在哪里
  • 网站建设 好域名注册信息
  • 公众号微网站建设认证哪个推广网站好
  • 爬取1024上传到wordpress蔡甸seo排名公司