我现在在一家公司负责大数据平台(CDH平台)的运维管理,最常遇见的问题我总结出来,并且继续在下面更新。希望方便自己以后trouble shooting以及方便各位同行解决问题与学习。

关于做运维有几个重要的要点一定一定要遵守的:

  遇到问题冷静,冷静,冷静,就山崩都要冷静,心态关乎你是否能将问题解决同时不会给人留下不好的印象。

  凡是关于对集群更改与变动的操作,一定要在测试环境测试到没问题才上生产,不然可能会造成不可挽回的损失。

  尽可能的定期做备份,它可能在最绝望的时刻救命,这是最后的救命草。

HUE Cannot access

突然一天业务跟我说hue不能登陆,拒绝登陆。我发现hue web页面是可以正常打开的,但是使用账号login时提示 cannot access!

首先上cdh cm管理界面检查 hue 相关进程 ,发现有个进程处于不正常的状态:Kerberos Ticket Renewer

解决办法:重启该 Kerberos Ticket Renewer 进程就能正常访问hue了。

Hive 运维

hive外部表不能查询

一天业务跟我反馈 hive 外部表不能查询并给出报错截图

  我第一反应是外部表是连接到数据存储的目录,问题出现的问题肯定是该外部表的 location 下的文件出现问题。于是我检查命令 : show create table table_name;

  查看到外部表的 location ,检查该表所在的 location ,发现除了原先的excel表之外还有个文件夹,文件夹里面还有其他的文件。初步判断是业务把不同schema的文件放在该 location ,导致 hive 无法正常读取文件出现查询表格报错的问题。

解决办法:把该location下的其他文件迁移出去就行了。

hive内部表转外部表

  在业务操作中经常遇到用查询出来的结果创建一张表,再将这张表转为外部表:

ALTER TABLE table_name  SET TBLPROPERTIES ('EXTERNAL'='TRUE');

hive 查询中文乱码/hive查询外部导入的excel文件中文乱码

  在实际应用场景中经常遇到这样的问题,将excel文件上传HDFS,再建立外部表指向该文件在HDFS的位置。但是外部表建立好了发现查询该表示时发现,出现中文乱码并且列对不上,数据都挤到第一列。这个时候发现业务建立外部表的分隔符是“,”同时检查到她上传的文件的后缀时 “.xlsx"。

  判断上传文件的格式与外部表的分隔符不对。微软的excel xlsx等分隔符是”\t“,csv格式是逗号。另外在windows上中文系统文件的编码一般都是 GBK,HDFS默认编码是UTF8,需要对该外部表更改编码。

  解决过程发现换了分隔符和换了编码都不能解决问题。尝试将xlsx文件另存为csv文件(逗号分隔符)上传到HDFS,将外部表的分隔符转为逗号,将外部表编码转为GBK,就好了。然后定下规范上传分隔符为逗号的 csv 文件给外部表,建外部表的分隔符为逗号。

ALTER TABLE 表名 SET SERDEPROPERTIES ('serialization.encoding'='GBK')

hive 查询结果导出中文乱码

  在实际应用场景中经常遇到这样的问题,需要将查询的结果导出成为电子表格文件,在hue上提供了两种外部文件的方法,xlsx文件和csv文件。xlsx文件数据量比较大的时候它导出时长比较长,会报服务器网络异常的错误(可能是我们公司出现这种问题),导出csv文件很快,但是出现打开文件是中文乱码的问题。于是将导出的文件用uedit这个人间重新保存为有bom的utf8。就完美解决中文乱码问题,虽然繁琐但是实用。

  

 HIVE外部表不能查询

一天一个user跟我反应说hive外部表不能使用了,昨天还能使用的。

首先遇到这种问题,先不要慌,跟着自己的思路走:

1.亲自测试时什么情况,在有权限的情况下查询下该表,亲自看看报错是怎的。

发现真的是有报错,既然昨天能使用说明表结构是正常的。排除建立外部表字段对应不上的问题。

2.既然表结构没问题,判断数据源。hive外部表是有个location,通过show create table table_name 检查location

在hdfs上检查该路径,发i现该路径下有出了一个excel表,还有一个文件夹,文件夹里面还有别的文件。错误是在location里面添加了不是与hive相同 schema的文件,离谱的是加了文件夹。

3.解决办法:

把这些多余的文件迁移到别的地方。

hive表不能truncate

hive> TRUNCATE TABLE test.student;
FAILED: SemanticException [Error 10146]: Cannot truncate non-managed table test.student.
hive>

原因:truncate 不能删除外部表

