【问题标题】:Run NiFi on a linux machine在 Linux 机器上运行 NiFi
【发布时间】:2016-03-13 06:37:10
【问题描述】:

我刚刚下载了 nifi-0.5.1 for linux。

尝试使用以下命令运行 Nifi 时:./nifi.sh run

nifi-app.log 中出现以下异常:

2016-03-13 05:29:42,959 警告 [主要] org.apache.nifi.web.server.JettyServer 无法启动 Web 服务器... 关闭。 org.apache.nifi.web.NiFiCoreException:无法启动 流量控制器。 在 org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:99) 〜[无:无] 在 org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800) ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444) ~[jetty-servlet-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791) ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294) ~[jetty-servlet-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349) ~[jetty-webapp-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342) ~[jetty-webapp-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) ~[jetty-webapp-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) ~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) ~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) ~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) ~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) ~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.server.Server.start(Server.java:387) ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) ~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.server.Server.doStart(Server.java:354) ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) ~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529] 在 org.apache.nifi.web.server.JettyServer.start(JettyServer.java:663) ~[nifi-jetty-0.5.1.jar:0.5.1] 在 org.apache.nifi.NiFi.(NiFi.java:137) [nifi-runtime-0.5.1.jar:0.5.1] 在 org.apache.nifi.NiFi.main(NiFi.java:227) [nifi-runtime-0.5.1.jar:0.5.1] 引起: java.nio.file.FileSystemException: ./flowfile_repository/partition-61/2.journal:打开的文件太多 在 sun.nio.fs.UnixException.translateToIOException(UnixException.java:91) ~[na:1.7.0_45] 在 sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[na:1.7.0_45] 在 sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[na:1.7.0_45] 在 sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214) ~[na:1.7.0_45] 在 java.nio.file.Files.newByteChannel(Files.java:315) ~[na:1.7.0_45] 在 java.nio.file.Files.newByteChannel(Files.java:361) ~[na:1.7.0_45] 在 java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:380) ~[na:1.7.0_45] 在 java.nio.file.Files.newInputStream(Files.java:106) ~[na:1.7.0_45] 在 org.wali.MinimalLockingWriteAheadLog$Partition.createDataInputStream(MinimalLockingWriteAheadLog.java:932) ~[nifi-write-ahead-log-0.5.1.jar:0.5.1] 在 org.wali.MinimalLockingWriteAheadLog$Partition.getRecoveryStream(MinimalLockingWriteAheadLog.java:947) ~[nifi-write-ahead-log-0.5.1.jar:0.5.1] 在 org.wali.MinimalLockingWriteAheadLog$Partition.getNextRecoverableTransactionId(MinimalLockingWriteAheadLog.java:973) ~[nifi-write-ahead-log-0.5.1.jar:0.5.1] 在 org.wali.MinimalLockingWriteAheadLog.recoverFromEdits(MinimalLockingWriteAheadLog.java:419) ~[nifi-write-ahead-log-0.5.1.jar:0.5.1] 在 org.wali.MinimalLockingWriteAheadLog.recoverRecords(MinimalLockingWriteAheadLog.java:293) ~[nifi-write-ahead-log-0.5.1.jar:0.5.1] 在 org.apache.nifi.controller.repository.WriteAheadFlowFileRepository.loadFlowFiles(WriteAheadFlowFileRepository.java:323) ~[nifi-framework-core-0.5.1.jar:0.5.1] 在 org.apache.nifi.controller.FlowController.initializeFlow(FlowController.java:609) ~[nifi-framework-core-0.5.1.jar:0.5.1] 在 org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:641) ~[nifi-framework-core-0.5.1.jar:0.5.1] 在 org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:479) ~[nifi-framework-core-0.5.1.jar:0.5.1] 在 org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:79) 〜[无:无] ...省略了 22 个常见框架 2016-03-13 05:29:42,961 INFO [Thread-1] org.apache.nifi.NiFi 启动 Jetty web 关闭 服务器...

感谢您的帮助,

【问题讨论】:

  • 看起来java.nio.file.FileSystemException: ./flowfile_repository/partition-61/2.journal: Too many open files 是原始异常。这是 NiFi 第一次启动,还是之前运行过?
  • 这是我第一次在这台机器上启动 NiFi。更新limits.conf文件解决了问题

标签: apache-nifi


【解决方案1】:

默认情况下,由于其类加载器隔离方法及其作为数据流应用程序的功能,NiFi 在启动时会访问大量文件。请参阅管理指南,其中描述了如何将操作系统对打开文件句柄数的限制设置得更高。 linux 中默认的 OS 文件句柄限制通常为 1024,这对于 NiFi 的功能来说太低了。

https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#configuration-best-practices

【讨论】:

  • 谢谢乔,它解决了这个问题。我在指南中看到了这一部分,但认为这些是“很高兴拥有”(但不是必须)的定义
  • 是的,这是一个公平的意见。老实说,它曾经是一个不错的选择,但加班已经变成了必须的:-)
猜你喜欢
  • 2015-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-24
  • 2012-04-02
  • 2011-06-05
  • 2015-05-15
相关资源
最近更新 更多