Size: a a a

ClickHouse не тормозит

2021 February 09

DL

Dmitry Lukovkin in ClickHouse не тормозит
Dmitry Titov
SELECT * FROM system.zookeeper WHERE path = '/clickhouse/tables/1/log/replicas/1' AND name IN ('metadata','columns')

SELECT * FROM system.zookeeper WHERE path = '/clickhouse/tables/1/log/' AND name IN ('metadata','columns')
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dmitry Lukovkin
Вообще с первого взгляда выглядят идентичными.

Какое значение TTL было раньше?
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Dmitry Titov
Вообще с первого взгляда выглядят идентичными.

Какое значение TTL было раньше?
вроде 1,5 месяца
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Dmitry Titov
Вообще с первого взгляда выглядят идентичными.

Какое значение TTL было раньше?
что интересно, похоже 1месяц применилась настройка. Места на диске прибавилось. Как узнать нормально ли сейчас работает репликация и не отстает ли она от зоокипера?
источник

D

Dj in ClickHouse не тормозит
Dmitry Lukovkin
Row 1:
──────
statement: CREATE TABLE logs.log
(
   srv Int32,
   port Int32,
   t DateTime,
   ms UInt64,
   user_id Int32 DEFAULT 0,
   proj String,
   module Nullable(String),
   proc String,
   type Enum8('info' = 0, 'debug' = 1, 'trace' = 2, 'warn' = 3, 'error' = 4, 'fatal' = 5, 'panic' = 6, 'success' = 7, 'syslog' = 8),
   mes Nullable(String),
   pack Nullable(String),
   market Nullable(String),
   pair Nullable(String),
   mail Nullable(String),
   id Nullable(String),
   sub_id Nullable(String),
   event_id Nullable(String)
)
ENGINE = ReplicatedMergeTree('clickhouse/tables/1/log', '1')
ORDER BY (t, ms, user_id, proj, proc)
TTL t + toIntervalMonth(1)
SETTINGS index_granularity = 8192
покажите show create table на реплике
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Dj
покажите show create table на реплике
выше давал
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dmitry Lukovkin
что интересно, похоже 1месяц применилась настройка. Места на диске прибавилось. Как узнать нормально ли сейчас работает репликация и не отстает ли она от зоокипера?
SELECT * FROM system.replicas;
SELECT * FROM system.replication_queue;
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Dj
покажите show create table на реплике
Row 1:
──────
statement: CREATE TABLE logs.log
(
   srv Int32,
   port Int32,
   t DateTime,
   ms UInt64,
   user_id Int32 DEFAULT 0,
   proj String,
   module Nullable(String),
   proc String,
   type Enum8('info' = 0, 'debug' = 1, 'trace' = 2, 'warn' = 3, 'error' = 4, 'fatal' = 5, 'panic' = 6, 'success' = 7, 'syslog' = 8),
   mes Nullable(String),
   pack Nullable(String),
   market Nullable(String),
   pair Nullable(String),
   mail Nullable(String),
   id Nullable(String),
   sub_id Nullable(String),
   event_id Nullable(String)
)
ENGINE = ReplicatedMergeTree('clickhouse/tables/1/log', '1')
ORDER BY (t, ms, user_id, proj, proc)
TTL t + toIntervalMonth(1)
SETTINGS index_granularity = 8192
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Dmitry Titov
SELECT * FROM system.replicas;
SELECT * FROM system.replication_queue;
SELECT * FROM system.replication_queue;
SELECT *
FROM system.replication_queue

Query id: 9d805bfe-a0ff-49da-b711-e4c306d70577

Ok.

0 rows in set. Elapsed: 0.002 sec.
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
на второй ноде тоже пустой выхлоп
SELECT * FROM system.replication_queue;
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Я так понимаю это хорошо?
источник

D

Dj in ClickHouse не тормозит
это плохо, можно было бы списать на незаконченный ДДЛ...
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Станислав Линник
забавно, если conf.d/zookeeper.xml будет пустой, то CH не может запуститься, если в сервера ZK запихать localhost, то после попыток подключиться он вырубается.
А если удалить conf.d/zookeeper.xml и закомментировать  <zookeeper incl="zookeeper-servers" optional="true" />, то он стартует
Но прочитать реплицируемую табличку чет не получается
2021.02.09 07:28:00.412261 [ 21805 ] {59dcd7bf-da8b-4737-b293-f0efb5b7c2e9} <Debug> executeQuery: (from 127.0.0.1:42870) SELECT count(*) FROM test_backup;
2021.02.09 07:28:00.416711 [ 21805 ] {59dcd7bf-da8b-4737-b293-f0efb5b7c2e9} <Error> executeQuery: Code: 225, e.displayText() = DB::Exception: Cannot get ZooKeeper (version 20.10.6.27 (official build)) (from 127.0.0.1:42870) (in query: SELECT count(*) FROM test_backup;), Stack trace (when copying this message, always include the lines below):

