Не удается подключиться к зоопарку из кликхауса
Я использую Bitnami Zookeeper AMI для AWS и настроил кластер из 3 узлов. Я указал их в файле конфигурации clickhouse следующим образом.
<zookeeper>
<node index="1">
<host>X.X.X.X</host>
<port>2181</port>
</node>
<node index="2">
<host>X.X.X.X</host>
<port>2181</port>
</node>
<node index="3">
<host>X.X.X.X</host>
<port>2181</port>
</node>
</zookeeper>
<macros>
<shard>01</shard>
<replica>ec2-X-X-X-X.compute-1.amazonaws.com</replica>
</macros>
Теперь, когда я пытаюсь создать таблицу ReplicatedMergeTree, используя следующий запрос на одном из моих узлов clickhouse
CREATE TABLE ontime_replica (Year UInt16,
Month UInt8,
DayofMonth UInt8,
FlightDate Date
)
ENGINE = ReplicatedMergeTree(
'/clickhouse/tables/{shard}/ontime',
'{replica}',
FlightDate,
(Year, FlightDate),
8192);
Я получаю следующее исключение
Query execution failed
Reason:
SQL Error [999]: ClickHouse exception, code: 999, host: <Clickhouse node IP>, port:
8123; Code: 999, e.displayText() = Coordination::Exception: Not
authenticated, path: /clickhouse, e.what() = Coordination::Exception
В моих логах zookeeper я получаю следующее сообщение
2019-01-29 09:44:44,991 [myid:2] - INFO [ProcessThread(sid:2
cport:-1)::PrepRequestProcessor@653] - Got user-level KeeperException when
processing sessionid:0x1000437dc070000 type:create cxid:0x18
zxid:0x700000009 txntype:-1 reqpath:n/a Error Path:null
Error:KeeperErrorCode = NoAuth
2 ответа
Решение
Чтобы подключиться к zookeeper с логином и паролем, вы должны настроить ClickHouse следующим образом:
<yandex>
<zookeeper>
<node index="1">
<host>X.X.X.X</host>
<port>2181</port>
</node>
<node index="2">
<host>Y.Y.Y.Y</host>
<port>2181</port>
</node>
<node index="3">
<host>Z.Z.Z.Z</host>
<port>2181</port>
</node>
<identity>user:password</identity>
</zookeeper>
</yandex>
После изменения конфигурации вам нужно будет перезапустить сервер ClickHouse.
Добавленной
skipACL=yes
в моем конфиге zookeeper пропустить аутентификацию.