【YashanDB 知识库】原生 mysql 驱动配置连接崖山数据库
本文内容来自 YashanDB 官网,原文内容请见 https://www.yashandb.com/newsinfo/7919231.html?templateId=1718516
**【问题分类】**功能兼容
**【关键字】**YAS-07202、YAS_MY ERROR ,不兼容
【问题描述】
本项目的架构是 hadoop+hive+yashandb
使用崖山数据库,将 mysql 相关的创建表语句进行初始化同步
使用崖山 23.3 版本兼容 mysql 数据库,新建表和查询表都出现问题
查询报错
mysql> SELECT DISTINCT 'org.apache.hadoop.hive.metastore.model.MTable' AS NUCLEUS_TYPE,A0.CREATE_TIME,A0.LAST_ACCESS_TIME,A0.OWNER,A0.OWNER_TYPE,A0.RETENTION,A0.IS_REWRITE_ENABLED,A0.TBL_NAME,A0.TBL_TYPE,A0.TBL_ID FROM TBLS A0 LEFT OUTER JOIN DBS B0 ON A0.DB_ID = B0.DB_ID ;
ERROR 7202 (HY000): YAS-07202 plugin execution error, YAS_MY error, unsupported datatype
创建表报错
【问题原因分析】
初步分析是 jdbc 连接层出现的问题,类型方法不兼容
于是尝试替换将崖山驱动 jdbc 1.8jar 替换成 mysql 原始 jdbc 5.1.4 jar
替换的步骤如下,由于官网上面步骤不完善,不能配置成功,因此本文进行正确的配置
1、确认 yashandb 版本 23.3.2.100
2、配置 mysql 监听服务文件
$YASDB_DATA/config/service.ini
可参照官网
https://doc.yashandb.com/yashandb/23.3/zh/开发手册/MySQL兼容模式参考手册/MySQL监听服务.html
3、生成秘钥方式
openssl genrsa -out private_key.pem 2048
openssl rsa -in private_key.pem -pubout -out public_key.pem
4、配置项目 hive 连接崖山数据的配置(注意端口是不是 1688)
修改 hive-site.xml 添加如下配置
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.23.100:1279/HIVE?allowPublicKeyRetrieval=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
5、重启崖山服务
yasboot cluster restart -c yashandb
【解决/规避方法】
重启之后,通过额外 1279 监听配置,连接到 yashandb
之后查询和创建等基本操作就正常了
版权声明: 本文为 InfoQ 作者【YashanDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/ae291be8c1de45c703e133240】。文章转载请联系作者。
评论