dremio 16 回退15.7 版本问题
dremio 最近发布了15.7 版本,同时删除了16版本(16问题挺多,maven 依赖没有私服,同时代码结构上有变动)
打算直接安装一个15.7 版本的,同时按照官方的操作进行upgrade 然后升级kv 存储,发现实际上并不是这样的,不能
直接进行升级方法降级(代码强制判断的)
解决方法
还好15.7 的依赖已经发布私服了,解决方法就很清楚了,直接自己反编译构建一个版本(可以直接使用源码,但是目前15.7暂时还没提交),然后进行class文件的替换
步骤
首先反编译,或者直接源码修改,我们需要修改的核心是dremio-admin admin 是在dremio-dac-daemon包中,那就很清晰了,直接fork处相关的代码
后边maven clean pacakge ,但是有一些问题,就是一些编译可能会有问题,解决方法就是删除报错的,只要不影响com/dremio/dac/cmd/upgrade/Upgrade.java
就行
然后就是替换class 文件,可以使用winrar 或者类似的解压工具就行
之后就是普通的dremio-admin upgrade 操作了
说明
此类操作需谨慎,最好做好数据备份,相关的构建包我已经放到github了,可以直接使用,以后升级还是谨慎写,当有了完备的官方文档之后再进行升级操作
不然后果可能会很严重(比如不能直接使用,后期版本不能持续升级。。。。)
参考资料
https://docs.dremio.com/release-notes/157-release-notes/
https://download.dremio.com/community-server/
https://github.com/rongfengliang/dremio-dac-daemon-15.7.0-202106112202490252-2fb62d31