Я запускаю 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 ближе всего к моей ошибке, но, к сожалению, решение там не работает для меня.
Есть ли у кого-нибудь идеи? спасибо!