ambari安装hive以mysql作为元数据存储建表失败的解决办法
来源:互联网 发布:wps excel 数据分析 编辑:程序博客网 时间:2024/06/06 08:25
这几天项目上线,需要新安装hive在生产环境上,元数据准备就直接用mysql进行存储,因为行内生产环境肯定不能随随便便就安装一个mysql,所有的数据必须由DBA数据中心进行申请操作,所以我们向DBA提交了建库申请,DBA同事也帮我们建好了hive的元数据存储库,继而我们直接在ambari进行傻瓜式安装hive填上了相应的数据库名,用户名,表名等等,测试连接通过,直接next,但是在最后deploy后,安装hiveserver2节点出现Waring,刚开始因为提示的是警告我们直接忽略了,重启集群后发现hive安装失败。
针对测试环境得出来的结论和与DBA讨论的结果,我们商量出下面一个解决办法,首先在集群本地安装一个没有限制的临时mysql用来安装hive,在几个hive客户端和服务端建立域名映射,修改如下:
10.20.148.20 dbhost
查看那个警告日志,里面提示“该表状态没有主键”,经过讨论最后找出了问题所在,DBA的数据库因为权限问题所以限制的比较严格,所有表的创建必须有主键,但是很可能hive自动创建的那57张表中可能有没有主键的表,导致mysql创建的表并不全,最后问题出现。
表名:
COMPLETED_TXN_COMPONENTSNEXT_COMPACTION_QUEUE_IDNEXT_LOCK_IDNEXT_TXN_IDTXN_COMPONENTSWRITE_SET
我们在测试环境上连上mysql,使用下面语句:
select distinct table_name from columns where TABLE_SCHEMA = 'hive' and table_name not in (select distinct table_name from COLUMNS where TABLE_SCHEMA = 'hive' and (column_key = 'PRI' or column_key = 'UNI'))查出来有六张表是没有限制主键的,看了它的表结构后,我们大胆的在测试环境上手动给这六张表添加了主键,当时选择添加主键的字段都是形式ID这类的,添加完之后在测试环境上进行了多次测试,发现主键添加后并不影响hive运行。
针对测试环境得出来的结论和与DBA讨论的结果,我们商量出下面一个解决办法,首先在集群本地安装一个没有限制的临时mysql用来安装hive,在几个hive客户端和服务端建立域名映射,修改如下:
10.20.148.20 dbhost
然后直接用hive指向这个mysql进行安装,因为权限是全部放开的,所以hive安装后正常,为了之后迁移方便,这个临时数据库的用户名和表名,端口等等都是与DBA数据库那一端一样的。
alter table COMPLETED_TXN_COMPONENTS add primary key COMPLETED_TXN_COMPONENTS(CTC_TXNID);alter table NEXT_COMPACTION_QUEUE_ID add primary key NEXT_COMPACTION_QUEUE_ID(NCQ_NEXT);alter table NEXT_LOCK_ID add primary key NEXT_LOCK_ID(NL_NEXT);alter table NEXT_TXN_ID add primary key NEXT_TXN_ID(NTXN_NEXT);alter table TXN_COMPONENTS add primary key TXN_COMPONENTS(TC_TXNID);alter table WRITE_SET add primary key WRITE_SET(WS_TXNID);安装完成之后我们手动为没有主键的表添加上了主键,测试也是正常。最终让DBA将这个临时数据库的hive元数据全部迁移到DBA中,重启集群之后,运行正常,问题解决。
阅读全文
1 0
- ambari安装hive以mysql作为元数据存储建表失败的解决办法
- hive 安装mysql作为元数据
- hive 安装mysql作为元数据
- hive安装、配置 mysql存储元数据
- HIVE 安装系列(3)配置HIVE 使用Mysql作为元数据的数据库
- 在Hadoop2.42集群上安装hive,并将mysql作为元数据的管理数据库
- Hive集成Mysql作为元数据
- Hive集成Mysql作为元数据
- Hive集成Mysql作为元数据
- Hive集成Mysql作为元数据
- 基于hadoop2.6.0,以mysql为元数据的hive 1.1.0安装初体验
- Hive安装过程(mysql/oracle存储元数据)
- Hive安装并使用MySQL存储元数据
- hive安装过程:metastore(元数据存储)的三种方式之本地mysql方式
- hive安装过程:metastore(元数据存储)的三种方式之远端mysql方式
- 使用mysql作为hive的元数据库
- Hive元数据在MySQL的存储逻辑及关系
- hive的远程模式安装(用mysql作为hive的元数据库)
- 权限
- mysql死锁
- 【转载】[协同过滤] : 交替最小二乘法 ALS
- 高通apq8096连接外网
- 链表面试题总结 C/C++
- ambari安装hive以mysql作为元数据存储建表失败的解决办法
- java 常用最实用的性能优化...
- 与Serverless 的第一次亲密接触
- python FizzBuzz问题
- 第5周【项目2
- 目标检测:rcnn-->sppnet-->fast rcnn-->faster rcnn
- Win7环境MYSQL 主从复制的配置(无插件版)
- 把cad文件怎样转换成jpg图片格式
- idea springBoot 热部署