【问题标题】:Unable to get NiFi to work in cluster无法让 NiFi 在集群中工作
【发布时间】:2018-08-04 01:23:47
【问题描述】:

根据我读过的所有示例,我认为将 NiFi 设置为集群会很容易。显然我无法让它工作。我正在使用 NiFi 1.5。我只有 2 台主机并假装有第三台,但 NiFi 并没有作为集群启动。这些是我对配置文件所做的更改。 state-management.xml 文件

<cluster-provider>
    <id>zk-provider</id>
    <class>org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider</class>
    <property name="Connect String">etl-1:2181,etl-2:2181,etl-3:2181</property>
    <property name="Root Node">/ssd/nifi-1.5.0</property>
    <property name="Session Timeout">10 seconds</property>
    <property name="Access Control">Open</property>
</cluster-provider>

zookeeper.properities 文件

dataDir=./state/zookeeper   
server.1=etl-1:2888:3888
server.2=etl-2:2888:3888
server.3=etl-3:2888:3888

nifi.properties 文件

nifi.zookeeper.connect.string=etl-1:2181,etl-2:2181,etl-3:2181
nifi.zookeeper.root.node=/ssd/nifi-1.5.0
nifi.cluster.is.node=yes
nifi.cluster.node.address=etl-2  (this is set to etl-1 on the other node)
nifi.state.management.embedded.zookeeper.start=true

[nifi@etl-2 zookeeper]$ cat /ssd/nifi-1.5.0/state/zookeeper/myid 2 [nifi@etl-1 日志]$ cat /ssd/nifi-1.5.0/state/zookeeper/myid 1

我已将 logback.xml 更新为 DEBUG,但有太多消息我似乎无法找出问题所在。我最好的猜测是 Zookeeper 从本地而不是集群开始。

ls -l /ssd/nifi-1.5.0/state/
total 4
drwxrwxr-x. 18 nifi nifi 4096 Feb 23 18:49 local
drwxrwxr-x.  2 nifi nifi   18 Feb 23 15:26 zookeeper

【问题讨论】:

  • 我相信 ZK 仲裁需要 3 个“真实”节点
  • 这是可能的,但我不相信。我没有看到任何关于法定人数失败的错误。事实上,我没有看到任何关于集群正在尝试启动的消息。
  • 这本身可能不是 ZK 问题,而是 NiFi 假设集群中有 3 个真实节点。

标签: cluster-computing apache-nifi


【解决方案1】:

我发现了问题。我有 nifi.cluster.is.node=yes 而不是 nifi.cluster.is.node=true。

