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