基于 Flexus X 加速 MySQL 镜像搭建 XXL-JOB 任务调度平台
目录
前言 1
一、Flexus 云服务器 X 介绍 1
1.1 Flexus 云服务器 X 实例简介 1
1.2 Flexus 云服务器 X 实例特点 2
1.3 Flexus 云服务器 X 实例场景需求 4
二、Flexus 云服务器 X 购买 4
2.1 Flexus X 实例购买 4
2.2 购买 MySQL 加速镜像 4
2.3 重置密码 5
2.4 登录服务器 6
二、外部访问连接 MySQL8
3.1 修改 MySQL 密码 8
3.2 授权远程访问 9
3.3 Flexus X 实例端口开放 9
3.4 防火墙放开 10
3.5 第三方工具连接 MySQL10
四、XXL-JOB 工程配置 11
4.1 工程克隆 11
4.2 数据库初始化 12
4.3 工程配置 13
五、Flexus X 实例部署 XXL-JOB 工程 14
5.1 JDK 安装及环境配置 14
5.3 XXL-JOB 工程打包上传 15
5.4 XXL-JOB 工程启动 16
六、XXL-JOB 调度平台测试 17
6.1 配置执行器 17
6.2 新增任务 18
6.3 Flexus X 日志查看 19
总结 19
1
前言
随着云计算技术的飞速发展,Flexus 云服务器 X 凭借其高性能和高可用性,成为了众多企业和开发者的首选。本文旨在通过搭建基于 Flexus X 加速 MySQL 镜像的 XXL-JOB 任务调度平台,展示如何利用 Flexus X 的高性能特性提升任务调度的效率和稳定性。通过详细的步骤和配置,帮助大家可以快速掌握在 Flexus X 上部署和运行 XXL-JOB 的方法,并将其应用于实际项目中。
一、Flexus 云服务器 X 介绍
1.1 Flexus 云服务器 X 实例简介
Flexus 云服务器 X 是华为云推出的一款高性能、高可用性的云服务器,它采用了最新的处理器技术,支持多种操作系统和应用程序,具备灵活的资源配置和强大的扩展能力。无论是 Web 应用、数据库服务还是大数据处理,Flexus 云服务器 X 都能为您提供稳定、高效的运行环境。

1.2 Flexus 云服务器 X 实例特点
Flexus 云服务器 X 实例具有如下四大特点:


1.3 Flexus 云服务器 X 实例场景需求
搭配更多云服务,一站满足多种场景需求:
企业建站:面向博客、论坛,和企业门户等业务场景,帮助企业传播价值信息,促进信息共享和交流,支撑用户建设多功能的传播和交互平台。
电商直播:基于 X 实例搭建电商交易平台,可以从容面对电商市场瞬息万变对的业务压力变化。
个人开发测试:开发者在开发、测试过程中需要的环境资源,可以选择从云上提供。基于 X 实例搭建开发测试环境,更加便利,成本更优。
游戏服务器:适用于搭建游戏后台服务器,强大算力轻松应对千人同时在线,同时平滑扩容可快速应对服务器玩家数量上涨诉求,超强的网络加速能力提升用户体验
二、Flexus 云服务器 X 购买
2.1 Flexus X 实例购买
本文实践前,开始前需要在华为云官网购买 Flexus X 实例,可以根据实际需求选择合适的配置,如 CPU、内存、存储和网络带宽等。

2.2 购买 MySQL 加速镜像
由于本文是需要体验 Flexus X 实例独家提供 MySQL 应用的加速功能,可以在镜像选择的时候,选择 Flexus 云服务器 X 推出 Huawei Cloud EulerOS 镜像,选择 MySQL 应用加速。

购买成功后,再控制台,就可以看到刚刚购买的 Flexus X 实例服务器,如下已购买 4 核 12g 的实例。

2.3 重置密码
首次购买后,需要重置服务器的登录密码,才能远程登录到服务器中,在华为云控制台中,找到 Flexus 云服务器 X 实例,点击“重置密码”按钮,按照提示设置新的登录密码。

2.4 登录服务器
重置密码之后,就可以使用刚刚的密码登录到 Flexus 云服务器 X 实例,可以使用 xShell 等 SSH 客户端工具登录服务器或者选择使用自带的 cloudshell。

接下来就可以登录到 Flexus 云服务器 X 实例中,进入终端之后,会提示 Welcome to Huawei Cloud Service,说明成功登录。

由于购买时选择的 MySQL 加速,所以 Flexus 云服务器 X 实例也会默认已安装 MySQL,可以查看 MySQL 版本号进行确认,可以看到已经默认安装 MySQL8 了。

进入 MySQL,默认是空密码。
mysql -u root -p

二、外部访问连接 MySQL
在实际开发过程中,经常需要从外部或远程连接到 MySQL 数据库。为了确保顺利连接,需要注意以下几个关键问题:
未开启 3306 端口
被防火墙拦截
没有连接数据库权限
mysql 未启动
密码错误
下面详细讲解如何能够让外部可以访问 Flexus 云服务器 X 实例 MySQL。
3.1 修改 MySQL 密码
由于 Flexus 云服务器 X 默认是无密码,这是很不安全的,所以需要重置修改密码,在 MySQL 8.0 及更高版本中,应该使用 ALTER USER 语句来设置密码。以下是正确的命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
如果使用的是 MySQL 5.7 或更早版本,可以使用以下命令:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
本次 Flexus 云服务器 X 默认安装 MySQL8,所以执行第一条命令。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
flush privileges;

