滴滴夜莺v3大版本有很多小版本,当前最新的版本已经是v3.7.0,对于不同的版本升级,经常会收到各种问题,这里统一解答一下。

不同的版本差异在哪里,以及如何升级,都在changelog里有写,changelog是个文件,在夜莺的代码根目录下可以找到。

针对不同版本,我们会提供编译好的二进制(适用于64位Linux)和前端包,下载地址在releases页面可以看到:https://github.com/didi/nightingale/releases

可以从v3的某个小版本直接升级到最新的v3.7.0吗?

当然可以,步骤:

1、在sql/upgrade目录下,有各个版本的sql patch文件,需要依次执行比你当前版本高的sql patch文件,很多人问这些sql文件执行了之后会不会对数据产生影响之类的,亲,打开这些sql文件看一眼,一目了然,放心,查看这些sql文件,电脑不会爆炸。

2、挨个版本查看变更了哪些二进制,就替换哪些二进制,简单起见,就把所有二进制都替换了,省事。

3、有些版本的变更会修改配置文件,所以,要查看changelog,看看哪些配置文件需要修改

4、重启各个模块即可。

小技巧:

夜莺各个模块的配置文件,建议大家不要修改,方便后续升级。如果想修改哪个配置文件,就拷贝一份,后缀改成.local.yml,服务就会自动高优读取.local.yml文件,忽略.yml文件。比如judge模块默认会读取judge.yml配置,如果judge发现etc目录下有judge.local.yml,就会优先读取这个配置。

所有的生产环境的配置如果有修改的需求,统统建议用.local.yml文件。后续如果要升级,从github拿到最新的.yml文件覆盖本地的,然后用vimdiff就可以方便查阅.yml文件和.local.yml的差异,一目了然知道哪些配置发生变化。

另外,如果升级出现问题,基本的排查思路要有嘛。先看各个进程是否都存活,再看各个进程日志是否有线索,再看浏览器发起的request和收到的response,查看具体是哪个接口报的什么错,如果有问题,通常会在这些地方找到线索。

滴滴夜莺Githubhttps://z.didi.cn/42A2q

滴滴Logi-KafkaManager Github:https://z.didi.cn/4xDAM

滴滴Logi-KafkaManager 是配合滴滴夜莺使用的,面向Kafka用户、Kafka运维人员打造的共享多租户Kafka云平台,专注于Kafka资源申请、运维管控、监控告警、资源治理等核心场景。