解决办法,把外部表转为内部表或者把外部表删除后重新建一张内部表。

Need to specify partition columns because the destination table is partition

原因是insert into default.tablename 后面没有指定分区的字段 :PARTITION(dt)

hdfs dfs -du -s -h /user/hive/warehouse/xxx.db/xxxxxxx

HIVE- 大数据运维之hive管理的更多相关文章

  1. 漫谈ELK在大数据运维中的应用

    漫谈ELK在大数据运维中的应用 圈子里关于大数据.云计算相关文章和讨论是越来越多,愈演愈烈.行业内企业也争前恐后,群雄逐鹿.而在大数据时代的运维挑站问题也就日渐突出,任重而道远了.众所周知,大数据平台 ...

  2. 大数据运维尖刀班 | 集群_监控_CDH_Docker_K8S_两项目_腾讯云服务器

    说明:大数据时代,传统运维向大数据运维升级换代很常见,也是个不错的机会.如果想系统学习大数据运维,个人比较推荐通信巨头运维大咖的分享课:https://url.cn/5HIqOOr,主要是实战强.含金 ...

  3. 谦先生-hadoop大数据运维纪实

    1.NN宕掉切不过去先看zkfc的log引起原因是dfs.ha.fencing.ssh.private-key-files的配置路径配错造成以致无法找到公钥 2.dfs.namenode.shared ...

  4. 大数据系列之数据仓库Hive中分区Partition如何使用

    Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...

  5. 大数据工具篇之Hive与MySQL整合完整教程

    大数据工具篇之Hive与MySQL整合完整教程 一.引言 Hive元数据存储可以放到RDBMS数据库中,本文以Hive与MySQL数据库的整合为目标,详细说明Hive与MySQL的整合方法. 二.安装 ...

  6. 大数据工具篇之Hive与HBase整合完整教程

    大数据工具篇之Hive与HBase整合完整教程 一.引言 最近的一次培训,用户特意提到Hadoop环境下HDFS中存储的文件如何才能导入到HBase,关于这部分基于HBase Java API的写入方 ...

  7. 大数据系列之数据仓库Hive安装

    Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...

  8. 大数据系列之数据仓库Hive命令使用及JDBC连接

    Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...

  9. 大数据系列之数据仓库Hive原理

    Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...

随机推荐

  1. Eureka 源码编译安装部署---Eureka运行eureka-server服务

    ---恢复内容开始--- 折腾了几天,终于运行好了,两个字:佩服 首先感谢这个大佬的博客支持:https://www.cnblogs.com/lifuping/p/5663127.html 1.首先在 ...

  2. POJ 3252 Round Numbers 数学题解

    Description The cows, as you know, have no fingers or thumbs and thus are unable to play Scissors, P ...

  3. pycharm下: conda installation is not found ----一个公开的bug的解决方案

    pycharm  conda installation is not  found ----一个公开的bug的解决方案 pycharm+anaconda 是当前的主流的搭建方案,但是常出现上述问题. ...

  4. python视频教程大全(转载)

    python3英文视频教程(全87集) http://pan.baidu.com/s/1dDnGBvV python从入门到精通视频(全60集)链接:http://pan.baidu.com/s/1e ...

  5. Redis源码阅读-Adlist双向链表

    Redis源码阅读-链表部分- 链表数据结构在Adlist.h   Adlist.c Redis的链表是双向链表,内部定义了一个迭代器. 双向链表的函数主要是链表创建.删除.节点插入.头插入.尾插入. ...

  6. requestFullscreen实现全屏展示

    requestFullscreen实现全屏展示. var fullContainer = document.getElementById('fullScreenContainer'); //先把元素展 ...

  7. android 国际化 设置

    复制了他人的方法 方法和步骤 1 配置选项包括语言代号和地区代号.表示中文和中国的配置选项是 zh-rCN; 表示英文和美国的配置选项是en-rUS.其中,zh 和 en 表示中文和英文: 2 如果想 ...

  8. 线性同余方程组模板( x=r0(mod m0) )

    #include <iostream> #include <stdio.h> #include <string.h> #include <algorithm& ...

  9. POJ 2965 The Pilots Brothers' refrigerator【枚举+dfs】

    题目:http://poj.org/problem?id=2965 来源:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26732#pro ...

  10. 1.设计模式-------Iterator

    本文主要是参考<图解设计模式>写的读书笔记: 开发中我用到遍历集合时候,无非我常用的就是简单的for循环,foreach,iterator 这三种方式进行遍历! 当然这三种的效率: 学习I ...