Flink 1.13.1集成HiveCatalog启动sql-client.sh提示hive库不存在报错
问题根因
报错核心是你配置的名为myhive的Hive Catalog中不存在名为hive的数据库,但Flink SQL Client启动时尝试将其设置为当前数据库,导致启动失败。
排查解决步骤
步骤1:确认Hive集群真实存在的数据库
登录Hive Metastore部署节点,执行hive命令进入Hive CLI,运行show databases;查看已存在的数据库。默认Hive安装后只会生成名为default的默认库,不会自动创建hive库,你大概率是配置文件中默认数据库名填写错误。步骤2:检查SQL Client配置文件
打开Flink目录下conf/sql-client-defaults.yaml文件,检查current-catalog和current-database配置项:
如果current-catalog配置为myhive,需将current-database调整为Hive集群中真实存在的库名,比如默认的default,参考配置如下:
execution: current-catalog: myhive current-database: default
步骤3:校验Hive Catalog注册配置
确认你注册myhiveCatalog时的参数配置正确:hive-conf-dir指向的路径下存在正确的hive-site.xml,且其中hive.metastore.uris配置和实际Hive Metastore服务地址一致- flink/lib目录下的Hive依赖版本和你使用的Hive 2.1.1-cdh6.2.1版本匹配,不要使用Apache官方默认的Hive依赖,需替换为对应CDH版本的Hive依赖包,避免版本兼容问题。
步骤4:临时规避方案
如果暂时不想修改配置,可在启动SQL Client时手动指定默认数据库,执行命令:./sql-client.sh -Dsql-client.default.database=default
内容的提问来源于stack exchange,提问作者Not_Only
相关产品推荐
相关产品推荐