0. DB::StorageReplicatedMergeTree::getZooKeeper() const @ 0xe0783bb in /usr/bin/clickhouse
1. DB::StorageReplicatedMergeTree::getMaxAddedBlocks() const @ 0xe0da8cd in /usr/bin/clickhouse
2. DB::StorageReplicatedMergeTree::totalRows() const @ 0xe0db63d in /usr/bin/clickhouse
3. DB::InterpreterSelectQuery::executeFetchColumns(DB::QueryProcessingStage::Enum, DB::QueryPlan&, std::__1::shared_ptr<DB::PrewhereInfo> const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) @ 0xdb543d3 in /usr/bin/clickhouse
4. DB::InterpreterSelectQuery::executeImpl(DB::QueryPlan&, std::__1::shared_ptr<DB::IBlockInputStream> const&, std::__1::optional<DB::Pipe>) @ 0xdb4c46b in /usr/bin/clickhouse
5. DB::InterpreterSelectQuery::buildQueryPlan(DB::QueryPlan&) @ 0xdb4b9c6 in /usr/bin/clickhouse
6. DB::InterpreterSelectWithUnionQuery::execute() @ 0xdcf167d in /usr/bin/clickhouse
7. ? @ 0xde48568 in /usr/bin/clickhouse
8. DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::Context&, bool, DB::QueryProcessingStage::Enum, bool) @ 0xde4740d in /usr/bin/clickhouse
9. DB::TCPHandler::runImpl() @ 0xe4ee3a6 in /usr/bin/clickhouse
10. DB::TCPHandler::run() @ 0xe4fb1a7 in /usr/bin/clickhouse
11. Poco::Net::TCPServerConnection::start() @ 0x10cd40df in /usr/bin/clickhouse
12. Poco::Net::TCPServerDispatcher::run() @ 0x10cd5af1 in /usr/bin/clickhouse
13. Poco::PooledThread::run() @ 0x10e06c99 in /usr/bin/clickhouse
14. Poco::ThreadImpl::runnableEntry(void*) @ 0x10e02bca in /usr/bin/clickhouse
15. start_thread @ 0x7ea5 in /usr/lib64/libpthread-2.17.so
16. clone @ 0xfe96d in /usr/lib64/libc-2.17.so
так и задумано
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Alexey Sokolov
Подскажите, пожалуйста, что может влиять на скорость выборки из таблицы без фильтров/сортировок?

Я делаю select * from table1 limit 10 и select * from table2 limit 10. При одинаковом наборе полей в таблицах скорость работы запроса может отличаться в разы.
в разы? типа 6мс и 16 мс?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Alexey Sokolov
1000 файлов даже если limit 10?
КХ вообще все делает кусками по 65к строк, выделяя память заранее
источник

МЧ

Максим Чагин... in ClickHouse не тормозит
Всем привет!

Имеется конфигурация:
<storage_configuration>
 <disks>
   <hdd>
     <path>/mnt/hdd/clickhouse/</path>
   </hdd>
 </disks>
 <policies>
   <hdd_policy>
     <volumes>
       <hdd_volume>
         <disk>hdd</disk>
       </hdd_volume>
     </volumes>
   </hdd_policy>
 </policies>
</storage_configuration>

При создании такой таблицы:
CREATE TABLE test.t1
(
   EventDate Date,
   Value Int32
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(EventDate)
ORDER BY EventDate
TTL EventDate + INTERVAL 1 MONTH TO DISK 'hdd'
SETTINGS storage_policy='hdd_policy'

Данные пишутся на hdd, как настроить конфиг, что бы новые данные писались на ssd, а спустя месяц по TTL переносились на hdd?

Конфигурация должна быть такая или нет?
<storage_configuration>
 <disks>
   <ssd>
     <path>/mnt/ssd/clickhouse/</path>
   </ssd>
   <hdd>
     <path>/mnt/hdd/clickhouse/</path>
   </hdd>
 </disks>
 <policies>
   <hdd_policy>
     <volumes>
       <ssd_volume>
         <disk>ssd</disk>
       </ssd_volume>
       <hdd_volume>
         <disk>hdd</disk>
       </hdd_volume>
     </volumes>
   </hdd_policy>
 </policies>
</storage_configuration>
источник

D

Dj in ClickHouse не тормозит
Dmitry Lukovkin
на второй ноде тоже пустой выхлоп
SELECT * FROM system.replication_queue;
проверьте метадату для каждой реплики этим запросом и сравните
SELECT * FROM system.zookeeper WHERE path =
'/clickhouse/tables/1/log/replicas/1' AND name IN ('metadata','columns')

SELECT * FROM system.zookeeper WHERE path =
'/clickhouse/tables/1/log/replicas/2' AND name IN ('metadata','columns')
...
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Dj
проверьте метадату для каждой реплики этим запросом и сравните
SELECT * FROM system.zookeeper WHERE path =
'/clickhouse/tables/1/log/replicas/1' AND name IN ('metadata','columns')

SELECT * FROM system.zookeeper WHERE path =
'/clickhouse/tables/1/log/replicas/2' AND name IN ('metadata','columns')
...
вроде идентично
источник

MM

Michael M in ClickHouse не тормозит
Посоветуйте, какой нынче самый православный клиент для Golang-а ?
источник

Α

Αλεξ in ClickHouse не тормозит
Michael M
Посоветуйте, какой нынче самый православный клиент для Golang-а ?
источник