Ошибка семейства неизвестных кодеков ClickHouse при обновлении версии

Я работал над кластером ClickHouse с тремя узлами с таблицей, созданной с помощью ReplicatedMergeTree. Недавно я обновил один из его узлов с версии 18.14.2 до 19.3.7. Однако после обновления мне не удалось установить соединение с обновленным узлом, так как данные не синхронизировались.

Журналы ошибок ClickHouse выглядят следующим образом.

(StorageReplicatedMergeTree): DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Code: 432, e.displayText() = DB::Exception: Unknown codec family code : 130, Stack trace:

0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x5d9fdf6]
1. clickhouse-server(DB::Exception::Exception(std::string const&, int)+0x1f) [0x2ceb79f]
2. clickhouse-server(DB::CompressionCodecFactory::get(unsigned char) const+0x185) [0x5af35b5]
3. clickhouse-server(DB::CompressedReadBufferBase::readCompressedData(unsigned long&, unsigned long&)+0x911) [0x5af0e31]
4. clickhouse-server(DB::CompressedReadBuffer::nextImpl()+0x26) [0x5aef7b6]
5. clickhouse-server(DB::MergeTreeDataPartChecksums::read_v3(DB::ReadBuffer&)+0x834) [0x5738604]
6. clickhouse-server(DB::MergeTreeDataPartChecksums::read_v4(DB::ReadBuffer&)+0xb2) [0x5738fd2]
7. clickhouse-server(DB::MergeTreeDataPartChecksums::read(DB::ReadBuffer&, unsigned long)+0x28) [0x5739f68]
8. clickhouse-server(DB::MergeTreeDataPartChecksums::read(DB::ReadBuffer&)+0x94) [0x573a114]
9. clickhouse-server(DB::MergeTreeDataPart::loadChecksums(bool)+0x119) [0x572f6b9]
10. clickhouse-server(DB::MergeTreeDataPart::loadColumnsChecksumsIndexes(bool, bool)+0x39) [0x57338a9]
11. clickhouse-server(DB::DataPartsExchange::Fetcher::fetchPart(std::string const&, std::string const&, std::string const&, int, DB::ConnectionTimeouts const&, std::string const&, std::string const&, std::string const&, bool, std::string const&)+0xdde) [0x56d955e]
12. clickhouse-server() [0x567a556]
13. clickhouse-server(DB::StorageReplicatedMergeTree::fetchPart(std::string const&, std::string const&, bool, unsigned long)+0x7a9) [0x569c379]
14. clickhouse-server(DB::StorageReplicatedMergeTree::executeFetch(DB::ReplicatedMergeTreeLogEntry&)+0x999) [0x569ebf9]
15. clickhouse-server(DB::StorageReplicatedMergeTree::executeLogEntry(DB::ReplicatedMergeTreeLogEntry&)+0x9f) [0x56a3c9f]
16. clickhouse-server() [0x56a4610]
17. clickhouse-server(DB::ReplicatedMergeTreeQueue::processEntry(std::function<std::shared_ptr<zkutil::ZooKeeper> ()>, std::shared_ptr<DB::ReplicatedMergeTreeLogEntry>&, std::function<bool (std::shared_ptr<DB::ReplicatedMergeTreeLogEntry>&)>)+0x3e) [0x57aadfe]
18. clickhouse-server(DB::StorageReplicatedMergeTree::queueTask()+0x192) [0x5678b62]
19. clickhouse-server(DB::BackgroundProcessingPool::threadFunction()+0x396) [0x56d3b86]
20. clickhouse-server() [0x56d4484]
21. clickhouse-server(ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>)+0x199) [0x5da8aa9]
22. clickhouse-server() [0x65ce86f]
23. /lib64/libpthread.so.0(+0x7e25) [0x7fb7b43ffe25]
24. /lib64/libc.so.6(clone+0x6d) [0x7fb7b3c2334d]

Изменить 1:

При обновлении до 19.4.3.11 эта ошибка была исправлена. Однако теперь постоянно появляется следующая ошибка и все еще не удается установить соединение с сервером.

(StorageReplicatedMergeTree): DB :: StorageReplicatedMergeTree :: queueTask () ::: Poco :: Exception. Код: 1000, e.code () = 0, e.displayText () = Нулевой указатель: _pInstance в файле "/home/centos/clickhouse-rpm/rpmbuild/BUILD/ClickHouse-19.4.3.11-stable/contrib/poco/ Util / include / Poco / Util / Application.h ", строка 457

Изменить 2:

Обнаружено, что указанное выше является еще одной ошибкой в ​​ClickHouse v19.4.3.11 - https://github.com/yandex/ClickHouse/issues/5005


person Daniccan    schedule 09.05.2019    source источник


Ответы (1)


Я столкнулся с теми же исключениями, необходимо выполнить запрос ниже на отказавших узлах (см. github: DB :: Exception : Неизвестный код семейства кодеков: 4):

SYSTEM DROP MARK CACHE
person vladimir    schedule 09.05.2019
comment
Я не могу подключиться к серверу через ClickHouse Client. Без подключения я не смогу выполнить запрос. - person Daniccan; 10.05.2019
comment
Попробуйте перезапустить узел и запустить CH-клиент, как только CH-сервер. - person vladimir; 10.05.2019
comment
Это ошибка, которую я получаю при попытке запустить клиент CH. Code: 210. DB::NetException: Connection refused (mynodeip:9000) - person Daniccan; 10.05.2019
comment
Сервер запускается, попробуйте запустить эту команду несколько раз. - person vladimir; 10.05.2019
comment
Ошибка повторяется часами. Сервер еще не запущен и не может установить соединение. Есть ли способ вручную удалить поврежденные части? - person Daniccan; 10.05.2019
comment
Давайте попробуем следующее: 1) остановить CH на каждом узле кластера (sudo service clickhouse-server stop) 2) запустить CH только на одном узле (service clickhouse-server start ) 3) попробуйте запустить clickhouse-client на этом узле - person vladimir; 10.05.2019