詳細(xì)資料可以參考maxwell官網(wǎng)
說(shuō)明:本文主要是關(guān)于配置maxwell監(jiān)聽mysql的數(shù)據(jù)修改并實(shí)時(shí)將修改內(nèi)容同步到kafka中让虐。
- 配置mysql啟用binlog
配置/etc/my.cnf,然后重啟mysql服務(wù)
[mysqld]
server-id=1
log-bin=master
binlog_format=row
在mysql中給maxwell授予相應(yīng)的權(quán)限并建立maxwell數(shù)據(jù)庫(kù)
MariaDB [(none)]> GRANT ALL on maxwell.* to 'maxwell'@'%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE on *.* to 'maxwell'@'%';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
建立一個(gè)測(cè)試用表摊鸡,并插入一條數(shù)據(jù)
MariaDB [(none)]> use hivetest;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [hivetest]> insert into test set name = '11111', age = '12313';
Query OK, 1 row affected (0.00 sec)
- maxwell配置文件
[root@datanode1 ~]# cat /opt/maxwell-1.10.6/config.properties | grep -v ^# | grep -v ^$
log_level=info
producer=kafka
kafka.bootstrap.servers=192.168.190.11:9092,192.168.190.14:9092,192.168.190.17:9092
host=localhost
user=maxwell
password=123456
kafka_topic=test
kafka.compression.type=snappy
kafka.metadata.fetch.timeout.ms=5000
kafka.retries=3
kafka.acks=all
kinesis_stream=maxwell
啟動(dòng)maxwell測(cè)試下是否能正常獲取binglog
[root@datanode1 maxwell-1.10.6]# bin/maxwell --user='maxwell' --password='123456' --host='127.0.0.1' --producer=stdout
14:12:01,700 WARN MaxwellMetrics - Metrics will not be exposed: metricsReportingType not configured.
14:12:01,933 INFO SchemaStoreSchema - Creating maxwell database
14:12:02,004 INFO Maxwell - Maxwell v1.10.6 is booting (StdoutProducer), starting at Position[BinlogPosition[mysql-bin.000001:3997], lastHeartbeat=0]
14:12:02,146 INFO AbstractSchemaStore - Maxwell is capturing initial schema
14:12:02,328 INFO BinlogConnectorReplicator - Setting initial binlog pos to: mysql-bin.000001:3997
14:12:02,383 INFO BinaryLogClient - Connected to 127.0.0.1:3306 at mysql-bin.000001/3997 (sid:6379, cid:7)
{"database":"hivetest","table":"test","type":"insert","ts":1506319983,"xid":142,"commit":true,"data":{"id":168,"name":"11111","age":12313,"create_time":"2017-09-25 06:13:03"}}
ok,測(cè)試成功。
后臺(tái)啟動(dòng)maxwell措嵌,并將數(shù)據(jù)發(fā)送到kafka(需要先在kafka中建好topic)
[root@datanode1 ~]# nohup bin/maxwell --user='maxwell' --password='123456' --host='127.0.0.1' --producer=kafka &