詳細資料能夠參考maxwell官網 (mysql + maxwell + kafka + elasticsearch)
說明:本文主要是關於配置maxwell監聽mysql的數據修改並實時將修改內容同步到kafka中。javascript
配置/etc/my.cnf,而後重啓mysql服務java
[mysqld]
server-id=1
log-bin=master binlog_format=row
在mysql中給maxwell授予相應的權限並創建maxwell數據庫node
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)
創建一個測試用表,並插入一條數據python
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)
[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
啓動maxwell測試下是否能正常獲取binglogmysql
[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,測試成功。
後臺啓動maxwell,並將數據發送到kafka(須要先在kafka中建好topic)sql
[root@datanode1 ~]# nohup bin/maxwell --user='maxwell' --password='123456' --host='127.0.0