• 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

  • 相关阅读:
    cuda thrust函数首次调用耗费时间比后续调用长原因
    poj2823/hdu3415
    hiho1515
    hiho147周
    hdu1864/2844/2159 背包基础题
    qt + opencv
    Matlab函数编译成dll供c调用
    无处不在的编程思想
    五步使用法——搞定XMLHttpRequest
    AJAX与传统Web开发比较
  • 原文地址:https://www.cnblogs.com/xinfang520/p/10648962.html
Copyright © 2020-2023  润新知