CM部署CDH安装组件到Hive时报错: Cause:Table 'scm.VERSION' doesn't exist.

在使用Cloudera Manager (CM) 5.15.2部署CDH并安装Hive时遇到错误,提示Table 'metastore.VERSION'不存在。问题原因是Hive和CM共用了scm数据库。解决方案是停用CM,为Hive创建单独的hive数据库,重新初始化,并执行hive-schema-1.1.0.mysql.sql脚本。执行后,CM和Hive成功分开,问题解决。
摘要由CSDN通过智能技术生成

Cloudera Manager部署CDH到首次运行页面,安装运行Hive时,报错:HiveMetaException: Failed to get schema version, Cause:Table ‘metastore.VERSION’ doesn’t exist。
报错背景:
CM和CDH版本为5.15.2
①初始化CM数据库时执行的命令是:
./scm_prepare_database.sh mysql scm scm
即数据库类型是MySQL,scm数据库,scm数据库用户;
②在“首次运行”页面之前需要对Hive设置数据库,这里也对Hive所用数据库设置为scm数据库,即是Hive数据库和CM初始化时用的是同一个scm库,然后在安装运行Hive报该错误。
③进入MySQL的scm库,发现确实缺少VERSION表。
④通过查阅文章,感觉是Hive用的库和CM用的库冲突;

我是这样解决的:
停掉CM Server,drop掉scm库,在MySQL里重新新建hive库和scm库:

drop database scm;
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

在这里插入图片描述
新建完两个库之后,执行CM数据库的初始化脚本:
./opt/cloudera-manager/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql scm scm

然后在scm库中执行脚本:
source /opt/cloudera/parcels/CDH-5.15.2-1.cdh5.15.2.p0.3/lib/hive/scripts/metastore/upgrade/mysql/hive-schema-1.1.0.mysql.sql
此脚本是为了解决VERSION表,执行完后发现scm库中有VERSION表了。

再次把CM Server运行起来,CM Agent重启一下,重新回到CM设置组件所用数据库的页面,注意这里Hive需要设置为MySQL的hive库(与CM所用的scm库独立),用户均为scm,继续下一步安装运行,发现全绿!
在这里插入图片描述
查看一下此时hive库和scm库的表:
±-------------------------------+
| Tables_in_scm |
±-------------------------------+
| AUDITS |
| BUCKETING_COLS |
| BUNDLE_ACTIONS |
| BUNDLE_JOBS |
| CDS |
| CLIENT_CONFIGS |
| CLIENT_CONFIGS_TO_HOSTS |
| CLUSTERS |
| CLUSTERS_AUD |
| CLUSTER_ACTIVATED_RELEASES |
| CLUSTER_ACTIVATED_RELEASES_AUD |
| CLUSTER_MANAGED_RELEASES |

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值