PolarDB-X应用测试
PolarDB-X应用
搭建实时分析系统
本步骤将指导您如何使用PolarDB-X+Canal+ClickHouse搭建实时分析系统。
- 部署Canal。
Canal是一款流行的MySQL Binlog增量订阅工具,详情请参见Canal说明文档。Canal提供了Docker镜像,详情请参见Canal Docker镜像文档。
(1) 执行如下命令,下载脚本。
1 |
|
(2) 执行如下命令,构建一个destination name为test的队列。
注意 :您需要将none_loopback_host_ip修改为云产品资源列表中的ECS的弹性IP,请勿使用localhost或127.0.0.1。
1 |
|
- 部署ClickHouse。
ClickHouse是一款分析系统,详情请参见ClickHouse官方文档。ClickHouse提供了Docker镜像,详情请参见ClickHouseDocker镜像文档。
执行如下命令,部署ClickHouse。
1 |
|
- 在PolarDB-X和ClickHouse中创建测试库和表。
(1) 执行如下命令,登录PolarDB-X数据库。
1 |
|
(2) 执行如下SQL语句,创建数据库testdb。
1 |
|
(3) 执行如下SQL语句,使用数据库testdb。
1 |
|
(4) 执行如下SQL语句,创建test表。
1 |
|
(5) 输入exit退出数据库。
(6) 执行如下命令,登录ClickHouse数据库。
1 |
|
(7) 执行如下SQL语句,创建数据库testdb。
1 |
|
(8) 执行如下SQL语句,使用数据库testdb。
1 |
|
(9) 执行如下SQL语句,创建test表。
1 |
|
(10) 输入exit退出数据库。
- 运行Canal Client消费并投递增量变更。
经过以上步骤,您已经准备好了PolarDB-X、Canal Server和ClickHouse三个容器,并且在源端(PolarDB-X)和目标端(ClickHouse)建好了测试用的数据库和表。接下来我们通过Canal Client消费Canal Server获取的增量数据,并将源端DML中的Insert事件投递到ClickHouse中。
(1) 执行如下命令,使用yum安装JDK 1.8。
1 |
|
(2) 执行如下命令,下载polardb-x-to-clickhouse-canal-client.jar投递代码文件。
1 |
|
(3) 执行如下命令,运行polardb-x-to-clickhouse-canal-client.jar代码文件。
1 |
|
注意:请勿中断投递代码文件,否则会造成投递失败。
(4) 投递链路已成功打通,接下来您可以在源端(PolarDB-X)执行INSERT语句,并观察目标端(ClickHouse)中的数据变化。
在实验页面,单击右上角的 图标,创建新的终端窗口。
(5) 在新的终端窗口中,执行如下命令,登录PolarDB-X数据库。
1 |
|
(6) 执行如下SQL语句,使用数据库testdb。
1 |
|
(7) 执行如下SQL语句,插入一条数据。
1 |
|
(8) 输入exit退出数据库。
(9) 执行如下命令,登录ClickHouse数据库。
1 |
|
(10) 执行如下SQL语句,使用数据库testdb。
1 |
|
(11) 执行如下SQL语句,查询test表
1 |
|
返回结果如下,您可以看到目标端(ClickHouse)接收到投递过来的数据。