白丝 足交
你的位置:明星换脸 > 白丝 足交 > 白丝 足交 通过Canal将MySQL数据同步至阿里云ES
白丝 足交 通过Canal将MySQL数据同步至阿里云ES
发布日期:2024-12-02 05:18    点击次数:146

白丝 足交 通过Canal将MySQL数据同步至阿里云ES

要是您需要将MySQL中的增量数据及时同步至阿里云Elasticsearch(简称ES)实例白丝 足交,且您对数据同步的及时性条件较高,不错通过Canal来完了。

已创建阿里云ECS实例。用于部署Canal-server和Canal-adapter。具体操作请参见自界说购买实例。本文创建的实例的镜像为CentOS 7.6 64位。

使用截止

本决策仅撑捏将MySQL增量数据同步至阿里云ES。

装配的JDK版块必须大于就是1.8.0。

Canal 1.1.4版块不撑捏ES 7.x版块。

ES 7.x版块的数据写入需使用Canal 1.1.5版块,ES 8.x版块请礼聘1.1.7版块。您也不错通过其他面目(举例Logstash、DTS)完了MySQL数据同步。

在进行数据同步时撑捏自界说索引Mapping,但需保证Mapping中界说的字段(称呼+类型)与MySQL中一致。

本决策需要您自行保证Canal的可用性,幸免出现业务不行用或故障。举例:当出现ECS重启,Canal十分退出等场景时怎样链接同步数据等。

Canal Adapter不撑捏使用HTTPS公约齐集阿里云ES实例。

操作设施设施一:准备MySQL数据源

参预RDS适度台,创建RDS MySQL数据库和表。具体操作请参见RDS MySQL快速初学。本文使用的建表语句如下。

-- create table
CREATE TABLE `es_test` (
    `id` bigint(32) NOT NULL,
    `name` text NOT NULL,
    `count` text NOT NULL,
    `color` text NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8;
设施二:创建索引

登录贪图阿里云ES实例的Kibana适度台,具体操作请参见登录Kibana适度台。

在左侧导航栏,单击Dev Tools。

在Console中,扩充以下呐喊白丝 足交创建索引。

设施三:装配JDK

齐集ECS实例。

检察可用的JDK软件包列表。

礼聘合乎的版块,装配JDK。

设立环境变量。

掀开etc文献夹下的profile文献。

在文献内添加如下的环境变量。

按下Esc键,然后使用:wq保存文献并退出vi时势,随后扩充以下呐喊使设立见效。

扩充以下呐喊,考证JDK是否装配凯旋。

设施四:装配并开动Canal-server

下载Canal-server。

解压。

修改conf/example/instance.properties文献。

按下Esc键,然后使用:wq呐喊保存文献并退出vi时势。

开动Canal-server,并检察日记。

设施五:装配并开动Canal-adapter

下载Canal-adapter。

解压。

修改conf/application.yml文献。

按下Esc键,然后使用:wq呐喊保存文献并退出vi时势。

不异的面目,修改conf/es/*.yml文献,界说MySQL数据到ES数据的映射字段。

开动Canal-adapter行状,并检察日记。

设施六:考证增量数据同步

在RDS MySQL数据库中,新增、修改或删除数据库中es_test表的数据。

登录贪图阿里云ES实例的Kibana适度台,具体操作请参见登录Kibana适度台。

在左侧导航栏,单击Dev Tools。

在Console中,扩充以下呐喊查询同步凯旋的数据。

常见问题

Q:开动Canal-adapter时,adapter.log日记暴露十分,若那儿理?作沐日记为:java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to com.alibaba.druid.pool.DruidDataSource

at com.alibaba.otter.canal.client.adapter.es7x.ES7xAdapter.init(ES7xAdapter.java:54) ~[client-adapter.es7x-1.1.5-jar-with-dependencies.jar:na]

A:将canal.adapter-1.1.5\plugin下的client-adapter.es7x-1.1.5-jar-with-dependencies.jar替换为canal-1.1.5-alpha-2版块下的对应文献。

以root权限用户为例,操作设施如下:

下载canal-1.1.5-alpha-2版块。详备信息请参见Canal release note。

wget https://github.com/alibaba/canal/releases/download/canal-1.1.5-alpha-2/canal.adapter-1.1.5-SNAPSHOT.tar.gz

解压文献。

tar -zxvf canal.adapter-1.1.5-SNAPSHOT.tar.gz

拷贝canal-1.1.5-alpha-2 版块中plugin下的client-adapter.es7x-1.1.5-SNAPSHOT-jar-with-dependencies.jar放到canal.adapter-1.1.5\plugin目次下。

cp canal.adapter-1.1.5-SNAPSHOT/plugin/client-adapter.es7x-1.1.5-SNAPSHOT-jar-with-dependencies.jar canal/canal.adapter/plugin

删除canal.adapter-1.1.5\plugin下的client-adapter.es7x-1.1.5-jar-with-dependencies.jar。

rm -rf client-adapter.es7x-1.1.5-jar-with-dependencies.jar

修更名字。

mv client-adapter.es7x-1.1.5-SNAPSHOT-jar-with-dependencies.jar client-adapter.es7x-1.1.5-jar-with-dependencies.jar 

Q:开动Canal-adapter时,adapter.log日记暴露十分,若那儿理?作沐日记为java.sql.SQLException: Unknown system variable 'query_cache_size'

A:可能是由于Canal-adapter中自带的MySQL驱动版块与齐集的MySQL数据库版块不一致导致,举例:使用的canal.adapter-1.1.4时,其自带的MySQL驱动器为mysql-connector-java-5.1.40.jar,在齐集MySQL8时就会出现如上所述的十分信息。可更换Canal-adapter中的MySQL驱动器版块进行处理。

Q:使用Canal同步MySQL 8.0版块的数据,怎样将MySQL驱动器版块替换成8.0?

A:以下操作设施以root权限用户为例。

2018国内自拍在线视观看

下载8.0版块的MySQL驱动器。

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.29.zip

解压。

unzip mysql-connector-java-8.0.29.zip

拷贝文献到Canal-adapter的lib目次下。

mv mysql-connector-java-8.0.29/mysql-connector-java-8.0.29.jar lib/

添加权限。

chmod 777 lib/mysql-connector-java-8.0.29.jar
chmod +st lib/mysql-connector-java-8.0.29.jar

删除5.x版块的驱动器。

rm -rf lib/mysql-connector-java-5.1.40.jar
相干文档

设立实例公网或私网走访白名单

登录Kibana适度台

检察集群情景和节点信息

设立同义词

插件设立