【讨论】:

    【解决方案2】:

    我试图在 Windows 10 上将 Nifi 作为 3 节点集群运行,并在所有 3 个 conf 文件中设置相同的属性,如上所述,但仍然无法将 nifi 作为 3 节点集群启动。 以下是对我的文件进行的设置

    state-management.xml 文件

    <cluster-provider>
        <id>zk-provider</id>
        <class>org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider</class>
        <property name="Connect String">node1:2181,node2:2181,node3:2181</property>
        <property name="Root Node">/nifi</property>
        <property name="Session Timeout">10 seconds</property>
        <property name="Access Control">Open</property>
    </cluster-provider>
    

    zookeper 属性

    dataDir=./state/zookeeper
    autopurge.snapRetainCount=30
    server.1=node1:2888:3888
    server.2=node2:2888:3888
    server.3=node3:2888:3888
    

    nifi 属性:

    nifi.web.http.host=node1
    nifi.web.http.port=8080
    nifi.cluster.is.node=true
    nifi.cluster.node.address=node1
    nifi.cluster.node.protocol.port=11122
    nifi.zookeeper.connect.string=node1:2181,node2:2181,node3:2181
    nifi.zookeeper.root.node=/nifi
    

    另外2个noes中,分别放置主机名

    但是当我启动节点时,它显示以下错误 C:\nifi-1.11.0-bin\Node1\bin>run-nifi.bat

    2020-02-11 20:29:20,237 INFO [main] org.apache.nifi.bootstrap.Command 启动 Apache NiFi...

    2020-02-11 20:29:20,238 INFO [main] org.apache.nifi.bootstrap.Command 工作目录:C:\NIFI-1~1.0-B\Node1

    2020-02-11 20:29:20,239 INFO [main] org.apache.nifi.bootstrap.Command 命令:C:\Program Files\Java\jdk1.8.0_241\bin\java.exe -classpath C: \NIFI-1~1.0-B\Node1.\conf;C:\NIFI-1~1.0-B\Node1.\lib\javax.servlet-api-3.1.0.jar;C:\NIFI-1~1.0 -B\Node1.\lib\jcl-over-slf4j-1.7.26.jar;C:\NIFI-1~1.0-B\Node1.\lib\jetty-schemas-3.1.jar;C:\NIFI-1 ~1.0-B\Node1.\lib\jul-to-slf4j-1.7.26.jar;C:\NIFI-1~1.0-B\Node1.\lib\log4j-over-slf4j-1.7.26.jar; C:\NIFI-1~1.0-B\Node1.\lib\logback-classic-1.2.3.jar;C:\NIFI-1~1.0-B\Node1.\lib\logback-core-1.2.3。 jar;C:\NIFI-1~1.0-B\Node1.\lib\nifi-api-1.11.0.jar;C:\NIFI-1~1.0-B\Node1.\lib\nifi-framework-api- 1.11.0.jar;C:\NIFI-1~1.0-B\Node1.\lib\nifi-nar-utils-1.11.0.jar;C:\NIFI-1~1.0-B\Node1.\lib\ nifi-properties-1.11.0.jar;C:\NIFI-1~1.0-B\Node1.\lib\nifi-runtime-1.11.0.jar;C:\NIFI-1~1.0-B\Node1.\ lib\slf4j-api-1.7.26.jar -Dorg.apache.jasper.compiler.disablejsr199=true -Xmx512m -Xms512m -Djavax.security.auth.useSubjectCredsOnly=true -Djava.security.egd=file:/dev/urandom -Dsu n.net.http.allowRestrictedHeaders=true -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Djava.protocol.handler.pkgs=sun.net.www.protocol -Dzookeeper.admin.enableServer=false - Dnifi.properties.file.path=C:\NIFI-1~1.0-B\Node1.\conf\nifi.properties -Dnifi.bootstrap.listen.port=53535 -Dapp=NiFi -Dorg.apache.nifi.bootstrap。 config.log.dir=C:\NIFI-1~1.0-B\Node1\bin..\logs org.apache.nifi.NiFi

    2020-02-11 20:29:20,554 WARN [main] org.apache.nifi.bootstrap.Command 无法设置权限以便只有所有者可以读取 pid 文件 C:\NIFI-1~1.0-B\节点1\bin..\运行\nifi.pid;这可能允许其他人访问与 NiFi 通信所需的密钥。应更改权限,以便只有所有者才能读取此文件

    2020-02-11 20:29:20,561 WARN [main] org.apache.nifi.bootstrap.Command 未能设置权限以便只有所有者可以读取状态文件 C:\NIFI-1~1.0-B\ Node1\bin..\run\nifi.status;这可能允许其他人访问与 NiFi 通信所需的密钥。应更改权限,以便只有所有者才能读取此文件

    2020-02-11 20:29:20,573 INFO [main] org.apache.nifi.bootstrap.Command 启动 Apache NiFi,进程 ID 为 4284

    C:\nifi-1.11.0-bin\Node1\bin>status-nifi.bat

    20:31:57.265 [main] 调试 org.apache.nifi.bootstrap.NotificationServiceManager - 找到 0 个服务元素

    20:31:57.271 [main] INFO org.apache.nifi.bootstrap.NotificationServiceManager - 成功加载了以下 0 个服务:[]

    20:31:57.272 [main] INFO org.apache.nifi.bootstrap.RunNiFi - 未注册通知类型 NIFI_STARTED 的通知服务

    20:31:57.273 [main] INFO org.apache.nifi.bootstrap.RunNiFi - 未注册通知类型 NIFI_STOPPED 的通知服务

    20:31:57.274 [main] INFO org.apache.nifi.bootstrap.RunNiFi - 未注册通知类型 NIFI_DIED 的通知服务

    20:31:57.277 [main] DEBUG org.apache.nifi.bootstrap.Command - 状态文件:C:\NIFI-1~1.0-B\Node1\bin..\run\nifi.status

    20:31:57.278 [main] DEBUG org.apache.nifi.bootstrap.Command - 状态文件:C:\NIFI-1~1.0-B\Node1\bin..\run\nifi.status

    20:31:57.279 [main] DEBUG org.apache.nifi.bootstrap.Command - 属性:{pid=4284, port=53536}

    20:31:57.280 [main] DEBUG org.apache.nifi.bootstrap.Command - Pinging 53536

    20:31:58.343 [main] DEBUG org.apache.nifi.bootstrap.Command - PID 4284 的进程未运行

    20:31:58.345 [main] INFO org.apache.nifi.bootstrap.Command - Apache NiFi 未运行

    【讨论】:

      猜你喜欢
      • 2023-02-14
      • 2019-12-26
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 2019-08-04
      • 1970-01-01
      相关资源
      最近更新 更多