#nutch
#nutch
Вопрос:
Я начинающий пользователь nutch. При повторном сканировании с помощью команд обхода bin / nutch я получил сообщение об ошибке .locked уже существует.
Следующее является моим исключением. Инверсия ссылки
/home/crawler_user/apache-nutch-1.14/bin/nutch обратные ссылки /data/crawler_user/nutch/crawled-data/linkdb /data/crawler_user/nutch/crawled-data/сегменты/20190423100709 LinkDb: java.io.IOException: файл блокировки /data/crawler_user/nutch/crawled-data/linkdb/.locked уже существует. в org.apache.nutch.util.LockUtil.createLockFile(LockUtil.java:51) в org.apache.nutch.crawl.LinkDb.invert(LinkDb.java:181) в org.apache.nutch.crawl.LinkDb.run(LinkDb.java:337) в org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) в org.apache.nutch.crawl.LinkDb.main(LinkDb.java:297) Ошибка запуска:
/home/crawler_user/apache-nutch-1.14/bin /nutch обратные ссылки /данные / crawler_user/nutch/crawled-data/linkdb /data/crawler_user/nutch/crawled-data/segments/20190423100709 Сбой с выходное значение 255.
Ответ №1:
Предполагая, что вы на самом деле не запускаете одновременно другой процесс Nutch (на самом деле он не заблокирован), тогда должно быть безопасно удалить /data/crawler_user/nutch/crawled-data/linkdb/.locked
файл. Обычно это означает, что предыдущий запуск этого этапа ( invertlinks
) не завершился успешно.
Комментарии:
1. Спасибо за ваш ответ. На самом деле, я случайно отключил предыдущий процесс Nutch, запущенный с сервера. Затем я выполняю сброс с помощью команды «bin / nutch dump -segment». Затем, когда я снова выполняю сканирование, я застрял здесь. 1) Итак, что мне тогда делать? 2) Я не знаю, как проверить, завершен ли сброс.
2. Если на данный момент ничего не запущено, просто удалите файл
.locked
, он снова должен работать нормально.3. Вот еще одна ошибка после повторного обхода. Я дамп с помощью команды «bin / nutch dump -segment <seg-path> -outputDir <output>». И затем я получил эту ошибку log4j: ОШИБКА при сбросе записи, java.io.IOException: на устройстве не осталось свободного места в java.io.FileOutputStream.writeBytes (собственный метод) в java.io.FileOutputStream.write (FileOutputStream.java: 326) в sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java: 221) в sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java) в sun.nio.cs.StreamEncoder. implFlushBuffer(StreamEncoder.java:291) в sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java: 295) … Как я должен это решить?
4. В этом случае ошибка связана с объемом свободного места на вашем диске: (из ваших журналов)
No space left on device
5. Да, но я запускаю его на сервере, и проблем с хранилищем нет. Нужно ли мне изменять некоторые файлы конфигурации? Более того, я получил еще одну ошибку «log4j: ОШИБКА при переименовании [/ apache-nutch-1.14/logs / hadoop.log] в [/apache-nutch-1.14/logs /hadoop.log.2019-05-07]». При проверке файла журнала он остановился в середине записи. Должен ли я просто остановить процесс сброса, завершив сеанс и повторно просканировав его?