Ошибка createHardLink при запуске восстановления cassandra - PullRequest
0 голосов
/ 08 мая 2020

Я запускаю cassandra 3.11.3 на трех узлах с linux el7. Процесс ремонта всегда проходил успешно, пока не возникала проблема недавно и никогда не восстанавливалась. Я, наконец, нахожу это потому, что во время ремонта cassandra произошел сбой в одном из 3 узлов, в этом журнале сервера указано

org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: /var/db/data/data/wiotp/device_mementos-53b0fe
10e2bf11e98af1457e3e7c4184/snapshots/b0b3e1e0-6a78-11ea-9eca-33d64338b8d7/mc-186-big-Statistics.db -> /var/db/data/data
/wiotp/device_mementos-53b0fe10e2bf11e98af1457e3e7c4184/mc-186-big-Statistics.db: Input/output error
        at org.apache.cassandra.io.util.FileUtils.createHardLink(FileUtils.java:103) ~[apache-cassandra-3.11.3.jar:3.11
.3]

расследование, проведенное на данный момент:

Я проверил разрешение на доступ, никаких проблем, все папки и подпапки выглядят так

-rw-r--r--. 1 cassandra

Я проверил целевой файл, он существует

$  ls /var/db/data/data/wiotp/device_mementos-53b0fe10e2bf11e98af1457e3e7c4184/mc-186-big-Statistics.db -l
-rw-r--r--. 1 cassandra 2033 4780 Feb 15 01:31 /var/db/data/data/wiotp/device_mementos-53b0fe10e2bf11e98af1457e3e7c4184/mc-186-big-Statistics.db 

Я создал вручную файл жесткой ссылки, он не может быть успешно создан. но вопрос здесь только в том, если я сначала создал подпапку b0b3e1e0-6a78-11ea-9eca-33d64338b8d7 в папке snapshot, тогда этот файл жесткой ссылки может быть создан, или он не будет работать как No such file or directory. Другое дело, что в папке snapshot имя другой подпапки представляет собой строку numeri c, например 1581814812868, за исключением приведенной выше, которая кажется совсем другой.

Я проверяю связанный код и найти, что он должен работать с Files.createLink(to.toPath(), from.toPath());, поскольку этот кодовый клип показывает введите описание изображения здесь

, но все еще не уверен, на что действительно жалуется ошибка Input/output error.

I искал подобный случай здесь, кажется, этот снимок cassandra: Невозможно создать жесткую ссылку из errno 1 ближе всего к моей ошибке, но, к сожалению, решение там не работает для меня.

Есть ли у кого-нибудь идеи? спасибо!

...