Сбой задания Spark с ошибкой userr/spark/applicationHistory превышен
Я работаю на кластере CDH 5.3.2 с Spark 1.2.0. У нас было специальное искровое приложение, которое работало нормально до тех пор, пока несколько дней назад оно не начало работать со следующей ошибкой:
Exception in thread "main" org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.protocol.FSLimitException$MaxDirectoryItemsExceededException): The directory item limit of /user/spark/applicationHistory is exceeded: limit=1048576 items=1048576
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.verifyMaxDirItems(FSDirectory.java:1939)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.addChild(FSDirectory.java:1990)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.unprotectedMkdir(FSDirectory.java:1759)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirsRecursively(FSNamesystem.java:4188)
Даже команда list терпит неудачу с ошибкой ниже:
hdfs dfs -ls /user/spark/applicationHistory
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.lang.String.substring(String.java:1913)
at java.net.URI$Parser.substring(URI.java:2850)
Я пробовал поискать в Google, но не смог найти причину этой проблемы. Решение, которое сработало для нас, состояло в том, чтобы создать другой каталог, параллельный указанному выше каталогу для журналов Spark History, и использовать его вместо этого.
Тем не менее, я не уверен, что это правильное решение и не позволит ли этот вопрос повториться в будущем.
Любые указатели по этому вопросу будут очень благодарны.