NiFi Cluster Docker 负载均衡配置

NiFi Cluster Docker Load Balancing configuration

我想在 docker-compose.yml 文件中为通过 Docker 容器部署的 NiFi 集群配置负载平衡。 LB 的当前 docker-compose 参数如下(对于三个 NiFi 节点中的每一个):

      # load balancing
      - NIFI_CLUSTER_LOAD_BALANCE_PORT=6342
      - NIFI_CLUSTER_LOAD_BALANCE_HOST=node.name
      - NIFI_CLUSTER_LOAD_BALANCE_CONNECTIONS_PER_NODE=4
      - NIFI_CLUSTER_LOAD_BALANCE_MAX_THREADS=8

但是,当我尝试在队列中使用负载平衡时,我可以选择那里的所有参数,并且没有任何错误,但是 LB 不工作,一切都在主节点上完成(因为我使用了 GetSFTP仅在主节点上,但希望随后处理所有 3 个节点上的数据)。此外,NiFi 集群配置为使用 SSL。

提前致谢!

我在 docker 文件上打开了 load balance port。我还必须为每个节点的撰写文件

指定hostname

这是我的 docker 基本聚类文件

version: "3.3"
services:
  nifi_service:
    container_name: "nifi_service"
    image: "apache/nifi:1.11.4"
    hostname: "APPTHLP7"
    environment:
        - TZ=Europe/Istanbul
        - NIFI_CLUSTER_IS_NODE=true
        - NIFI_CLUSTER_NODE_PROTOCOL_PORT=8088
        - NIFI_ZK_CONNECT_STRING=172.16.2.238:2181,172.16.2.240:2181,172.16.2.241:2181
    ports:
        - "8080:8080"
        - "8088:8088"
        - "6342:6342" 
    volumes:
        - /home/my/nifi-conf:/opt/nifi/nifi-current/conf
    networks:
      - my_network
    restart: unless-stopped    
networks:
  my_network:
    external: true

请注意,您必须在流程的下游连接上配置 load balance strategy