No working clickhouse servers
Closed this issue · 15 comments
{
"listen": ":8124",
"flush_count": 10000,
"flush_interval": 1000,
"dump_check_interval": 300,
"debug": false,
"dump_dir": "dumps",
"clickhouse": {
"down_timeout": 60,
"connect_timeout": 10,
"servers": [
"http://clickhouse:clickhouse@127.0.0.1:8123"
]
}
}
$ curl -s http://127.0.0.1:8124/metrics | grep "^ch_" ch_bad_servers 0 ch_dump_count 0 ch_good_servers 0 ch_queued_dumps 0 ch_received_count 0 ch_sent_count 0
$curl http://clickhouse:clickhouse@127.0.0.1:8123 Ok.
It seems that he does not see servers, how can I solve this problem?
может учетные данные в конфиге не проходят. их надо передавать с клиентов. тут просто сервера
А можно пример как это сделать?
пример конфига в ридми)
"servers": [
"http://127.0.0.1:8123"
]
а на клиенте зпависит от языка. если на питоне, то что-то типа вот этого
https://requests.readthedocs.io/en/master/user/authentication/
но можно и просто user и password в get параметрах передавать
Клиент сдандартный идет с документации clickhouse:
FROM yandex/clickhouse-client:19.15 as build
эта утилита не предназначена для стандартного клиента, хотя наверное должна работать. по идее надо просто в ней прописать логин и пароль при подключении. сначала попробуйте подключиться к оригинальному серверу, а затем с теми же настройками через clickhouse-bulk, указав у него в конфиге просто адрес сервера
а, нет. прошу прощения. клиент же работает через свой протокол. а утилита принимает только http запросы. возможно вы пытаетесь сделать что-то не то, для чего она предназначена. попробуйте сначала настроить все без нее. а потом уже поставить ее посередине.
Я пробовал управлять через houseOps - все таблицы и данные отображаются. С теми же настройками пытаюсь настроить clickhouse-bulk
а через какую библиотеку вы отправляете данные в кликхаус сейчас?
По идее только вот тут в конфиге пароль нужно задавать. в clickhouse-bulk просто сервер указать. а в этом конфиге ссылку на него. Но я php давно не пользую, поэтому сам проверить не могу.
'connections' => [
'clickhouse' => [
'driver' => 'clickhouse',
'cluster' => [
'server-1' => [
'host' => '',
'port' => '',
'database' => '',
'username' => '',
'password' => '',
'options' => [
'timeout' => 10,
'protocol' => 'https'
]
],
'server-2' => [
'host' => '',
'port' => '',
'database' => '',
'username' => '',
'password' => '',
'options' => [
'timeout' => 10,
'protocol' => 'https'
]
]
]
]
]
Так это в указанной мной библиотеке? Я не совсем понимаю как это поможет увидеть сервер через clickhouse-bulk.
через clickhouse-bulk не нужно видеть сервер) он наоборот собирает запросы и сам их туда отправляет, но использует учетные данные из запросов, пришедших на него.
поэтому в нем нужно просто указать адрес сервера clickhouse
"servers": [
"http://127.0.0.1:8123"
]
Если указать таким образом, то все также в статистике серверов нет:
$ curl -s http://127.0.0.1:8124/metrics | grep "^ch_" ch_bad_servers 0 ch_dump_count 0 ch_good_servers 0 ch_queued_dumps 0 ch_received_count 0 ch_sent_count 0
статистика копится только когда есть запросы. пока запросов нет, там все по нулям по идее будет
Я думал не видит серверов. Действительно при добавлениях появилась статистика. Спасибо большое за помощь!