Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,做为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。它的常见应用场景有ETL、维护缓存、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案等。官网(http://maxwells-daemon.io)mysql
导入Maxwell源码到IDEA
编译完成后生成target文件夹,注意,在打package以前先clean
把新编译出来的maxwell-1.22.1.tar.gz上传到服务器sql
[hadoop@hadoop004 maxwell-1.22.1]$ vim config.properties
# mysql options user = maxwell password = Aaron123456# host= hadoop004 jdbc_options = useSSL=false&serverTimezone=Asia/Shanghai schema_database = maxwell ignore_producer_error = true # sync tables include_dbs=hello include_tables=people producer = kafka kafka_topic = DSHS # kafka produce options 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.bootstrap.servers=hadoop004:9092 # kafka producer partition producer_partition_by=primary_key # kafka monitor metrics_type=http metrics_http_port=8083
或者直接在IDEA直接启动
启动Kafkashell
bin/kafka-topics.sh --create --zookeeper hadoop004:2181 --replication-factor 1 --partitions 1 --topic DSHS bin/zookeeper-server-start.sh -daemon config/zookeeper.properties bin/kafka-server-start.sh -daemon config/server.properties bin/kafka-console-consumer.sh --zookeeper localhost:2181/kafka --topic DSHS --from-beginning
[hadoop@hadoop004 maxwell-1.22.1]$ bin/maxwell --kafka_version 0.10.0.1 --config config.properties
➜ bin pwd /Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/bin ➜ bin sh mvn install:install-file -Dfile=/Users/Aaron/Downloads/fuxing/phoenix-4.10.0-cdh5.12.0/phoenix-4.10.0-cdh5.12.0-client.jar -DgroupId=org.apache.phoenix -DartifactId=phoenix-client -Dversion=4.10.0-cdh5.12.0 -Dpackaging=Jar