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

Hive3:一键启动、停止、查看Hive的metastore和hiveserver2两个服务的脚本(好用)

脚本内容

#!/bin/bash
# 一键启动、停止、查看Hive的metastore和hiveserver2两个服务的脚本
function start_metastore {# 启动Hive metastore服务hive --service metastore >/dev/null 2>&1 &for i in {1..30}; doif is_metastore_running; thenecho "Hive metastore服务已经成功启动!"return 0elsesleep 1 # 等待1秒fidoneecho "Hive metastore服务启动失败,请查看日志!"return 1
}
function stop_metastore {# 停止Hive metastore服务ps -ef | grep hive.metastore | grep -v grep | awk '{print $2}' | xargs -r kill -9 >/dev/null 2>&1if is_metastore_running; thenecho "Hive metastore服务停止失败,请检查日志!"return 1elseecho "Hive metastore服务已经成功停止!"return 0fi
}
function start_hiveserver2 {# 启动HiveServer2服务hive --service hiveserver2 >/dev/null 2>&1 &for i in {1..30}; doif is_hiveserver2_running; thenecho "HiveServer2服务已经成功启动!"return 0elsesleep 1 # 等待1秒fidoneecho "HiveServer2服务启动失败,请查看日志!"return 1
}
function stop_hiveserver2 {# 停止HiveServer2服务ps -ef | grep hiveserver2 | grep -v grep | awk '{print $2}' | xargs -r kill -9 >/dev/null 2>&1if is_hiveserver2_running; thenecho "HiveServer2服务停止失败,请检查日志!"return 1elseecho "HiveServer2服务已经成功停止!"return 0fi
}
function is_metastore_running {# 检查Hive metastore服务是否在运行ps -ef | grep hive.metastore | grep -v grep >/dev/null 2>&1
}
function is_hiveserver2_running {# 检查HiveServer2服务是否在运行ps -ef | grep hiveserver2 | grep -v grep >/dev/null 2>&1
}
# 检查参数
if [ "$1" = "start" ]; thenif start_metastore && start_hiveserver2; thenexit 0elseexit 1fi
elif [ "$1" = "stop" ]; thenif stop_hiveserver2 && stop_metastore; thenexit 0elseexit 1fi
elif [ "$1" = "status" ]; thenif is_metastore_running; thenecho "Hive metastore服务正在运行!"elseecho "Hive metastore服务未运行!"fiif is_hiveserver2_running; thenecho "HiveServer2服务正在运行!"elseecho "HiveServer2服务未运行!"fi
elseecho "Usage: $0 [start|stop|status]"exit 1
fi

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C语言关键字
  • 昇思25天学习打卡营第22天|基于MindNLP+MusicGen生成自己的个性化音乐案例
  • 如何在 VitePress 中增加一个全局自定义组件
  • 如果想不明白,那就读书吧
  • windows系统下编译和使用grpc
  • 代码随想录——打家劫舍Ⅱ(Leetcode 213)
  • 对JAVA的包package的理解
  • 2024华为数通HCIP-datacom最新题库(H12-831变题更新⑧)
  • rocketmq普通消息-消息类型
  • idea中maven无法下载内网自建的Nexus私服中的依赖
  • 优化冗余代码:提升前端项目开发效率的实用方法
  • 搭建 STM32 网关服务器的全流程:集成嵌入式 C++、TCP/IP 通信、Flash 存储及 JWT 认证(含代码示例)
  • 了解郑州自闭症寄宿学校:提供专业康复服务与关怀
  • 《昇思25天学习打卡营第24天》
  • Springboot 开发之 RestTemplate 简介
  • @jsonView过滤属性
  • 【Amaple教程】5. 插件
  • 【Leetcode】104. 二叉树的最大深度
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • echarts的各种常用效果展示
  • express如何解决request entity too large问题
  • HTTP那些事
  • js
  • Mithril.js 入门介绍
  • MobX
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • MySQL主从复制读写分离及奇怪的问题
  • Protobuf3语言指南
  • React组件设计模式(一)
  • Redis中的lru算法实现
  • scrapy学习之路4(itemloder的使用)
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 浮现式设计
  • 聊聊flink的TableFactory
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 模型微调
  • 你真的知道 == 和 equals 的区别吗?
  • 如何编写一个可升级的智能合约
  • 三分钟教你同步 Visual Studio Code 设置
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 由插件封装引出的一丢丢思考
  • 智能合约开发环境搭建及Hello World合约
  • Java性能优化之JVM GC(垃圾回收机制)
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #14vue3生成表单并跳转到外部地址的方式
  • #FPGA(基础知识)
  • #pragma once与条件编译
  • $jQuery 重写Alert样式方法
  • (C语言)球球大作战
  • (层次遍历)104. 二叉树的最大深度
  • (二)学习JVM —— 垃圾回收机制
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot宠物管理系统 毕业设计 121654