hbase无法执行脚本停止服务问题分析

南墨2年前技术文章1024

问题现象:hbase执行stop-hbase.sh无法停止hbase进程

定位过程:

1.     执行脚本发现脚本在执行了停止命令后一直在循环查询hbase状态


2.     而停止命令使用的是hbase自身的命令

nohup nice -n 0 /opt/apache-hadoop/hbase/bin/hbase --config /opt/apache-hadoop/hbase/conf master stop


3.     手动执行此命令发现报认证失败问题

        

        

4.     根据以上信息确认为认证失败导致无法执行脚本

问题分析结论:

1.     Hbase的stop-hbase.sh脚本其实是调用hbase客户端命令执行,因此需要认证

2.     在无法认证的时候由于脚本的不健全性导致了无法暴露报错堆栈信息

3.     因此在执行此脚本前需要kinit认证

kinit -kt /etc/security/keytab/hbase.keytab hbase/hadoop01.xxx.com@XXX.COM

4.     优化方式:可以在stop-hbase.sh脚本前两行加入kinit命令并判断echo $?=0 在执行下面的逻辑


相关文章

HBase使用snappy压缩

HBase使用snappy压缩

安装编译环境依赖yum install -y automake autoconf gcc-c++ cmake libedit libtool openssl-devel ncurses-devel安装...

 MySQL 两阶段提交

MySQL 两阶段提交

说明MySQL 开启 Binlog 后,所有的事务都会产生 Binlog Event,这些 Event 也是事务数据的一部分。本篇文章介绍 MySQL 如何保证事务 Binlog Event 和 In...

使用udev配置asm

环境:centos7    1、udev介绍udev概念udev 是 Linux2.6 内核里的一个功能,它替代了原来的 devfs,成为当前 Linux 默认的设备管理工具。udev 以守护进程的形...

Elasticsearch数据生命周期如何规划

Elasticsearch中的open状态的索引都会占用堆内存来存储倒排索引,过多的索引会导致集群整体内存使用率多大,甚至引起内存溢出。所以需要根据自身业务管理历史数据的生命周期,如近3个月的数据op...

CDH 5.16.2原地升级到CDP7.1.7

CDH 5.16.2原地升级到CDP7.1.7

1 升级Cloudera管理器1.1 升级Cloudera管理器准备1.1.1.1 关闭cloudera上托管的组件1.1.1.2 关闭Cloudera management service服务检查o...

基于Gitlab和Kubernetes的CI/CD

基于Gitlab和Kubernetes的CI/CD

此套CI/CD流程仅依赖gitlab。runner等组件安装在kubernetes集群中,尽量减少其他依赖,便于维护。依赖介绍gitlab runnergitlab runner用来运行我们的作业并将...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。