CDH-HIVE-METASTORE 升级的坑
环境:CDH5.7.0 版本+ centos 6.8 metastore 数据库为mysql 5.1.17
任务:升级 mysql 5.1.17 到mysql 5.7.9
mysql 跨大版本升级,需先备份mysql 原来的数据文件,一般情况下 mysql 数据文件物理位置: /var/lib/mysql
(或者查找 find / -name *.ibd) 就能找到路径
1:下载mysql 版本 mysql-5.7.9-1.el6.x86_64.rpm-bundle.tar ,解压并把里面的rpm包 全部放入yum 源 rpm集中存放地
2:关闭CDH 集群(页面管理台), 在管理节点关闭scm服务,关闭mysql 服务
service cloudera-scm-server stop
service mysqld stop
3: 为稳妥,用rpm 卸载命令,将mysql5.1.17的包一个一个卸载
rpm -e --nodeps xxxxxx(通过yum list |grep mysql5.1.17 查看多少包)
4: 安装mysql5.7.9
yum install mysql mysql-*
5:启动mysql 到此位置启动CDH 将报错,hive连接数据库 某某表不存在
需执行操作 :mysql_upgrade -uroot -p passwd
此时 再连hive 会报 NestedThrowablesStackTrace:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
(更详细说明 http://www.th7.cn/db/mysql/201703/229084.shtml)
6:下载 mysql-connector-java 5.1.46(高于mysql-connector-java 5.1.22的都可以)
解压缩 并提取 mysql-connector-java 5.1.46-bin.jar 到任意路径下 比如 /mnt/
执行: ln -s /mnt/mysql-connector-java 5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
(提前删除 /user/share/java/ 中的mysql-connector-java 相关包和链接)
7:升级完毕 ,重启scm 服务,链接hive 回归正常
作者:牛牛吃不饱
来源链接:https://www.cnblogs.com/marsqiao/p/8807638.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。