编辑
3.2 授权远程访问
为了允许从任何主机远程访问 MySQL8,需要执行以下步骤,也就是授权 root 账号密码登录,以及远程操作权限。
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

3.3 Flexus X 实例端口开放
进入 Flexus X 实例控制台,确保其安全组设置允许外部访问 3306 端口。

编辑
3.4 防火墙放开
同时在 Linux 系统上,需要使用 firewalld 管理防火墙规则,打开防火墙端口 3306,这也是很重要的一个步骤。
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙并查看是否生效
firewall-cmd --reload
查看已经开放的端口
firewall-cmd --list-ports
3.5 第三方工具连接 MySQL
以上步骤操作完成,就可以使用第三方工具 Navicat 连接 MySQL,后续操作数据库也是通过第三方工具进行管理。

四、XXL-JOB 工程配置
在 Flexus X 实例部署之前,需要在将 XXL-JOB 开源工程在本地修改相关配置。
4.1 工程克隆
首先,需要从 XXL-JOB 的 GitHub 仓库克隆整个工程到本地,这一步直接到官网进行克隆即可。

4.2 数据库初始化
据 XXL-JOB 提供的 SQL 脚本来初始化数据库。数据库脚本位于工程的 docs/db/目录下,复制 sql 到 Flexus X 实例中的数据库进行运行。


4.3 工程配置
修改数据库配置,在 application 文件中修改为 Flexus X 实例的数据库地址和账号密码。

启动工程,在浏览器输入:http://localhost:8080/xxl-job-admin,默认账号是 admin/123456

五、Flexus X 实例部署 XXL-JOB 工程
部署 XXL-JOB 工程到 Flexus X 实例中,主要是为了利用其分布式任务调度功能,提高系统的可扩展性、稳定性和任务处理的效率,接下来就详细介绍如何在 Flexus X 实例部署 XXL-JOB 工程。
5.1 JDK 安装及环境配置
由于 XXL-JOB 是 springboot 工程,所以前提环境需要在 Flexus X 实例安装 JDK,首先在 Flexus X 实例中新增一个文件夹 /mydata/java,使用 Ftp 工具上传 JDK 压缩包。

解压安装包,命令 tar zxvf 文件名,通过 pwd 复制 jdk home 路径,JDK home 路径:/mydata/java/jdk1.8.0_161
tar zxvf /mydata/java/jdk1.8.0_161

接下来就可以准备安装 JDK,Linux 版本 JDK 安装只要配置环境变量即可,环境变量文件修改位置: /etc/profile 文件下。
vim /etc/profile
在文件最后添加 jdk 变量配置。
JAVA_HOME=/mydata/java/jdk1.8.0_161
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME CLASSPATH
添加完成之后,更新环境变量。
source /etc/profile
使用 java 命令,验证 jdk 环境是否配置完成。
java -version | javac -version
可以正确显示版本信息,说明已完成。

5.3 XXL-JOB 工程打包上传
在完成 XXL-JOB 工程的配置和开发后,下一步通常是将工程打包并上传到 Flexus X 实例上,以便进行部署和运行,使用 ftp 工具上传到指定目录

5.4 XXL-JOB 工程启动
在将 XXL-JOB 工程打包并上传到服务器后,下一步是启动工程,使用 nohup 后台命令启动,并指定保存日志文件:/mydata/springboot/log/
nohup java -jar /mydata/springboot/xxl-job-admin-2.3.0.jar >/mydata/springboot/log/xxl-job.log &
查看日志,无异常启动完成,并且工程监听端口为 8080。

注意需要在 Flexus X 实例安全组放开 8080 端口

浏览器访问 http://ip:8080/xxl-job-admin

六、XXL-JOB 调度平台测试
上述步骤已完成 Flexus X 部署 XXL-JOB 工程,在实际开发中创建定时任务也是直接在 xxl-job 的平台进行操作,接下来新增一个任务调度测试一下、
6.1 配置执行器
配置执行器是 XXL-JOB 调度的基础,需准确填写执行器信息并验证其状态,成功配置后,任务可顺利分配至执行器,确保调度平台稳定运行,新建名为 reboot-executor 的执行器。

6.2 新增任务
新增任务,需填写关键信息并选择上面配置的执行器,填写调度配置,也就是定时任务的 cron 表达式,另外一个是任务配置也就是任务触发的 JobHandler,这里调用/rebot。(一般这里实际项目提供)

选择执行一次任务

6.3 Flexus X 日志查看
进入 Flexus X 实例数据库查看执行日志,已成功执行并保存到日志中。

总结
本文详细介绍了在 Flexus 云服务器 X 上部署 XXL-JOB 任务调度平台的全过程。通过配置 MySQL 加速镜像、安装 JDK、打包上传工程及启动服务,成功搭建了一个高效稳定的任务调度系统。并通过测试结果表明,Flexus X 显著提升了任务调度的性能和稳定性,为实际项目应用提供了有力支持。
在面对算力性能的高标准要求,以及自建 MySQL、Redis、Nginx 的性能优化需求时,Flexus X 实例特惠活动为您提供了一个难得的契机。把握住这次机会,助力您的业务实现跨越式发展!

评论