Streamsets错误 - 错误的文件描述符

时间:2016-11-10 22:20:06

标签: java macos jdbc streamsets

我试图使用Streamsets查询Oracle数据库并将数据发布到Kafka。我在Mac上下载了Streamsets的tarball并将其解压缩到我的主目录中。第一次尝试时启动$HOME/streamsets-datacollector-2.1.0.2/bin/streamsets dc,然后按照说明here添加jdbc驱动程序,然后添加说明here以配置我的streamset作业。但是,我收到了一个错误: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 个答案:

答案 0 :(得分:2)

这最终与进程可以打开的文件数量限制有关。当我在笔记本电脑上运行ulimit -n时,它显示4864,然后我通过10,000将其设置为ulimit -n 10000,重新启动了streamsets服务器,它运行良好!如果我需要继续运行它,我会找到一种更程序化的方法来设置此过程的ulimit来解决这个问题。

答案 1 :(得分:1)

你肯定想要增加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做类似的事情。