当我们的节点需要扩展时,我们可以直接在新的机器上按照之前的方式部署,也可以采用下面介绍的远程拷贝的方式来做。
例如,我们申请到了两个新的节点机器 target-ip-one 和 target-ip-two,下面介绍把执行器从 source-ip 远程拷贝到 target-ip-one的详细步骤及注意事项.
之所没把整个/data/app目录下的内容全部拷贝,是因为内容特别多,并且很多内容都是没有必要的,我们只需要拷贝执行器和相关脚本文件。
1.登录 target-ip-one 服务器,创建相关目录
mkdir /data/app/bin
mkdir /data/app/saturn-executor-3.1.0
2.登录 source-ip 服务器,执行远程拷贝命令
scp -P port -r /data/app/bin/* target-ip-one:/data/app/bin
scp -P port -r /data/app/saturn-executor-3.1.0/* target-ip-one:/data/app/saturn-executor-3.1.0
3.检查环境变量,确认是否有下面的环境变量
VIP_SATURN_CONSOLE_URI
SPRING_PROFILES_ACTIVE
通常运维分配的新机器都已经包含了这两个环境变量,如果没,我们需要配置下这两个环境变量。
Linux系统里面设置的 STARTUP_ENV=prd
配置环境变量到 /etc/profile 文件里面
export VIP_SATURN_CONSOLE_URI=http://console-ip:8080
export SPRING_PROFILES_ACTIVE=prd
4.删除与原来执行器绑定信息的临时目录
rm -rf /data/app/saturn-executor-3.1.0/bin/temp
这一步一定要记得执行,因为,这个临时目录记录了原来的执行器的相关执行信息。
5.授权/data/app目录给app用户
chown -R app.app /data/app/
6.请运维人员为新的节点配置自动发版系统
发版验证:错开调度即将执行,以免调度刚好到达被分配到了新的节点上。
验证方式:
(1).登录到新的节点服务器,切换到app用户;
(2).进入到/data/app/bin目录执行sh start.sh命令;
观察执行器启动打印日志,以及进程情况,ps -ef | grep java
在控制中心也可以看到执行器是否上线。
(3).关闭执行器,执行sh /data/app/bin/stop.sh命令;
观察执行器关闭打印日志,以及进程情况,ps -ef | grep java
在控制中心也可以看到执行器是否下线。
7.第一次手动启动
(1). 为什么第一次要手动启动?
因为刚部署的这套环境,我们把 /data/app/saturn-executor-3.1.0/bin/temp 这个临时目录删除了,
而 restart.sh 脚本启动就是启动这个临时目录下的文件,所以,第一次自动发版系统发版不会成功。
而上面那个临时目录又确实得删除,因为它里面包含了之前拷贝的那台服务器相关信息。
(2). 如何手动启动?
节点第一次部署完成后,请运维用自动发版系统发版,此时执行器不会启动成功(它会把我们的包拷贝到对应的软连接目录,这一步是很必要的)
然后,我们以 app用户 的身份执行 sh /data/app/bin/start.sh 这样系统会创建 /data/app/saturn-executor-3.1.0/bin/temp
我们可以手动停止,还是以 app用户执行后面的命令 sh /data/app/bin/stop.sh
(3). 验证
我们可以配置一个DemoJob调度,然后指定它到我们新启动的节点上执行,看看是否能正常执行。
最好错开5分钟的那些时间节点,以免某些调度分配到我们新增的节点上了。
(4).正式上线
自动发版系统 实际上就是把包拷贝到对应的目录下,然后执行了 sh /data/app/bin/restart.sh 命令。
再次让运维进行自动发版就没问题了。
本文档详细介绍了如何将Saturn执行器从source-ip远程拷贝到target-ip-one的过程,包括创建目录、执行scp命令、配置环境变量、删除旧的临时目录、授权、发版验证等步骤,以及手动启动和验证执行器的正确运行。
3万+

被折叠的 条评论
为什么被折叠?



