【发布时间】:2019-09-16 19:08:19
【问题描述】:
我使用 docker compose 设置了一个 Neo4j 实例,其中包含流插件和 apoc 程序。代码如下:
neo4j-sink:
image: neo4j:3.5
hostname: neo4j-sink
container_name: neo4j-sink
# depends_on:
# - neo4j-source
ports:
- "7474:7474"
- "7687:7687"
volumes:
- ./neo4j/plugins:/plugins
environment:
NEO4J_kafka_zookeeper_connect: 0.0.0.0:2181
NEO4J_kafka_bootstrap_servers: 0.0.0.0:9092
# NEO4J_AUTH: neo4j/sink
NEO4J_dbms_memory_heap_max_size: 2G
NEO4J_kafka_max_poll_records: 10000
NEO4J_dbms_logs_debug_level: DEBUG
NEO4J_streams_sink_enabled: "true"
NEO4J_kafka_group_id: "neo4j_sink_1"
NEO4J_enable_auto_commit: "true"
NEO4J_streams_sink_topic_cypher_ARTICLECOMMIT: "WITH event.value as payload MERGE (a:Article {id: payload.ID}) ON CREATE set a.descr = payload.og_description"
这导致接收器初始化并监听主题:
neo4j-sink | 2019-09-14 09:45:54.962+0000 INFO Starting the Kafka Sink
neo4j-sink | 2019-09-14 09:45:55.473+0000 INFO Creating Sink daemon Job
neo4j-sink | 2019-09-14 09:45:55.478+0000 DEBUG Subscribed topics with Cypher queries: {ARTICLECOMMIT=WITH event.value as payload MERGE (a:Article {id: payload.ID}) ON CREATE set a.descr = payload.og_description}
neo4j-sink | 2019-09-14 09:45:55.479+0000 DEBUG Subscribed topics with CDC configuration: {CDC_SOURCE_ID=[], CDC_SCHEMA=[]}
neo4j-sink | 2019-09-14 09:45:55.480+0000 INFO Kafka Sink started
neo4j-sink | 2019-09-14 09:45:55.480+0000 INFO Streams Sink module initialised
但是从命令行生产者或者当我通过我的流发送消息时,它没有在 neo4J 中注册。我可以确认该主题正在从我的流中接收消息;我检查了 Kafka-console-consumer 并在流中收听。请告知我是否做错了什么。
我试过这个:
$ kafka-console-producer --broker-list 0.0.0.0:9092 --topic ARTICLECOMMIT
>{"ID":12345,"og_descrpition":"12312312"}
这是发布到主题的最基本尝试。但是neo4j没有收到任何事件。有人可以帮忙吗
【问题讨论】:
标签: neo4j apache-kafka apache-kafka-connect neo4j-apoc