### **体验简介** 场景将提供一台配置了CentOS 8.5操作系统的ECS实例(云服务器)。通过本教程的操作带您体验如何使用PolarDB-X与Flink搭建一个实时数据链路,模拟阿里巴巴双十一GMV大屏。  ### 实验准备 1\. 创建实验资源 开始实验之前,您需要先创建ECS实例资源。 1. 在实验室页面,单击**创建资源**。 2. (可选)在实验室页面左侧导航栏中,单击**云产品资源**列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。 **说明**:资源创建过程需要1~3分钟。 2\. 安装PolarDB-X 本步骤将指导您如何安装PolarDB-X。 1. 安装并启动Docker。 1. 执行如下命令,安装Docker。 ``` curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun ``` 2. 执行如下命令,启动Docker。 ``` systemctl start docker ``` 2. 执行如下命令,安装PolarDB-X。 ``` docker run -d --name some-polardb-x -p 8527:8527 polardbx/polardb-x:2.1.0 ``` 3\. 在PolarDB-X中准备订单表 PolarDB-X支持通过MySQL Client命令行、第三方客户端以及符合MySQL交互协议的第三方程序代码进行连接。本实验使用MySQL Client命令行连接到PolarDB-X数据库。 本步骤将指导您如何连接PolarDB-X数据库,并创建测试库、测试表和测试数据。 1. 执行如下命令,安装MySQL。 ``` yum install mysql -y ``` 2. 执行如下命令,查看MySQL版本号。 ``` mysql -V ``` 返回结果如下,表示您已成功安装MySQL。  3. 执行如下命令,登录PolarDB-X数据库。 **说明**: - 本实验场景中的PolarDB-X数据库用户名和密码已预设,请您使用下方命令登录即可。 - 如遇到mysql: \[Warning\] Using a password on the command line interface can be insecure.ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0报错,请您稍等一分钟,重新执行登录命令即可。 ``` mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456 ``` 返回结果如下,表示您已成功登录PolarDB-X数据库。  4. 执行如下SQL语句,创建测试库mydb。 ``` create database mydb; ``` 5. 执行如下SQL语句,使用测试库mydb。 ``` use mydb; ``` 6. 执行如下SQL语句,创建订单表orders。 ``` CREATE TABLE `orders` ( `order_id` int(11) NOT NULL AUTO_INCREMENT, `order_date` datetime NOT NULL, `customer_name` varchar(255) NOT NULL, `price` decimal(10, 5) NOT NULL, `product_id` int(11) NOT NULL, `order_status` tinyint(1) NOT NULL, PRIMARY KEY (`order_id`) )AUTO_INCREMENT = 10001; ``` 7. 执行如下SQL语句,给订单表orders中插入数据。 ``` INSERT INTO orders VALUES (default, '2020-07-30 10:08:22', 'Jark', 50.50, 102, false), (default, '2020-07-30 10:11:09', 'Sally', 15.00, 105, false), (default, '2020-07-30 12:00:30', 'Edward', 25.25, 106, false); ``` 8. 输入exit退出数据库。  4\. 运行Flink 本步骤将指导您如何下载并运行Flink。 1. 安装JDK。 a.执行如下命令,使用yum安装JDK 1.8。 ``` yum -y install java-1.8.0-openjdk* ``` b.执行如下命令,查看是否安装成功。 ``` java -version ``` 返回结果如下,表示您已成功安装JDK 1.8。  2. 下载Flink和Flink CDC MySQL Connector。 a.执行如下命令,下载Flink。 ``` wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/PolarDB-X/flink-1.13.6-bin-scala_2.11.tgz ``` b.执行如下命令,解压Flink。 ``` tar xzvf flink-1.13.6-bin-scala_2.11.tgz ``` c.执行如下命令,进入lib目录。 ``` cd flink-1.13.6/lib/ ``` d.执行如下命令,下载flink-sql-connector-mysql-cdc。 ``` wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/PolarDB-X/flink-sql-connector-mysql-cdc-2.2.1.jar ``` e.执行如下命令,返回Flink目录。 ``` cd .. ``` 3. 启动Flink。 a.执行如下命令,启动Flink。 ``` ./bin/start-cluster.sh ``` b.执行如下命令,连接Flink。 ``` ./bin/sql-client.sh ``` 4. 在Flink中创建与PolarDB-X关联的订单表orders。 a.执行如下SQL语句,创建订单表orders。 ``` CREATE TABLE orders ( order_id INT, order_date TIMESTAMP(0), customer_name STRING, price DECIMAL(10, 5), product_id INT, order_status BOOLEAN, PRIMARY KEY (order_id) NOT ENFORCED ) WITH ( 'connector' = 'mysql-cdc', 'hostname' = 'localhost', 'port' = '8527', 'username' = 'polardbx_root', 'password' = '123456', 'database-name' = 'mydb', 'table-name' = 'orders' ); ``` b.执行如下SQL语句,查看订单表orders。 ``` select * from orders; ``` 返回结果如下,您可以查看到PolarDB-X的订单表orders的数据已经同步到Flink的订单表orders中。  c.按q键退出。 5\. 启动压测脚本并实时获取GMV 经过前面几步操作后,我们在PolarDB-X中准备好了原始订单表,在Flink中准备好了对应的订单表,并通过 PolarDB-X Global Binlog与Flink CDC MySQL Connector打通了两者之间的实时同步链路。 本步骤将指导您如何创建压测脚本,模拟双十一零点大量订单涌入的场景。 1. 准备压测脚本。 a.在实验页面,单击右上角的图标,创建新的终端二。  b.执行如下命令,创建配置文件mysql-config.cnf。 ``` vim mysql-config.cnf ``` c.将如下代码添加到配置文件mysql-config.cnf中。 ``` [client] user = "polardbx_root" password = "123456" host = 127.0.0.1 port = 8527 ``` d.添加完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。 e.执行如下命令,[创建脚本buy.sh](http://xn--buy-th2el20dxsluh8b.sh)。 ``` vim buy.sh ``` f.将如下代码添加到脚本buy.sh中。 ``` #!/bin/bash echo "start buying..." count=0 while : do mysql --defaults-extra-file=./mysql-config.cnf -Dmydb -e "insert into orders values(default, now(), 'free6om', 1024, 102, 0)" let count++ if ! (( count % 10 )); then let "batch = count/10" echo $batch": got 10 products, gave 1024¥" fi sleep 0.05 done ``` g.添加完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。 h.执行如下命令,为脚本buy.sh增加执行权限。 ``` chmod +x buy.sh ``` 2. 启动Flink实时计算。 本实验场景通过Flink SQL实时呈现GMV计算结果。 切换至终端一,在Flink中执行如下SQL语句,查询GMV(gmv列)和订单数(orders列)。 ``` select 1, sum(price) as gmv, count(order_id) as orders from orders; ``` 返回结果如下,您可在Flink的实时计算结果中查看到实时的GMV(gmv列)和订单数(orders列)。  3. 启动压测脚本。 a.切换至终端二,执行如下命令,启动压测脚本,开始创建订单。 ``` ./buy.sh ``` 返回结果如下,您可看到压测脚本启动后,不断有订单被创建出来。  b.切换至终端一,在Flink的实时计算结果中,可查看到实时的GMV(gmv列)和订单数(orders列)。  恭喜完成
阿里云体验有奖:使用PolarDB-X与Flink搭建实时数据大屏
来源:这里教程网
时间:2026-03-02 12:21:06
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- DistSQL 深度解析:打造动态化的分布式数据库
DistSQL 深度解析:打造动态化的分布式数据库
26-03-02 - 阿里云体验有奖:使用PolarDB-X与Flink搭建实时数据大屏
阿里云体验有奖:使用PolarDB-X与Flink搭建实时数据大屏
26-03-02 - 【数据库数据恢复】SQL Server数据库磁盘空间不足的数据恢复案例
【数据库数据恢复】SQL Server数据库磁盘空间不足的数据恢复案例
26-03-02 - 【数据库数据恢复】SqlServer数据库无法读取的数据恢复案例
【数据库数据恢复】SqlServer数据库无法读取的数据恢复案例
26-03-02 - 探究Presto SQL引擎(2)-浅析Join
探究Presto SQL引擎(2)-浅析Join
26-03-02 - 万能的平台爆文写作法,谁用谁先爆!
万能的平台爆文写作法,谁用谁先爆!
26-03-02 - MSSQL几个动态性能视图
MSSQL几个动态性能视图
26-03-02 - 如何加快电脑运行速度_win10速度起飞的小技巧
如何加快电脑运行速度_win10速度起飞的小技巧
26-03-02 - 金山办公:订阅为王?
金山办公:订阅为王?
26-03-02 - 如何将电脑时间与网络时间同步
如何将电脑时间与网络时间同步
26-03-02
