实践教程之如何将 PolarDB-X 与大数据等系统互通

本期实验将指导您使用PolarDB-X+Canal+ClickHouse搭建实时分析系统。

本期免费实验地址

本期教学视频地址

前置准备

假设已经根据前一讲内容完成了PolarDB-X的搭建部署,可以成功链接上PolarDB-X数据库。

实践教程之如何快速安装部署PolarDB-X

部署Canal

Canal是一款流行的MySQL Binlog增量订阅工具,详情请参见Canal说明文档。Canal提供了Docker镜像,详情请参见Canal Docker镜像文档。

(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

部署ClickHouse

ClickHouse是一款分析系统,详情请参见ClickHouse官方文档。ClickHouse提供了Docker镜像,详情请参见ClickHouseDocker镜像文档。

执行如下命令,部署ClickHouse。

docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -p 8123:8123 yandex/clickhouse-server

在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退出数据库。

(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退出数据库。

运行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)中的数据变化。
在实验页面,单击右上角的


图标,创建新的终端窗口。

(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)接收到投递过来的数据。

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

caffe安装 cuda安装 opencv安装 cudnn安装 python相关依赖库安装

1安装cuda8.0 安装依赖库 #sudo apt-get install g #sudo apt-get install git #sudo apt-get install freeglut3-dev Ctraltf4 进入后台 输入用户名和密码 User: Password: #sudo vi /etc/modprobe.d/blacklist-nouveau.conf 输入 blacklistnouve…

加载速度提升 15%,关于 Python 启动加速探索与实践的解析

编者按:在刚刚结束的 PyCon China 2022 大会上,龙蜥社区开发者严懿宸分享了主题为《Python 启动加速的探索与实践》的技术演讲。本次演讲,作者将从 CPython 社区相关工作、本方案的设计及实现,以及业务层面的集成等方面进行介绍。…

统信软件高级工程师:关于云原生技术在容器方面的应用介绍

编者按:随着近几年来云原生生态的不断壮大,众多企业纷纷开展了用云上云的工作,学习云原生及容器技术对于现代工程师是必不可少的。本文整理自龙蜥大讲堂 54 期,统信高级研发工程师参与技术分享,为大家介绍了云原生的介…

sdut 区间覆盖问题

区间覆盖问题 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 用i来表示x坐标轴上坐标为[i-1,i]的长度为1的区间,并给出n(1≤n≤200)个不同的整数,表示n个这样的区间。 现在要…

opencv mat数据剪裁感兴趣的部分处理方法

Mat srcImage_r imread("c_d_right.jpg",1);Mat srcImage_l imread("c_d_left.jpg",1);Mat vv(srcImage_r,Rect(10,10,100,100));imshow("vv", vv);

解读最佳实践:倚天710 ARM芯片的 Python+AI 算力优化

编者按:在刚刚结束的 PyCon China 2022 大会上,龙蜥社区开发者朱宏林分享了主题为《ARM 芯片的 PythonAI 算力优化》的技术演讲。本次演讲,作者将向大家介绍他们在倚天 710 ARM 芯片上开展的 PythonAI 优化工作,以及在 ARM 云平台…

从敏捷协作到价值交付

前面我的同事在分享的时候,指出目前软件研发的最大问题不是效率,而是研发资源的浪费。可能产品经理半天写的需求,开发要埋头苦干三个月。如果错误的选择了一个对业务发展无益的需求,会带着大家往错误的方向越跑越远。 那么什么是…

opencv实现几幅图像拼接成一整幅大图

opencv实现几幅图像拼接成一整幅大图 标签: 博客opencv 2013-10-22 12:05 9846人阅读 评论(3) 收藏 举报 本文章已收录于: 分类: opencv(14) 作者同类文章X版权声明:本文为博主原创文章,未…

行动策略过于复杂怎么办?试试下面一些解决方法

背景 随着使用SLS告警越来越深入,有些用户的行动策略会配置的特别复杂,有些时候可以让用户通过创建多个行动策略来进行一定的精简,但是在一些场景下,用户是无法创建多个行动策略的。例如用户想要通过SLS来统一管理其各个监控系统…

从效能公式解构研发效能

这几年,云原生、Web3.0、元宇宙等技术的出现和应用,正在深刻地改变着我们这个世界。以数字技术应用为主线的数字化转型是此次人类文明变革的核心动力。在这一变革过程中,软件研发模式的发展起到了重至关重要的作用。从早期瀑布式、精益敏捷、…

sdut 汉诺塔系列2

汉诺塔系列2 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 用1,2,...,n表示n个盘子,称为1号盘,2号盘,...。号数大盘子就大。经典的汉诺塔问 题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典…

阿里CCO:基于 Hologres 的亿级明细 BI 探索分析实践

CCO是Chief Customer Officer的缩写,也是阿里巴巴集团客户体验事业部的简称。随着业务的多元化发展以及行业竞争的深入,用户体验问题越来越受到关注。CCO体验业务运营小二日常会大量投入在体验洞察分析中,旨在通过用户的声音数据结合交易、物…

ubuntu软件安装 caffe相关软件安装 学习笔记

解压rar文件sudo 7z x filename.rar解压zip文件unzip archive_name.zip解压TAR文件# tar -cvf archive_name.tar directory_to_compress运行ssdsudo sucd caffepython ///caffe出现no mudole caffe解决方法source /etc/profile编译caffemake cleanmake all -j8获得复制文件权限…

sdut 青蛙过河

青蛙过河 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 1)一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,石柱L面积只容得下一只青蛙落脚,同样右岸也有一石柱R&…

python调用shell脚本

python程序 import osimport subprocessimport syswhile(1):subprocess.call("/home/your_host_name/caffe/detection_position/test_code/new/call_parse_position.sh", shellTrue) call_parse_position.sh 文件 #!/bin/bash # # #gcc m1.cpp -o m1_run echo &…

sdut 数字三角形问题

数字三角形问题 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。对于给定的由n行…

caffe编译出现 libcudart.so.8.0 cannot open shared object file: No such file or directory的错去

"libcudart.so.8.0 cannot open shared object file: No such file or directory"解决办法是将一些文件复制到/usr/local/lib文件夹下:#注意自己CUDA的版本号!sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.s…

sdut 装船问题

装船问题 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 王小二毕业后从事船运规划工作,吉祥号货轮的最大载重量为M吨,有10种货物可以装船。第i种货物有wi吨,总价值是pi。王小二的任务是从10种货物中…

SSD( Single Shot MultiBox Detector)关键源码解析

SSD(SSD: Single Shot MultiBox Detector)是采用单个深度神经网络模型实现目标检测和识别的方法。如图0-1所示,该方法是综合了Faster R-CNN的anchor box和YOLO单个神经网络检测思路(YOLOv2也采用了类似的思路,详见YOLO…

sdut 删数问题

删数问题 Problem Description 键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s,寻找一种方案,使得剩下的数字组成的新数最小。Input …