96SEO 2026-02-19 11:46 16
。

所以编写本文,自己做个记录备查同时跟大家分享一下。
本文以简单的mysql
引言:目前flink的文章比较多,但一般都关注某一特定方面,很少有一个文章,从一个简单的例子入手,说清楚从编码、构建、部署全流程是怎么样的。
所以编写本文,自己做个记录备查同时跟大家分享一下。
本文以简单的mysql
环境说明:MySQL:5.7;flink:1.14.0;hadoop:3.0.0;操作系统:CentOS
`products`(`id`,`name`,`description`)
参考:https://core815.blog.csdn.net/article/details/144233298
com.ververica.cdc.connectors.mysql.source.MySqlSource;
com.ververica.cdc.connectors.mysql.table.StartupOptions;
com.ververica.cdc.debezium.JsonDebeziumDeserializationSchema;
org.apache.flink.api.common.eventtime.WatermarkStrategy;
org.apache.flink.configuration.Configuration;
org.apache.flink.configuration.RestOptions;
org.apache.flink.streaming.api.datastream.DataStreamSource;
org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
org.apache.flink.streaming.api.functions.ProcessFunction;
org.apache.flink.util.Collector;import
java.util.logging.Logger;import
com.mysql.cj.conf.PropertyKey.useSSL;public
Arrays.asList("flinktest.products");MySqlSourceString
MySqlSource.Stringbuilder().hostname("10.86.37.169").port(3306).databaseList("flinktest").tableList(String.join(",",
SYNC_TABLES)).username("root").password("pwd").startupOptions(StartupOptions.initial()).deserializer(new
JsonDebeziumDeserializationSchema()).build();///
UI,访问地址【http://ip:port】config.setBoolean("web.ui.enabled",
config.setString(RestOptions.BIND_PORT,"8081");
这个使用jar直接运行可以,如果提交给yarn会报错,需要改为getExecutionEnvironment()StreamExecutionEnvironment
StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(config);*////配置flink访问页面-结束StreamExecutionEnvironment
StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);///
hadoop部署见:https://core815.blog.csdn.net/article/details/144022938//
hdfs访问地址见:/home/hadoop-3.3.3/etc/hadoop/core-site.xmlenv.getCheckpointConfig().setCheckpointStorage("hdfs://10.86.97.191:9000"+"/flinktest/");env.getCheckpointConfig().setCheckpointInterval(3000);///
如果不能正常读取mysql的binlog://①可能是mysql没有打开binlog或者mysql版本不支持(当前在mysql5.7.20环境下,功能正常);//
②可能是数据库ip、port、账号、密码错误。
env.fromSource(mySqlSource,
WatermarkStrategy.noWatermarks(),
Source").setParallelism(1).print();env.execute("Print
xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd"modelVersion4.0.0/modelVersiongroupIdcom.zl.flinkcdc/groupIdartifactIdFlickCDC/artifactIdpackagingjar/packagingversion1.0-SNAPSHOT/versionnameFlickCDC/namepropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetflink-version1.14.0/flink-versionflink-cdc-version2.4.0/flink-cdc-versionhadoop.version3.0.0/hadoop.versionslf4j.version1.7.25/slf4j.versionlog4j.version2.16.0/log4j.version/propertiesdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion3.8.1/versionscopetest/scope/dependencydependencygroupIdorg.apache.flink/groupIdartifactIdflink-java/artifactIdversion${flink-version}/version/dependencydependencygroupIdorg.apache.flink/groupIdartifactIdflink-streaming-java_2.11/artifactIdversion${flink-version}/version/dependencydependencygroupIdcom.ververica/groupIdartifactIdflink-connector-mysql-cdc/artifactIdversion${flink-cdc-version}/version/dependencydependencygroupIdorg.apache.flink/groupIdartifactIdflink-shaded-guava/artifactIdversion30.1.1-jre-15.0/version/dependency!--dependencygroupIdorg.apache.flink/groupIdartifactIdflink-shaded-guava/artifactIdversion18.0-13.0/version/dependency--dependencygroupIdorg.apache.flink/groupIdartifactIdflink-connector-base/artifactIdversion${flink-version}/version/dependencydependencygroupIdorg.apache.flink/groupIdartifactIdflink-clients_2.11/artifactIdversion${flink-version}/version/dependencydependencygroupIdorg.apache.flink/groupIdartifactIdflink-table-common/artifactIdversion${flink-version}/version/dependencydependencygroupIdorg.apache.flink/groupIdartifactIdflink-runtime-web_2.11/artifactIdversion${flink-version}/version/dependency!--
hadoop相关依赖--dependencygroupIdorg.apache.hadoop/groupIdartifactIdhadoop-client/artifactIdversion${hadoop.version}/versionscopeprovided/scopeexclusionsexclusionartifactIdcommons-cli/artifactIdgroupIdcommons-cli/groupId/exclusionexclusionartifactIdcommons-compress/artifactIdgroupIdorg.apache.commons/groupId/exclusionexclusionartifactIdguava/artifactIdgroupIdcom.google.guava/groupId/exclusionexclusionartifactIdjackson-annotations/artifactIdgroupIdcom.fasterxml.jackson.core/groupId/exclusionexclusionartifactIdjackson-core/artifactIdgroupIdcom.fasterxml.jackson.core/groupId/exclusionexclusionartifactIdjackson-databind/artifactIdgroupIdcom.fasterxml.jackson.core/groupId/exclusionexclusionartifactIdslf4j-api/artifactIdgroupIdorg.slf4j/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.hadoop/groupIdartifactIdhadoop-common/artifactIdversion${hadoop.version}/versionscopeprovided/scopeexclusionsexclusionartifactIdasm/artifactIdgroupIdorg.ow2.asm/groupId/exclusionexclusionartifactIdavro/artifactIdgroupIdorg.apache.avro/groupId/exclusionexclusionartifactIdcommons-cli/artifactIdgroupIdcommons-cli/groupId/exclusionexclusionartifactIdcommons-codec/artifactIdgroupIdcommons-codec/groupId/exclusionexclusionartifactIdcommons-compress/artifactIdgroupIdorg.apache.commons/groupId/exclusionexclusionartifactIdcommons-io/artifactIdgroupIdcommons-io/groupId/exclusionexclusionartifactIdcommons-lang3/artifactIdgroupIdorg.apache.commons/groupId/exclusionexclusionartifactIdcommons-logging/artifactIdgroupIdcommons-logging/groupId/exclusionexclusionartifactIdcommons-math3/artifactIdgroupIdorg.apache.commons/groupId/exclusionexclusionartifactIdguava/artifactIdgroupIdcom.google.guava/groupId/exclusionexclusionartifactIdjackson-databind/artifactIdgroupIdcom.fasterxml.jackson.core/groupId/exclusionexclusionartifactIdjaxb-api/artifactIdgroupIdjavax.xml.bind/groupId/exclusionexclusionartifactIdlog4j/artifactIdgroupIdlog4j/groupId/exclusionexclusionartifactIdnimbus-jose-jwt/artifactIdgroupIdcom.nimbusds/groupId/exclusionexclusionartifactIdslf4j-api/artifactIdgroupIdorg.slf4j/groupId/exclusionexclusionartifactIdslf4j-log4j12/artifactIdgroupIdorg.slf4j/groupId/exclusionexclusionartifactIdzookeeper/artifactIdgroupIdorg.apache.zookeeper/groupId/exclusionexclusionartifactIdjsr305/artifactIdgroupIdcom.google.code.findbugs/groupId/exclusionexclusionartifactIdgson/artifactIdgroupIdcom.google.code.gson/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.hadoop/groupIdartifactIdhadoop-hdfs/artifactIdversion${hadoop.version}/versionscopeprovided/scopeexclusionsexclusionartifactIdcommons-cli/artifactIdgroupIdcommons-cli/groupId/exclusionexclusionartifactIdguava/artifactIdgroupIdcom.google.guava/groupId/exclusionexclusionartifactIdjackson-databind/artifactIdgroupIdcom.fasterxml.jackson.core/groupId/exclusion/exclusions/dependencydependencygroupIdcommons-cli/groupIdartifactIdcommons-cli/artifactIdversion1.5.0/version/dependency!--mvn
-Dfile=D:/maven/flink-shaded-hadoop-3-uber-3.1.1.7.2.9.0-173-9.0.jar-DgroupId=org.apache.flink
-DartifactId=flink-shaded-hadoop-3
-Dversion=3.1.1.7.2.9.0-173-9.0
-Dpackaging=jar--dependencygroupIdorg.apache.flink/groupIdartifactIdflink-shaded-hadoop-3/artifactIdversion3.1.1.7.2.9.0-173-9.0/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-assembly-plugin/artifactIdversion3.0.0/versionconfigurationdescriptorRefsdescriptorRefjar-with-dependencies/descriptorRef/descriptorRefsarchivemanifestaddClasspathtrue/addClasspathmainClasscom.zl.MysqlExample/mainClass/manifest/archive/configurationexecutionsexecutionidmake-assembly/idphasepackage/phasegoalsgoalsingle/goal/goals/execution/executions/plugin/plugins/build
/project完整代码见:https://gitee.com/core815/flink-cdc-mysql
FlickCDC-1.0-SNAPSHOT-jar-with-dependencies.jar5.flink
hadoop、flink、yarn环境见:https://core815.blog.csdn.net/article/details/144022938
把FlickCDC-1.0-SNAPSHOT-jar-with-dependencies.jar放到“/home”路径下。
-Dtaskmanager.memory.process.size=1g
-Dyarn.application.name="FlinkCdcMysql"
-Dtaskmanager.numberOfTaskSlots=1
/home/FlickCDC-1.0-SNAPSHOT-jar-with-dependencies.jar控制台看到如下打印:yarn管理页面:运行日志查看步骤:下面即可看到完整日志:6.常见问题
default-time-zone=‘Asia/Shanghai’
inode=“/”:root:supergroup:drwxr-xr-x
参考:https://developer.aliyun.com/ask/574901
/user/root/.flink/application_1733492706887_0002/log4j.properties
https://www.pianshen.com/article/1554707968/
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback