flinkx local模式踩坑记录

1、下载源码,首次下载idea编译会报错,

编译找不到DB2、达梦、gbase、ojdbc8等驱动包
解决办法:在$FLINKX_HOME/jars目录下有这些驱动包,可以手动安装,也可以使用插件提供的脚本安装:

```bash
## windows平台
./install_jars.bat

## unix平台
./install_jars.sh
```
编译打包:mvn clean package -Dmaven.test.skip=true

2、把编译后的三个文件加bin/lib/syncplugins拷贝到服务器上,其中bin目录包含FlinkX的启动脚本,plugins目录下存放编译好的数据同步插件包。

3、编写start.sh启动脚本,job指定任务json,flinkconf指定flink配置,pluginRoot指定同步插件位置

启动脚本命令介绍:

  • model

    • 描述:执行模式,也就是flink集群的工作模式
      • local: 本地模式
      • standalone: 独立部署模式的flink集群
      • yarn: yarn模式的flink集群,需要提前在yarn上启动一个flink session,使用默认名称"Flink session cluster"
    • 必选:否
    • 默认值:local
  • job

    • 描述:数据同步任务描述文件的存放路径;该描述文件中使用json字符串存放任务信息。
    • 必选:是
    • 默认值:无
  • pluginRoot

    • 描述:插件根目录地址,也就是打包后产生的pluginRoot目录。
    • 必选:是
    • 默认值:无
  • flinkconf

    • 描述:flink配置文件所在的目录(单机模式下不需要),如/hadoop/flink-1.4.0/conf
    • 必选:否
    • 默认值:无
  • yarnconf

    • 描述:Hadoop配置文件(包括hdfs和yarn)所在的目录(单机模式下不需要),如/hadoop/etc/hadoop
    • 必选:否
    • 默认值:无

启动脚本示例: 

 sh ./bin/flinkx -job /soft/flume/flinkx/job/mysql-mysql.json -flinkconf /soft/flink-1.10.0/conf \ -pluginRoot /soft/flume/flinkx/syncplugins \

4、编写job文件,详见 https://blog.csdn.net/xiaolegeaizy/article/details/111032996,这里一定要注意。

{
    "job": {
        "setting": {
            "speed": {
                 "channel": 1,
                 "bytes": 1024
            },
            "errorLimit": {
                "record": 10000,
                "percentage": 10.0
            },
            "dirty": {
                "path": "/soft/flume/flinkx/job"
            }
        },
        "content": [
            {
                "reader": {
                    "parameter":{
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:mysql://172.17.0.103:3306/geopanel?useUnicode=true&characterEncoding=utf-8&useSSL=false"],
                                "table": [
                                    "sys_log"
                                ]
                            }
                        ],
                        "username": "root",
                        "password": "root",
                        "fetchSize":100,
                        "column": [
                            {
                                "name":"id",
                                "type":"long"
                            },{
                                "name":"type",
                                "type":"string"
                            },{
                                "name":"title",
                                "type":"string"
                            },{
                                "name":"create_by",
                                "type":"string"
                            },{
                                "name":"create_time",
                                "type":"date"
                            },{
                                "name":"update_time",
                                "type":"date"
                            },{
                                "name":"remote_addr",
                                "type":"string"
                            },{
                                "name":"user_agent",
                                "type":"string"
                            },{
                                "name":"refer",
                                "type":"string"
                            },{
                                "name":"request_uri",
                                "type":"string"
                            },{
                                "name":"method",
                                "type":"string"
                            },{
                                "name":"params",
                                "type":"string"
                            },{
                                "name":"time",
                                "type":"long"
                            },{
                                "name":"exception",
                                "type":"string"
                            },{
                                "name":"service_name",
                                "type":"string"
                            },{
                                "name":"del_flag",
                                "type":"string"
                            }
                        ],
                        "filter": ""
                    },
                    "name":"mysqlreader"
                },
               "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "writeMode": "insert",
                        "username": "root",
                        "password": "root",
                        "column": [
                            {
                                "name":"id",
                                "type":"bigint"
                            },{
                                "name":"type",
                                "type":"varchar"
                            },{
                                "name":"title",
                                "type":"varchar"
                            },{
                                "name":"create_by",
                                "type":"varchar"
                            },{
                                "name":"create_time",
                                "type":"datetime"
                            },{
                                "name":"update_time",
                                "type":"datetime"
                            },{
                                "name":"remote_addr",
                                "type":"varchar"
                            },{
                                "name":"user_agent",
                                "type":"varchar"
                            },{
                                "name":"refer",
                                "type":"varchar"
                            },{
                                "name":"request_uri",
                                "type":"varchar"
                            },{
                                "name":"method",
                                "type":"varchar"
                            },{
                                "name":"params",
                                "type":"varchar"
                            },{
                                "name":"time",
                                "type":"bigint"
                            },{
                                "name":"exception",
                                "type":"varchar"
                            },{
                                "name":"service_name",
                                "type":"varchar"
                            },{
                                "name":"del_flag",
                                "type":"varchar"
                            }
                        ],
                        "batchSize": 1,
                        "session": [
                        ],
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:mysql://172.17.0.103:3306/ahcs?useUnicode=true&characterEncoding=utf-8&useSSL=false"],
                                "table": [
                                    "sys_log_copy"
                                ]
                            }
                        ]
                    }
                }
            }
        ]
    }
}

 5、启动任务,运行start.sh。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值