Ошибка Streamsets - неверный дескриптор файла

Я пытался использовать Streamsets для запроса базы данных Oracle и публикации данных в Kafka. Я скачал tarball Streamsets на свой Mac и распаковал его в свой домашний каталог. Бег $HOME/streamsets-datacollector-2.1.0.2/bin/streamsets dc загрузился с первой попытки, затем я следовал приведенным здесь инструкциям, чтобы добавить драйвер jdbc, а затем инструкции по настройке задания потоковых наборов. Однако я получил ошибку: JDBC_00 - Cannot connect to specified database: com.streamsets.pipeline.api.StageException: JDBC_06 - Failed to initialize connection pool: java.sql.SQLRecoverableException: IO Error: Bad file descriptor,

2 ответа

Решение

Это привело к ограничению количества файлов, которые может открыть процесс. Когда я побежал ulimit -n на ноутбуке это показывало 4864тогда я установил 10,000 с помощью ulimit -n 10000, перезапустил сервер streamsets, и все заработало! Если мне нужно будет продолжать это, я найду более процедурный способ установки ограничения для этого процесса, чтобы обойти эту проблему.

Вы определенно хотите увеличить ulimit -n. Чтобы навсегда изменить всех пользователей в Ubuntu, попробуйте следующее:

echo "* soft nofile 60000" > /etc/security/limits.d/*_limits.conf && echo "* hard nofile 60000" >> /etc/security/limits.d/*_limits.conf

замените 60000 на любой номер, который вы хотите. У меня никогда не было проблем в потоковых наборах, использующих 60k. Вы должны быть в состоянии сделать что-то подобное в BSD.

Другие вопросы по тегам