【问题标题】:Streamsets Error - Bad File Descriptor流集错误 - 错误的文件描述符
【发布时间】:2017-03-25 02:19:51
【问题描述】:

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

【问题讨论】:

  • 很抱歉回答我自己的问题,但我想为未来的人们记录我的问题和解决方案。

标签: java macos jdbc streamsets


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多