0

我正在尝试按照官方网页的步骤将 Streaming queue kafka 批量发送到 clickhouse https://clickhouse.yandex/docs/en/table_engines/kafka.html,但无法使其正常运行。

我已经检查过了kafka configuration,没关系,因为我已经为这个队列创建了一个 feeder,并且我已经添加到clickhouse configurationzookeeper's hostandport中。

例如,来自 eclipse 的句子是:

System.out.println(ck.connection.createStatement().execute("CREATE TABLE IF NOT EXISTS test.clickhouseMd5 ("st1 String," + "st2 String," + "st3 String) ENGINE = Kafka('node2:2181', 'TestTopic', 'testConsumerGroup', 'JSONEachRow')"));

的结果System.out.println()总是的,没有例外。

有任何想法吗?

谢谢,亲切的问候。

4

2 回答 2

1

您可以尝试通过 clickhouse 节点上的命令行 clickhouse-client 运行查询吗? cliclhouse-client -c "CREATE TABLE IF NOT EXISTS test.clickhouseMd5 (st1 String,st2 String, st3 String) ENGINE = Kafka('node2:2181', 'TestTopic', 'testConsumerGroup', 'JSONEachRow')"

于 2017-11-22T04:22:43.247 回答
0

您使用端口 2181,这是 zookeeper 的默认端口。但是根据您提到的文档(https://clickhouse.yandex/docs/en/table_engines/kafka.html),您应该在第一个参数中指定以逗号分隔的经纪人列表(localhost:9092)。

另请注意,它可能不适用于旧 Kafka 版本。例如 0.9.0.1。在这个版本中,CREATE TABLE 命令返回 OK。但在 kafka 日志中,我有类似“错误处理器未捕获异常”之类的错误。(kafka.network.Processor)java.lang.ArrayIndexOutOfBoundsException:18'。

但是使用最新的 Kafka 0.11.0.2 对我来说效果很好。

于 2017-11-24T14:33:50.937 回答