如何将kafka消息批量排队到clickhouse

时间:2017-11-21 14:26:43

标签: clickhouse

我正在尝试按照官方网页https://clickhouse.yandex/docs/en/table_engines/kafka.html的步骤将Streaming queue kafka批量转换为clickhouse,并且没有办法让它运行正常。

我已经检查了kafka configuration并且没问题,因为我已为此队列创建了一个馈线,并且我已将clickhouse configuration zookeeper's host添加到port }和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()

* {margin:0;padding:0;box-sizing:border-box} html, body {text-align: center;} #logo2 img { margin: 0 auto; margin-top: 3%; } .menu2 { display: flex; /* displays children inline */ margin: 0; width: 100%; margin-top: 2%; list-style-type: none; background: linear-gradient(#3E3E3E, #2B2B2B); } li { flex: 1; /* each takes as much width as it can, i.e. 25% */ border-right: 1px solid #232323; } li:last-child { border: none; } li a { display: block; text-align: center; font: Verdana; font-size: 16px; color: #EAE0D2; text-decoration: none; padding: 20px 0; } li a:hover { background: linear-gradient(#404040, #3E3E3E); } .active { background: linear-gradient(#2B2B2B, #232323); }的结果总是 false ,并且没有例外。

有什么想法吗?

谢谢, 亲切的问候。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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,它对我来说很好。