Я рекомендую использовать Apache Flume для этой задачи. Для Log4j есть Flume appender. Таким образом, вы отправляете журналы в Flume и записываете в HDFS. Хорошая вещь об этом подходе заключается в том, что Flume становится единой точкой связи с HDFS. Flume упрощает добавление новых источников данных без необходимости писать кучу кода для взаимодействия с HDFS снова и снова.