- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用的是 Nifi 0.4.1 版本。我正在编写自定义代码以将 CSV 转换为 avro 格式。我已经创建了类文件并能够生成 nar 文件。将 nar 文件放在 lib 目录中并重新启动 nifi 服务器。
类文件没有任何错误或警告。
当将处理器拖动到 nifi 工作区时,我无法看到为将 csv 转换为 avro 而创建的类。
感谢任何帮助..
谢谢,
最佳答案
您可以检查几项来诊断您的处理器问题:
听起来你已经检查了一些,但请确认所有这些:
您的处理器必须在与 Java 代码相同的 nar 文件中的服务配置文件中引用。该文件将被命名为 org.apache.nifi.processor.Processor
,并且每行处理器实现将包含一个完全限定的类名。查看示例很有帮助,例如 provider config for nifi-solr-processors .
org.apache.nifi.processors.solr.PutSolrContentStream
org.apache.nifi.processors.solr.GetSolr
确保您的处理器类是公共(public)的,实现了 org.apache.nifi.processor.Processor
,继承自 org.apache.nifi.processor.AbstractProcessor
,或者来自另一个处理器实现。您应该确保完全限定的类名与上面的提供程序配置文件匹配。
public abstract class SolrProcessor extends AbstractProcessor {
...
public class GetSolr extends SolrProcessor {
...
public class PutSolrContentStream extends SolrProcessor {
...
lib
目录下的 NAR您的 nar 文件应该放在 NiFi 安装的 lib 目录中。如果这对您的设置很重要,请确保 NiFi 用户有权访问它。听起来你已经检查过了。
启动NiFi后,查看logs/nifi-app.log
。 ExtensionManager 将输出从 lib 目录找到和加载的所有扩展的列表。它看起来像这样(为长度而编辑):
org.apache.nifi.nar.ExtensionManager Extension Type Mapping to Classloader:
=== ControllerService type || Classloader ===
org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderControllerService || org.apache.nifi.nar.NarClassLoader[.\work\nar\extensions\nifi-aws-nar-0.6.0-SNAPSHOT.nar-unpacked]
org.apache.nifi.distributed.cache.server.DistributedSetCacheServer || org.apache.nifi.nar.NarClassLoader[.\work\nar\extensions\nifi-distributed-cache-services-nar-0.6.0-SNAPSHOT.nar-unpacked]
org.apache.nifi.distributed.cache.client.DistributedSetCacheClientService || org.apache.nifi.nar.NarClassLoader[.\work\nar\extensions\nifi-distributed-cache-services-nar-0.6.0-SNAPSHOT.nar-unpacked]
...
=== End ControllerService types ===
=== Processor type || Classloader ===
org.apache.nifi.processors.standard.GetHTTP || org.apache.nifi.nar.NarClassLoader[.\work\nar\extensions\nifi-standard-nar-0.6.0-SNAPSHOT.nar-unpacked]
org.apache.nifi.processors.script.ExecuteScript || org.apache.nifi.nar.NarClassLoader[.\work\nar\extensions\nifi-scripting-nar-0.6.0-SNAPSHOT.nar-unpacked]
org.apache.nifi.processors.aws.s3.DeleteS3Object || org.apache.nifi.nar.NarClassLoader[.\work\nar\extensions\nifi-aws-nar-0.6.0-SNAPSHOT.nar-unpacked]
org.apache.nifi.processors.standard.ExecuteSQL || org.apache.nifi.nar.NarClassLoader[.\work\nar\extensions\nifi-standard-nar-0.6.0-SNAPSHOT.nar-unpacked]
org.apache.nifi.processors.mongodb.GetMongo || org.apache.nifi.nar.NarClassLoader[.\work\nar\extensions\nifi-mongodb-nar-0.6.0-SNAPSHOT.nar-unpacked]
...
您希望在此列表中找到您的处理器、 Controller 服务或报告任务。
如果找到并加载,也可能会在您的代码运行时抛出异常,这也会出现在 nifi-app.log
中。例如,如果您在提供程序配置文件中输入了错误的类名,则会出现“找不到提供程序”错误:
java.util.ServiceConfigurationError: org.apache.nifi.processor.Processor: Provider org.apache.nifi.processors.test.TestProcessor not found
at java.util.ServiceLoader.fail(ServiceLoader.java:239) ~[na:1.8.0_65]
at java.util.ServiceLoader.access$300(ServiceLoader.java:185) ~[na:1.8.0_65]
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:372) ~[na:1.8.0_65]
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) ~[na:1.8.0_65]
at java.util.ServiceLoader$1.next(ServiceLoader.java:480) ~[na:1.8.0_65]
at org.apache.nifi.nar.ExtensionManager.loadExtensions(ExtensionManager.java:107) ~[nifi-nar-utils-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]
at org.apache.nifi.nar.ExtensionManager.discoverExtensions(ExtensionManager.java:88) ~[nifi-nar-utils-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]
at org.apache.nifi.NiFi.<init>(NiFi.java:120) ~[nifi-runtime-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]
at org.apache.nifi.NiFi.main(NiFi.java:227) ~[nifi-runtime-0.6.0-SNAPSHOT.jar:0.6.0-SNAPSHOT]
关于apache-nifi - Nifi 自定义处理器异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35623082/
我在 docker 中运行 NiFi,所有相关目录都安装为卷。我正在尝试修改 nifi.properties 文件中的一些设置,特别是添加自定义属性文件。但是,当我重新启动 NiFi 时,某些属性会恢
我们有多个团队 nifi 应用程序在同一台 nifi 机器上运行...有什么方法可以记录特定于我的应用程序的日志吗?此外,默认情况下 nifi-app.log 文件很难跟踪问题,公告板仅显示 5 分钟
有了这个功能,现在有两个执行引擎---无状态和有状态,但我不确定它们分别适合哪些场景? 当我想方便地更新一个或多个参数时,使用steteless执行引擎和命令行?如果我需要查看流程状态,在Nifi U
这个问题说明了一切。我怎样才能做以下事情之一: 如何限制在集群范围内为一个处理器运行的并发任务数? 我运行的节点是否有任何唯一的短 ID?我可以使用这些 ID 附加到要加载的数据库表名(请参阅下面的详
我在 HDF 2.1.1 的集群模式下使用 NIFI 1.1.0,并且禁用了数据来源,知道如何启用它吗? 在我的独立版本中它是默认启用的。 最佳答案 您的独立实例和集群之间的主要区别在于您的集群是安全
我正在尝试将一个非常简单的多部分表单发布到 api。我在 apache Nifi 中看不到任何这样做的方法,因为它似乎只有一个表单数据输入。在这里和 Nifi 论坛上似乎有很多关于此的现有问题,但没有
随着流程在开发、测试和生产阶段的进展,我们正在努力找出更新处理器配置的最佳方法。当流部署到特定环境时,我们真的希望避免在处理器中操纵主机、端口等引用。至少在我们的例子中,我们将有不同的主机用于 Ela
我对 Nifi 及其功能以及它的适当用例有疑问。 我读过 Nifi 的真正目标是创建一个允许基于流的处理的空间。在玩弄 Nifi 之后,我也开始意识到它能够以对我有用的方式对数据进行建模/塑造。 Ni
我们有多个(50 多个)nifi 流,它们基本上都做同样的事情:从数据库中提取一些数据,将一些列附加到 parquet 并上传到 hdfs。它们仅在细节上有所不同,例如要运行的 sql 查询或它们在
我一直在尝试 google 和搜索堆栈以寻找答案,但一直找不到。 使用 NiFi,是否可以在之前的作业失败时停止进程? 我们有需要处理的用户数据,但数据是按顺序构造的,因此如果作业失败,我们需要停止运
我正在从事一个大量使用 Apache NiFi v1.10.0 的项目。我厌倦了点击数百个流程组来应用基本相同的小修复。 我最近发现了远程进程组,我想知道是否有办法将 NiFi 实例连接到自身并以这种
我使用的是 Nifi 0.4.1 版本。我正在编写自定义代码以将 CSV 转换为 avro 格式。我已经创建了类文件并能够生成 nar 文件。将 nar 文件放在 lib 目录中并重新启动 nifi
我正在尝试重新启动 NiFi 并出现以下异常。 2016-04-22 09:27:30,672 WARN [main] org.apache.nifi.web.server.JettyServer F
根据我在使用 NiFi 构建一些数据库摄取 PoC 后的理解,整个数据流作为流文件流运行。并且在任何特定时间,执行控制可以同时在一个或多个处理器上。 所以我真的很困惑如何针对任何故障调试复杂的数据流。
我想在我的 Nifi 处理器中引用一个环境变量(一个 linux 环境变量)。我尝试通过直接在处理器属性中引用 ${MY_VARIABLE_NAME} 来使用表达式语言。但这似乎不起作用。这可能吗?如
我是 nifi 的新手,我试图了解(因为它看起来很多基于 GUI)是否有一种方法可以在 Nifi 上自动缩放,以及如何使用 xml Nifi 模板并将其部署到集群。 本质上,我们试图做的是使用 Nif
我正在使用 Apache NiFi 来摄取和预处理一些 CSV 文件,但是在长时间运行时,它总是失败。错误总是一样的: FlowFile Repository failed to update 在日志
我正在为我的数据流开发新的 Nifi 处理器。我在 eclipse 中进行代码更改,创建新的 .nar 文件并将其复制到 Nifi lib 以进行测试。 在 nar 更新中,Nifi 需要重新启动,这
在 NiFi 中,存在从 MQTT(ConsumeMQTT)消费并发布到 HDFS 路径(PutHDFS)的数据流。我需要在将消耗的数据推送到 HDFS 路径之前引入 60 分钟的延迟。发现 Cont
我是 apache NIFI 的新手。我有点想知道保存按钮在哪里。我尝试了我在 youtube 上看到的教程中的示例。我想保存我创建的所有处理器以供将来引用。我没有看到任何保存按钮。以后可以保存我的工
我是一名优秀的程序员,十分优秀!