全量同步
过滤
1.全量同步某一张表
配置文件:
# tl;dr config
log_level=info
#kafka config
kafka_version=1.0.0
producer=kafka
kafka.bootstrap.servers=hadoop001:9092,hadoop002:9092,hadoop003:9092
kafka_topic = maxwell
#kafka produce options kafka.batch.size 代表条数还是字节呢? 条数
kafka.batch.size = 10000
kafka.max.request.size = 2097152
kafka.request.timeout.ms = 360000
kafka.acks = all
kafka.compression.type = snappy
kafka.metadata.fetch.timeout.ms= 360000
kafka.retries= 100
#kafka.linger.ms = 500
kafka.max.in.flight.requests.per.connection = 1
kafka.timeout.ms = 360000
kafka.buffer.memory = 536870912
kafka.max.block.ms = 1800000
#------------------------------------kafka options 处理数据乱序问题 -----------------------------------
#kafka producer partition
producer_partition_by=primary_key
#kafka monitor
metrics_type=http
metrics_http_port=8083
#------------------------------------Mysql options-----------------------
#mysql options
host=hadoop001
user=maxwell
password=wsx123$%^
schema_database=maxwell
jdbc_options=useSSL=false&serverTimezone=Asia/Shanghai
#------------------------------------mysql table options --------------------------------
#sync tables
include_dbs=ruozedata_erp
#include_tables=ruozedata_depothead
#--filter='exclude:*.*,include:ruozedata_erp.ruozedata_depothead'
注意:
--filter 参数 很重要 可以在命令行添加
表示 我只全量同步 ruozedata_erp.ruozedata_depothead 这个库下面的这个表
命令:全量同步 ruozedata_erp.ruozedata_depothead 表
1.
./maxwell-bootstrap \
--config ~/app/maxwell-1.22.1/config.properties \
--database ruozedata_erp \
--table ruozedata_depothead \
--client_id maxwell_ruozedata_depothead
2.
./maxwell \
--config ~/app/maxwell-1.22.1/config.properties \
--client_id maxwell_ruozedata_depothead
这个全量完成之后 自动就变成 按照增量同步
这就是指定 某个表 全量同步!!
注意:
我测试的时候 使用spark 消费kafka 看到 会有这样一条数据
注意:
全量同步 一个库 下面 所有的表
只能一个 一个表 同步
因为 maxwell-bootstrap 要指定 --table 即可
所以:
但是maxwell元数据 同步的时候也会 把自己的元数据数据 json 输出
你在 spark 同步数据 到 phoenix 的时候 要注意 过滤