阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通[亲测有效]

阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通[亲测有效]体验简介 场景将提供一台配置了CentOS 8.5操作系统的ECS实例(云服务器)。通过本教程的操作带您体验如何将PolarDB-X通过Canal与ClickHouse进行互通,搭建一个实时

阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通

体验简介

场景将提供一台配置了CentOS 8.5操作系统的ECS实例(云服务器)。通过本教程的操作带您体验如何将PolarDB-X通过Canal与ClickHouse进行互通,搭建一个实时分析系统。点击前往

阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通[亲测有效]

实验准备

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
  1. 执行如下命令,安装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
  1. 执行如下命令,查看MySQL版本号。
mysql -V

返回结果如下,表示您已成功安装MySQL。

阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通[亲测有效]

  1. 执行如下命令,登录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数据库。

阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通[亲测有效]

  1. 输入exit退出数据库。

阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通[亲测有效]

4. 搭建实时分析系统

本步骤将指导您如何使用PolarDB-X+Canal+ClickHouse搭建实时分析系统。

  1. 部署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
  1. 部署ClickHouse。

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

执行如下命令,部署ClickHouse。

docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -p 8123:8123 yandex/clickhouse-server
  1. 在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退出数据库。

阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通[亲测有效]

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

  1. 运行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)中的数据变化。

在实验页面,单击右上角的阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通[亲测有效]图标,创建新的终端窗口。

阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通[亲测有效]

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

阿里云体验有奖:如何将 PolarDB-X 与大数据等系统互通[亲测有效]

5. 了解更多

  • 如果您想了解更多有关PolarDB-X分布式事务实现原理,详情请参见PolarDB-X分布式事务实现原理(一)。

  • 如果您想了解更多有关PolarDB-X全局Binlog解读,详情请参见PolarDB-X全局Binlog解读。

  • 如果您想了解更多有关PolarDB-X全局Binlog解读之DDL,详情请参见PolarDB-X全局 Binlog解读之DDL。

恭喜完成

原文地址:https://www.cnblogs.com/bainana/archive/2022/06/28/16419710.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5070.html

(0)
上一篇 2023-05-24
下一篇 2023-05-24

相关推荐

  • 使用os.chmod更改文件权限

    使用os.chmod更改文件权限对于任何操作系统来说,控制文件和目录权限是一项非常重要的任务。为了保护文件或目录,操作系统需要确保它们只能被授权用户访问。这是操作系统的基本安全措施。Python的os库提供了os.chmod()函数来实现更改文件和目录权限的功能。在本文中,我们将深入探讨该函数的用法。

    2024-06-08
    54
  • SQL 入门教程:数据分组(GROUP BY)

    SQL 入门教程:数据分组(GROUP BY)目录汇总:SQL 入门教程:面向萌新小白的零基础入门教程 从 聚集函数 得知,使用 SQL 聚集函数可以汇总数据。这样,我们就能够对行进行计数,计算和与平均数,不检索所有数据就获得最大值和最小值。 目

    2023-04-20
    162
  • Python中any函数的应用

    Python中any函数的应用Python中的any()函数用于判断给定的可迭代参数iterable是否全部为False。如果全为False,则返回False,否则返回True。

    2024-08-20
    25
  • shell 一键配置单实例oracle基础环境变量(linux7)[通俗易懂]

    shell 一键配置单实例oracle基础环境变量(linux7)[通俗易懂]#!/bin/bash echo "修改主机名" hostnamectl set-hostname wangxfa hostname sleep 1 echo "查看并关

    2023-01-22
    158
  • 事务隔离(3)「终于解决」

    事务隔离(3)「终于解决」事务 保证一组数据库操作,要么全部成功,要么全部失败。 特性 原子性: 一致性: 隔离性: 持久性: 当数据库中有多个事务同时执行的时候,就可能出现脏读( )、不可重复读( )、幻读( )的问题,为了

    2023-02-11
    150
  • Python Finding List: 搜索引擎优化数据分析利器

    Python Finding List: 搜索引擎优化数据分析利器随着互联网的不断发展,搜索引擎已成为人们获取信息的重要手段。SEO(Search Engine Optimization)优化技术的使用已经成为企业和网站必不可少的一部分。但是如何分析和优化SEO数据呢?Python Finding List是一款强大的Python工具,可以帮助用户从不同的角度进行SEO数据分析和优化。

    2024-01-02
    107
  • mapreduce的框架_数据切片原理

    mapreduce的框架_数据切片原理Hadoop 2. InputSplit 切片类 1.0 类的作用 InputSplit 他在逻辑上包含了提供给处理这个Inputsplit的Mapper的所有的key-value 1.1 抽象方法

    2023-05-02
    150
  • 数据下推_性能调优

    数据下推_性能调优摘要:本文主要描述下函数在满足特征的前提下可以把函数属性定义为下推属性。 本文分享自华为云社区《GaussDB(DWS)性能调优:函数下推》,作者:譡里个檔 。 DWS作为MPP架构的数仓产品,其性能

    2023-06-11
    156

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注