Member since
06-19-2016
7
Posts
9
Kudos Received
0
Solutions
01-24-2018
05:23 AM
1 Kudo
1) Enable MQTT extension Please reference https://github.com/apache/nifi-minifi-cpp/blob/master/README.md cmake -DENABLE_MQTT=TRUE .. 2) Common Processor Properties Broker URI: The URI to use to connect to the MQTT broker Session state: Whether to start afresh or resume previous flows, default to true Client ID: MQTT client ID to use Username: Username to use when connecting to the broker Password: Password to use when connecting to the broker Keep Alive Interval: Defines the maximum time interval between messages sent or receive, default to 60 sec Connection Timeout: Maximum time interval the client will wait for the network connection to the MQTT server, default to 30 sec Quality of Service: The Quality of Service(QoS) to send the message with. Accepts three values 0, 1, 2 Topic: The topic to publish or subscribe the message 3) PublishMQTT Processor Properties Retain: Retain MQTT published record in broker, default to false Max Flow Segment Size: Maximum flow content payload segment size for the MQTT record 4) Relationships success: Any FlowFile that is successfully sent to/received from MQTT will be routed to this Relationship failure: Any FlowFile that cannot be sent to MQTT will be routed to this Relationship 5) Please refer to https://www.eclipse.org/mosquitto/download/ for MQTT broker 6) Please refer to http://www.eclipse.org/paho/clients/c/ for libmqtt extension 7) Please refer to http://mqtt.org/ for latest MQTT spec
... View more
Labels:
12-07-2017
07:16 AM
3 Kudos
1) Enable librdkafka extension Please reference https://github.com/apache/nifi-minifi-cpp/blob/master/README.md cmake -DENABLE_LIBRDKAFKA .. 2) Configure PublishKafka Processor with below properties Known Brokers: A comma-separated list of known Kafka Brokers in the format <host>:<port> which map to kafka configuration bootstrap.servers Topic Name: The Kafka Topic of interest Delivery Guarantee: Specifies the requirement for guaranteeing that a message is sent to Kafka like all/1/0 which map to kafka configuration request.required.acks Max Request Size: Maximum Kafka protocol request message size which map to kafka configuration message.max.bytes Request Timeout: The ack timeout of the producer request in milliseconds which map to request.timeout.ms Client Name: Client Name to use when communicating with Kafka which map to kafka configuration client.id Batch Size: Maximum number of messages batched in one MessageSet which map to kafka configuration batch.num.messages Queue Buffering Max Time: Delay to wait for messages in the producer queue to accumulate before constructing message batches which map to kafka configuration queue.buffering.max.ms Queue Max Buffer Size: Maximum total message size sum allowed on the producer queue which map to kafka configuration queue.buffering.max.kbytes Queue Max Message: Maximum number of messages allowed on the producer queue which map to kafka configuration queue.buffering.max.messages Compress Codec: compression codec to use for compressing message sets like none/gzip/snappy Max Flow Segment Size: Maximum flow content payload segment size for the kafka record, flow will be fragmented to multiple kafka records based on that Security Protocol: Protocol used to communicate with brokers like plaintext/ssl Security CA: File or directory path to CA certificate(s) for verifying the broker's key Security Cert: Path to client's public key (PEM) used for authentication Security Private Key: Path to client's private key (PEM) used for authentication Security Pass Phrase: Private key passphrase 3) Relationships success: Any FlowFile that is successfully sent to Kafka will be routed to this Relationship failure: Any FlowFile that cannot be sent to Kafka will be routed to this Relationship 4) Kafka Key if flow file has attribute kafka.key, it will use that attribute value as kafka key, else it will use the UUID of the flow record as kafka key 5) Please refer to http://kafka.apache.org/quickstart for kafka setup 6) Please refer to https://github.com/edenhill/librdkafka for librdkafak extension
... View more
Labels:
09-08-2017
05:59 PM
1 Kudo
MiNiFi has http configuration Listener feature which can pull flow file configuration from the remote command control server, validate and apply the new flow configuration. The new file configuration should be a valid flow configuration yaml file. The way to configure the URL endpoint, pull interval and related security parameters. in minifi.properties nifi.configuration.listener.type=http nifi.configuration.listener.http.url=https://localhost:8080 nifi.configuration.listener.pull.interval=1 sec if you want to enable client certificate nifi.https.need.ClientAuth=true nifi.https.client.certificate=./conf/client.pem nifi.https.client.private.key=./conf/client.key nifi.https.client.pass.phrase=./conf/password nifi.https.client.ca.certificate=./conf/nifi-cert.pem
... View more
Labels:
03-01-2017
06:31 PM
For java MiNiFi, the secure config is the same as NiFi Please look at http://bryanbende.com/development/2016/08/30/apache-nifi-1.0.0-secure-site-to-site about setting up the NiFi site to site security configuration.
... View more
02-24-2017
03:34 PM
3 Kudos
MiNiFi C++ implemented the secure site to site raw socket transport using OpenSSL/TLS. PR MINIFI-184: Add Security Support https://github.com/apache/nifi-minifi-cpp/commit/63dbb8241e851068bff54ab8cef8310cc4a22cb5 implemented the same It is using both client and server certificate to do mutual authentication between client and server via OpenSSL/TLS. Please look at http://bryanbende.com/development/2016/08/30/apache-nifi-1.0.0-secure-site-to-site about setting up the NiFi server site security configuration. Before you start to configure MiNiFi C++, you need to have client certificate PEM file, client private key PEM file, client CA certificate PEM file, passphrase to the client certificate. Client certificate PEM file, client private key PEM file can be combined into a single PEM file. You can use openssl tool to convert different certificates formats between PEM/PKCS, etc. Modify conf/minifi.properties to add Site to Site secure setting ### Site2Site Security Configuration
in minifi.properties enable tls ssl nifi.remote.input.secure=true if you want to enable client certificate base authorization nifi.security.need.ClientAuth=true setup the client certificate and private key PEM files nifi.security.client.certificate=./conf/client.pem nifi.security.client.private.key=./conf/client.pem setup the client private key passphrase file nifi.security.client.pass.phrase=./conf/password setup the client CA certificate file nifi.security.client.ca.certificate=./conf/nifi-cert.pem if you do not want to enable client certificate base authorization nifi.security.need.ClientAuth=false
... View more
Labels:
01-24-2017
09:34 PM
Hortonworks has MiNiFi C++ https://github.com/apache/nifi-minifi-cpp it is native implementation of MiNiFi, we compile under linux, OS X, Raspberry PI. Please see the README.md for system requirement for the same. As for as QNX support, if QNX development environment have a cross compiler/packages which meet the above system requirements, porting the MiNiFi should be feasible and not a big task to accomplish.
... View more
06-19-2016
05:41 PM
1 Kudo
https://github.com/benqiu2016/nifi-minifi-cpp has the working C++ MiNiFi code. If you cross compile the application using ARM, it can be adb push into the phone and run. We are still in the development phase of the C++ native MiNiFi.
... View more