升级
- 在官网下载新的管理平台压缩包;
备份配置文件:为了防止不小心删除原有的配置文件,可以备份原安装目录下的:
edge-admin/
configs/ -- 需要备份的配置目录1
edge-api/
configs/ -- 需要备份的配置目录2
在安装完成后,如果发现重新进入了安装界面,请将备份的配置目录重新覆盖相应的位置,然后重启edge-admin服务进程;
- 在目标服务器上解压后覆盖原有的安装目录,注意 不要 删除原来安装目录下的任何文件,以防丢失配置;
在v0.2.6之前安装的,升级到最新版本时,随管理平台启动的
edge-admin
和edge-api
进程需要手工关闭,请使用ps
命令查找edge-admin
和edge-api
,然后使用kill
命令关闭进程,类似于:[root@web001 ~]# ps ax|grep edge-api
128388 ? Sl 0:38 /opt/www/edge-admin/edge-api/bin/edge-api
[root@web001 ~]# kill 128388
重启管理平台进程:
bin/edge-admin restart
数据库相关
数据库是通过API节点升级的,如果用户在安装时选择的是启动自带的API节点,则每次在重启的时候,都会自动检查数据库是否有升级,并自动执行升级;如果是用户单独自行安装的API节点,可以在升级完API节点后,重启API节点,就会自动执行数据库升级。
如果数据库数据量比较大,为了防止启动edge-api
等待时间过长,你可以先升级数据库:
bin/edge-api upgrade
等完成后,再重启edge-api
进程。
常见问题
升级后重启时提示 panic: runtime error: invalid memory address or nil pointer deference
如果在重启节点时,提示类似于以下的错误:
panic: runtime error: invalid memory address or nil pointer deference
[signal] SIGSEGV: ...
goroutine 1 [running]:
github ....
是因为在 v0.2.6 版本之后,我们采用了新的进程启停管理方式,所以第一次需要特殊方法启动:
- 需要使用
ps
获取进程ID - 使用
kill
命令关掉进程ID - 重新启动进程
比如在启动 edge-admin
时遇到这个问题,可以:
pa ax|grep edge-admin
输出结果类似于:
[root@localhost ~]# ps ax|grep edge-admin
4386 pts/1 S+ 0:00 grep --color=auto edge-admin
6683 ? Sl 4:10 bin/edge-admin
6695 ? Sl 42:28 /home/opt/www/teaos/edge-admin/edge-api/bin/edge-api
那我们可以知道 edge-admin
的进程ID是6683
,那么就可以使用 kill
命令关掉这个进程:
kill 6683
然后再重新启动:
bin/edge-admin restart
其他的进程 edge-admin
、edge-api
、edge-node
等进程都可以同样处理。