阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通
### **体验简介**
场景将提供一台配置了CentOS 8.5操作系统的ECS实例(云服务器)。通过本教程的操作带您体验如何将PolarDB-X通过Canal与ClickHouse进行互通,搭建一个实时分析系统。[点击前往](https://developer.aliyun.com/adc/scenario/a734d982339845f18baa71d3cd5a4387)
![](https://oscimg.oschina.net/oscnet/up-ae9e45c2030bc818ca6e2c26ad66cc1a9fd.jpg)
### 实验准备
1\. 创建实验资源
开始实验之前,您需要先创建ECS实例资源。
1. 在实验室页面,单击**创建资源**。
2. (可选)在实验室页面左侧导航栏中,单击**云产品资源**列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。
**说明 :**资源创建过程需要1~3分钟。
2\. 安装PolarDB-X
本步骤将指导您如何安装PolarDB-X。
1. 安装并启动Docekr。
(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数据库。
PolarDB-X支持通过MySQL Client命令行、第三方客户端以及符合MySQL交互协议的第三方程序代码进行连接。本实验场景主要介绍如何通过MySQL Client命令行连接到PolarDB-X数据库。
1. 执行如下命令,安装MySQL。
```
yum install mysql -y
```
2. 执行如下命令,查看MySQL版本号。
```
mysql -V
```
返回结果如下,表示您已成功安装MySQL。
![](https://oscimg.oschina.net/oscnet/up-f7f27b4edd3976106da2a78d916ed9ac417.png)
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数据库。
![](https://oscimg.oschina.net/oscnet/up-e63b927d1acc67b695d6f55b2cfc6bddee3.png)
4. 输入exit退出数据库。
![](https://oscimg.oschina.net/oscnet/up-ffbd9f207bd97161be8cf4800a66e2972af.png)
4\. 搭建实时分析系统
本步骤将指导您如何使用PolarDB-X+Canal+ClickHouse搭建实时分析系统。
1. 部署Canal。
Canal是一款流行的MySQL Binlog增量订阅工具,详情请参见[Canal说明文档](https://github.com/alibaba/canal)。Canal提供了Docker镜像,详情请参见[Canal Docker镜像文档](https://github.com/alibaba/canal/wiki/Docker-QuickStart)。
(1) 执行如下命令,下载脚本。
```
wget https://raw.githubusercontent.com/alibaba/canal/master/docker/run.sh
```
(2) 执行如下命令,构建一个destination name为test的队列。
**注意 :**您需要将none\_loopback\_host_ip修改为云产品资源列表中的ECS的弹性IP,请勿使用localhost或127.0.0.1。
```
sh run.sh -e canal.auto.scan=false \
-e canal.destinations=test \
-e canal.instance.master.address=none_loopback_host_ip:8527 \
-e canal.instance.dbUsername=polardbx_root \
-e canal.instance.dbPassword=123456 \
-e canal.instance.connectionCharset=UTF-8 \
-e canal.instance.tsdb.enable=true \
-e canal.instance.gtidon=false
```
2. 部署ClickHouse。
ClickHouse是一款分析系统,详情请参见[ClickHouse官方文档](https://clickhouse.com/)。ClickHouse提供了Docker镜像,详情请参见[ClickHouseDocker镜像文档](https://hub.docker.com/r/clickhouse/clickhouse-server)。
执行如下命令,部署ClickHouse。
```
docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -p 8123:8123 yandex/clickhouse-server
```
3. 在PolarDB-X和ClickHouse中创建测试库和表。
(1) 执行如下命令,登录PolarDB-X数据库。
```
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
```
(2) 执行如下SQL语句,创建数据库testdb。
```
CREATE DATABASE testdb;
```
(3) 执行如下SQL语句,使用数据库testdb。
```
USE testdb;
```
(4) 执行如下SQL语句,创建test表。
```
CREATE TABLE test(
id INT(11) AUTO_INCREMENT PRIMARY KEY,
name CHAR(20) not null );
```
(5) 输入exit退出数据库。
![](https://oscimg.oschina.net/oscnet/up-8229ae5125d6f1e983521185ac1f69c8c20.png)
(6) 执行如下命令,登录ClickHouse数据库。
```
docker run -it --rm --link some-clickhouse-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server
```
(7) 执行如下SQL语句,创建数据库testdb。
```
CREATE DATABASE testdb;
```
(8) 执行如下SQL语句,使用数据库testdb。
```
USE testdb;
```
(9) 执行如下SQL语句,创建test表。
```
Create Table test(id INT(32),name CHAR(20)) Engine = MergeTree() Order By id;
```
(10) 输入exit退出数据库。
4. 运行Canal Client消费并投递增量变更。
经过以上步骤,您已经准备好了PolarDB-X、Canal Server和ClickHouse三个容器,并且在源端(PolarDB-X)和目标端(ClickHouse)建好了测试用的数据库和表。接下来我们通过Canal Client消费Canal Server获取的增量数据,并将源端DML中的Insert事件投递到ClickHouse中。
(1) 执行如下命令,使用yum安装JDK 1.8。
```
yum -y install java-1.8.0-openjdk*
```
(2) 执行如下命令,下载polardb-x-to-clickhouse-canal-client.jar投递代码文件。
```
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/polardb-x-to-clickhouse-canal-client.jar
```
(3) 执行如下命令,运行polardb-x-to-clickhouse-canal-client.jar代码文件。
```
java -jar polardb-x-to-clickhouse-canal-client.jar
```
**注意:**请勿中断投递代码文件,否则会造成投递失败。
(4) 投递链路已成功打通,接下来您可以在源端(PolarDB-X)执行INSERT语句,并观察目标端(ClickHouse)中的数据变化。
在实验页面,单击右上角的![](https://oscimg.oschina.net/oscnet/up-bdb6278beff58068d7ac390be2bf7ff5aeb.png)图标,创建新的终端窗口。
![](https://oscimg.oschina.net/oscnet/up-18f49a82a581ec65c9489be6cbcb9b19040.png)
(5) 在新的终端窗口中,执行如下命令,登录PolarDB-X数据库。
```
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
```
(6) 执行如下SQL语句,使用数据库testdb。
```
USE testdb;
```
(7) 执行如下SQL语句,插入一条数据。
```
INSERT INTO test(name) values("polardb-x"), ("is"), ("awsome");
```
(8) 输入exit退出数据库。
(9) 执行如下命令,登录ClickHouse数据库。
```
docker run -it --rm --link some-clickhouse-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server
```
(10) 执行如下SQL语句,使用数据库testdb。
```
USE testdb;
```
(11) 执行如下SQL语句,查询test表
```
SELECT * FROM test;
```
返回结果如下,您可以看到目标端(ClickHouse)接收到投递过来的数据。
![](https://oscimg.oschina.net/oscnet/up-f482428699bbd6ebc140bbcefe6d54d3c9c.png)
5\. 了解更多
- 如果您想了解更多有关PolarDB-X分布式事务实现原理,详情请参见[PolarDB-X分布式事务实现原理(一)](https://zhuanlan.zhihu.com/p/338535541)。
- 如果您想了解更多有关PolarDB-X全局Binlog解读,详情请参见[PolarDB-X全局Binlog解读](https://zhuanlan.zhihu.com/p/369115822)。
- 如果您想了解更多有关PolarDB-X全局Binlog解读之DDL,详情请参见[PolarDB-X全局 Binlog解读之DDL](https://zhuanlan.zhihu.com/p/377854011)。
恭喜完成
阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通相关推荐
- 阿里云智能视觉首席研究员华先胜:视觉大数据智能分析、识别和搜索
What's Happening 从智能交通到教室监控再到视频直播等等场景,生活中每天都在产生海量的图像/视频数据.在这些场景中,对图像/视频数据进行智能分析.挖掘其中的内容以及对其中的事件进行实时的 ...
- 阿里云EMR 2.0:重新定义新一代开源大数据平台
摘要:本文整理自阿里云高级产品专家何源(荆杭)在 阿里云EMR2.0线上发布会 的分享.本篇内容主要分为三个部分: 开源大数据的痛点及EMR产品历程 EMR2.0 新特征 总结 一.开源大数据的痛点及 ...
- 阿里云与气象局达成合作 深挖气象大数据商业价值
阿里云宣布与国家气象局达成合作,向公众开放气象服务数据,并共同深挖气象大数据的商业价值. 中国气象局公共气象服务中心主任.中国天气网CEO刘汉博介绍,此次公开的气象服务数据为国内县级以上站点实况,包含 ...
- Leanote使用mysql_《搭建个人Leanote云笔记本》阿里云体验实验室 教程
体验实验室简介 阿里云开发者实验室,提供免费阿里云资源,丰富的云计算应用场景, Step by Step 完成云产品的体验 教程介绍 本教程将介绍如何搭建个人Leanote云笔记本. 场景体验 阿里云 ...
- 【阿里云盘资源分享:FPGA工具及相关数据资源高速下载】
阿里云盘资源分享:FPGA工具及相关数据资源高速下载 FPGA工具及相关数据资源高速下载 第一步:下载阿里云盘 第二步:使用方法 下面都是资源列表 FPGA工具及相关数据资源高速下载 第一步:下载阿里 ...
- 阿里云 | 如何恢复在ECS实例中误删除的数据
概述 本文主要介绍在ECS实例中如何恢复误删除的数据. 详细信息 阿里云提醒您: 如果您对实例或数据有修改.变更等风险操作,务必注意实例的容灾.容错能力,确保数据安全. 如果您对实例(包括但不限于EC ...
- 2019云栖大会丨数字冰雹诠释行业大数据可视决策
9月25日,一年一度的云栖大会在杭州云栖小镇拉开帷幕.云栖大会已成功举办十届,是国内数字科技.云计算.大数据等领域的标杆级盛会.大会聚集了来自世界上几十个国家的上千名科学家.CTO.企业家,以及对技术 ...
- 阿里云数据库开源发布:PolarDB三节点高可用的功能特性和关键技术
简介:在3月2日的阿里云开源 PolarDB 企业级架构发布会上,阿里云数据库技术专家孟勃荣 带来了主题为<PolarDB 三节点高可用>的精彩演讲.三节点高可用功能主要为 PolarDB ...
- 阿里云数据库开源发布:PolarDB HTAP的功能特性和关键技术
简介:在3月2日的阿里云开源 PolarDB 企业级架构发布会上,阿里云 PolarDB 内核技术专家严华带来了主题为<PolarDB HTAP详解>的精彩演讲.在PolarDB存储计算分 ...
最新文章
- c语言的256个字符,C语言版 256点FFT算法
- 宏基因组分析技术研讨会第5期-最后3个名额,下周开课
- java 调用父类的变量_java创建子类对象设置并调用父类的变量操作
- Django URL
- 判断一个对象是否存在某个键_面向工业大数据的对象存储技术实践
- ElasticSearch服务器操作命令
- [译]GC专家系列2:Java 垃圾回收的监控
- [蓝桥杯][算法提高VIP]学霸的迷宫(bfs+dfs)
- 【VB.NET】测验题目Quiz2
- 一款社区论坛小程序源码(修复登录图片发布上传问题)
- disk磁盘管理与Linux驱动编写
- 浏览器怪异模式和标准模式之间的区别 DTD
- 图算法之——dijkstra算法
- 机器学习——基于OpenCV和Python的智能图像处理(一)
- 调查了23款加速器,只剩这几款可以白嫖了!
- 多任务学习Multi-task Learning(MTL)概述
- 计算机中丢失msvcr100.dll怎么办,会声会影计算机中丢失MSVCR100.dll解决方案-计算机中丢失MSVCR100.dll怎么解决_好特教程...
- python武器代码_武器代码总结大全 BO开启秘籍的方法
- frequency bins解释
- HTML字符实体(关于amp;nbsp;amp;gt;amp;lt;等)
热门文章
- 介绍一个十分牛逼的GitHub看代码神器,零基础必学会的操作。
- Logback 日志过滤器的使用-日志分类归档方案
- GCN (Graph Convolutional Network) 图卷积网络
- 前端html通栏做法实践
- ipv6 neighbors 下fe80开头的地址
- centos 开机后提示failed to initialize packaging backend
- 罗爷:创新法律服务交易模式 找到你的专属lawyer
- 贸易款项中有俄罗斯等敏感国家的款项,企业及个人该如何收款?
- 【12月06日】A股全市场情绪指标整理分析
- Error CodeSignatureDoesNotMatch/Code MessageThe request signature we calculated does not mat...