CREATE USER 'test'@'%' IDENTIFIED BY 'test@123';
GRANT ALL PRIVILEGES ON test.* TO test@'%';
FLUSH PRIVILEGES ;
CREATE TABLE `word_count` (
`targetDate` date NOT NULL,
`word` varchar(255) COLLATE utf8_bin NOT NULL,
`count` bigint(20) DEFAULT NULL,
PRIMARY KEY (`targetDate`,`word`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
测试发现写入Kafka的数据正确,但是KafkaSpout消费的时候,偶尔会出现少量的重复消息。 原因暂时不明。 检查了Bolt都进行了ACK,理论上是不会重发的。 待研究。
拓扑图: Kafka的模拟数据: MySQL的归档数据(At Least Once): Redis的实时数据: