Hadoop记录-日常运维操作
1.Active NameNode hang死,未自动切换
#登录当前hang死 Active namenode主机,停止Namenode,触发自
动切换。hadoop-daemon.sh stop namenode
#如果自动切换未触发,
转手动切换【可选】hdfs haadmin -ns bdpfinance - transitionToActive --forceactive nn2 --forcemanual
*假设原active节点为nn1
2.误删
1)确认删表语句或命令
拿到用户的删表语句
如 drop table t1;;
2)确认表路径
desc formatted t1; 返回:/hive/warehouse/db1/t1
3)确认回收站是否有数
据如/user/hive/.Tash/Current/hive/warehouse/db1/t1
4)移动数据回原目录
hadoop fs -mv /user/hive/.Tash/Current/hive/warehouse/db1/t1 /hive/warehouse/db1/
3.连接个别HiveServer卡住(hdfs正常,metastore正常)
1. 确认HiveServer是否
真的卡住(以10.116.107.10,端口10000为例):
beeline -u jdbc:hive2://10.116.107.10:10000 -n hive -p hive
2. 若确认该HiveServer异常,第一时间将其从zk 中踢出,防止新的连接又被分配到这台:
a. 登录10.116.100.5,进入zk命令行:/app/zookeeper/bin/zkCli.sh
b. 删除/hiveserver2 的znode下,相应主机名、端口的记录:
rmr /hiveserver2/serverUri=主机名:端口;version=2.1.1;sequence=xxxxxxxxx
3. 检查该进程堆内存情况:
a. 找到相应hiveserver的pid(根据不同hive实例,端口可
能为10000,11000或12000):
pid=`lsof -i :10000 |grep -i listen|awk '{print $2}'`
b. 打印出堆内存信息:
jmap -heap $pid
看结果中的"G1 Old
Generation",如果是99.xxxxxxxxx% used,
则hiveserver内存爆了,重启即可。
4. 重启命令
a. 停止
HiveServer:
systemctl stop hiveserver-10000.service
p.s.根据端口不同,服务名可以是(hiveserver-10000.service,hiveserver-11000.service, hiveserver-12000.service)
b. 启动HiveServer:systemctl start hiveserver-10000.service
Hadoop记录-日常运维操作的更多相关文章
- Oracle日常运维操作总结-数据库的启动和关闭
下面是工作中对Oracle日常管理操作的一些总结,都是一些基本的oracle操作和SQL语句写法,在此梳理成手册,希望能帮助到初学者(如有梳理不准确之处,希望指出). 一.数据库的启动和关闭 1.1 ...
- MySQL日常运维操作---持续更新
1.查看当前连接数: 这些参数都是什么意思呢? Threads_cached ##mysql管理的线程池中还有多少可以被复用的资源 Threads_connected ##打开的连接数 Threads ...
- hadoop记录-hadoop集群日常运维命令
hadoop集群日常运维命令 #1.namenode hadoop namenode -format #格式化,慎用 su hdfs hadoop-daemon.sh start namenode h ...
- hadoop日常运维与升级总结
日常运维 升级 问题处理方法 日常运维 进程管理 由于配置文件的更改,需要重启生效, 或者是进程自己因某种致命原因终止, 或者发现进程工作出现异常等情况下,需要进行手动进程的关闭或启动, 或者是增删节 ...
- Hbase 日常运维
日常维护的命令 1,major_compact 'testtable',通常生产环境会关闭自动major_compact(配置文件中hbase.hregion.majorcompaction设 为0) ...
- zookeeper 用法和日常运维
本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要 ...
- Jenkins日常运维笔记-重启数据覆盖问题、迁移、基于java代码发版(maven构建)
之前在公司机房部署了一套jenkins环境,现需要迁移至IDC机房服务器上,迁移过程中记录了一些细节:1)jenkins默认的主目录放在当前用户家目录路径下的.jenkins目录中.如jenkins使 ...
- Docker Swarm 日常运维命令笔记
之前介绍了Docker管理工具-Swarm部署记录,这里简单总结下Docker Swarm的日常维护命令,以作为平时运维笔记. Swarm作为一个管理Docker集群的工具,首先需要将其部署起来,可以 ...
- linux日常运维工作
Linux的使用环境也日趋成熟,各种开源产品络绎不绝,大有百花齐放的盛景,那么当Linux落地企业,回归工作时,我们还要面对这Linux运维方面的诸多问题,今天我们特意组织一场有关Linux 在企业运 ...
随机推荐
- Sublime Text ——3200破解补丁
声明 该资源来源于网络,只为学习交流使用,侵权联系删除.长期使用和觉得sublime text 不错的话,还望购买授权码,多多支持正版!!! 重要的事情说三遍 请支持正版!!! 请支持正版!!! 请支 ...
- 基于网络编程 TCP协议 及 socket 基本语法
socket是什么 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面, ...
- 关于工具类中@Autowired注入为NULL的问题记录
记录:在实体类中加入@Component注解和@Autowired注解时Service不能注入成功. @Component //把普通pojo实例化到spring容器中 0 public clas ...
- while(~scanf(..))为什么可以这样写
因为读到文件的结束符时,scanf返回值是EOF,也就是-1,而~(-1)的作用就是对-1的按位取反. 在计算机中,数字按补码存储,正数的补码和原码一样,负数的补码是其反码+1,反码也就是符号位仍为1 ...
- Hdoj 1856.More is better 题解
Problem Description Mr Wang wants some boys to help him with a project. Because the project is rathe ...
- 自学Python之路-Python核心编程
自学Python之路-Python核心编程 自学Python之路[第六回]:Python模块 6.1 自学Python6.1-模块简介 6.2 自学Python6.2-类.模块.包 ...
- 【Luogu3602】Koishi Loves Segments(贪心)
[Luogu3602]Koishi Loves Segments(贪心) 题面 洛谷 题解 离散区间之后把所有的线段挂在左端点上,从左往右扫一遍. 对于当前点的限制如果不满足显然会删掉右端点最靠右的那 ...
- Python3 与 C# 面向对象之~异常相关
周末多码文,昨天晚上一篇,今天再来一篇: 在线编程:https://mybinder.org/v2/gh/lotapp/BaseCode/master 在线预览:http://github.les ...
- LaTex in Markdown
上次写了Markdown,这次用到了LaTex,也出一期(吐槽,工作量比Markdown高太多...) Markdown基础:https://www.cnblogs.com/dotnetcrazy ...
- 搭建简易的WebServer(基于pyhton实现简易Web框架 使用socket套接字)
1. 使用web底层socket的方式实现简易服务器的搭建,用来理解学习 # 1.导入socket模块 import socket import re import gevent import sys ...