I have attached the nifi properties. Also these are more info ...
- ListSftp is running on primary node of the cluster and with 1 concurrent
tasks
- nifi is in cluster with 3 nodes (pod in kubernetes)
---
*Loading of nifi*
how many threads does nifi show are running?
*150 in average*
---
How often does the problem happen? How often does the connection/flow work?
*Often, some processors does not list any file on sftp server because of
this problem. Other Processors could list file on server sftp but at
certain time listing fails.*
*In addition sometimes fails also the unique fetchSftp processor*
SFTP Server
1 CPU
2Gb Ram
Load avg. load average: 0.20, 0.27, 0.31
Cheers
On Mon, Oct 29, 2018 at 5:41 PM Alfredo De Luca <[email protected]>
wrote:
> Thanks Joe. Appreciated. I will get back to you asap with the info.
>
> Cheers
>
>
> On Mon, Oct 29, 2018 at 5:26 PM Joe Witt <[email protected]> wrote:
>
>> Alfredo
>>
>> There are quite a few details that will be needed to help folks guess
>> at possible issues.
>>
>> Configuration of the machine running nifi
>> how many cores?, etc..
>>
>> Configuration of nifi
>> you shared common properties from nifi.properties which is good.
>> how many threads does the flow controller have?
>> how many processors are on the graph?
>> How many threads does ListSFTP have?
>> Is this a NiFi cluster or single node?
>>
>> Loading of the system running nifi
>> cpu load avg
>> garbage collection behavior in the jVM?
>>
>> Loading of nifi
>> how many threads does nifi show are running?
>>
>> Similar info for the SFTP server side
>> System error 4 could mean a lot of things. Is that system taxed and
>> unable to establish connections at times?
>>
>> How often does the problem happen? How often does the connection/flow
>> work?
>>
>> Have you tried manually connecting the way nifi would by running
>> commands like 'sftp [email protected] -vvv' repeatedly to see if
>> you can reproduce the issue?
>>
>> Does a file system get mounted for the sftp user and periodically is
>> this failing?
>>
>> Unfortunately it could be a lot of things so we'll probably need to
>> unpack a lot of info to get there.
>>
>> Thanks
>> On Mon, Oct 29, 2018 at 12:14 PM Alfredo De Luca
>> <[email protected]> wrote:
>> >
>> > hi all. any idea? I am trying everything..but not sure what cause this
>> error.
>> >
>> > Cheers
>> >
>> > On Mon, Oct 29, 2018 at 12:34 PM Alfredo De Luca <
>> [email protected]> wrote:
>> >>
>> >> nifi.swap.in.threads=1
>> >> nifi.swap.out.threads=4
>> >> nifi.cluster.node.protocol.threads=25
>> >> nifi.cluster.node.protocol.max.threads=50
>> >>
>> >>
>> >>
>> >>
>> >> On Mon, Oct 29, 2018 at 12:28 PM Alfredo De Luca <
>> [email protected]> wrote:
>> >>>
>> >>> anyway...this is the error
>> >>> 2018-10-29 11:21:06,768 ERROR [Timer-Driven Process Thread-13]
>> SimpleProcessLogger.java:254
>> ListSFTP[id=766ac418-27ce-335a-97c9-8823f2cf5a96] Failed to perform listing
>> on remote host due to java.io.IOException: Failed to obtain connection to
>> remote host due to com.jcraft.jsch.JSchException: Auth fail: {}
>> >>>
>> >>>
>> >>> On Mon, Oct 29, 2018 at 12:27 PM Alfredo De Luca <
>> [email protected]> wrote:
>> >>>>
>> >>>> Hi Joe.
>> >>>> Sftp server allows 200 connections... not sure about the nifi. I ll
>> check
>> >>>>
>> >>>>
>> >>>> On Mon, Oct 29, 2018 at 12:21 PM Joe Witt <[email protected]>
>> wrote:
>> >>>>>
>> >>>>> how many connections does your sftp server allow at once and how
>> many threads is nifi given for communication?
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> On Mon, Oct 29, 2018, 7:10 AM Alfredo De Luca <
>> [email protected]> wrote:
>> >>>>>>
>> >>>>>> Hi all. We have some issue with our nifi (v. 1.6) where
>> occasionally we have an error saying ...
>> >>>>>> Auth fail.
>> >>>>>>
>> >>>>>> On the sftp server side we get
>> >>>>>>
>> >>>>>> Oct 29 11:48:06 sftp sshd[13845]: pam_sss(sshd:account): Access
>> denied for user <sftp user>: 4 (System error)
>> >>>>>>
>> >>>>>> Any idea?
>> >>>>>>
>> >>>>>>
>> >>>>>> --
>> >>>>>> Alfredo
>> >>>>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> Alfredo
>> >>>>
>> >>>
>> >>>
>> >>> --
>> >>> Alfredo
>> >>>
>> >>
>> >>
>> >> --
>> >> Alfredo
>> >>
>> >
>> >
>> > --
>> > Alfredo
>> >
>>
>
>
> --
> *Alfredo*
>
>
--
*Alfredo*
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Core Properties #
nifi.flow.configuration.file=./data/flow.xml.gz
nifi.flow.configuration.archive.enabled=true
nifi.flow.configuration.archive.dir=./data/archive/
nifi.flow.configuration.archive.max.time=30 days
nifi.flow.configuration.archive.max.storage=500 MB
nifi.flow.configuration.archive.max.count=
nifi.flowcontroller.autoResumeState=true
nifi.flowcontroller.graceful.shutdown.period=10 sec
nifi.flowservice.writedelay.interval=500 ms
nifi.administrative.yield.duration=30 sec
# If a component has no work to do (is "bored"), how long should we wait before checking again for work?
nifi.bored.yield.duration=10 millis
nifi.authorizer.configuration.file=./conf/authorizers.xml
nifi.login.identity.provider.configuration.file=./conf/login-identity-providers.xml
nifi.templates.directory=./data/templates
nifi.ui.banner.text=
nifi.ui.autorefresh.interval=30 sec
nifi.nar.library.directory=./lib
nifi.nar.working.directory=./work/nar/
nifi.documentation.working.directory=./work/docs/components
####################
# State Management #
####################
nifi.state.management.configuration.file=./conf/state-management.xml
# The ID of the local state provider
nifi.state.management.provider.local=local-provider
# The ID of the cluster-wide state provider. This will be ignored if NiFi is not clustered but must be populated if running in a cluster.
nifi.state.management.provider.cluster=zk-provider
# Specifies whether or not this instance of NiFi should run an embedded ZooKeeper server
nifi.state.management.embedded.zookeeper.start=false
# Properties file that provides the ZooKeeper properties to use if <nifi.state.management.embedded.zookeeper.start> is set to true
nifi.state.management.embedded.zookeeper.properties=./conf/zookeeper.properties
# H2 Settings
nifi.database.directory=./data/database_repository
nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE
# FlowFile Repository
nifi.flowfile.repository.implementation=org.apache.nifi.controller.repository.WriteAheadFlowFileRepository
nifi.flowfile.repository.directory=./data/flowfile_repository
nifi.flowfile.repository.partitions=4
nifi.flowfile.repository.checkpoint.interval=2 mins
nifi.flowfile.repository.always.sync=true
nifi.swap.manager.implementation=org.apache.nifi.controller.FileSystemSwapManager
nifi.queue.swap.threshold=20000
nifi.swap.in.period=5 sec
nifi.swap.in.threads=1
nifi.swap.out.period=5 sec
nifi.swap.out.threads=4
# Content Repository
nifi.content.repository.implementation=org.apache.nifi.controller.repository.FileSystemRepository
nifi.content.claim.max.appendable.size=10 MB
nifi.content.claim.max.flow.files=100
nifi.content.repository.directory.default=./data/content_repository
nifi.content.repository.archive.max.retention.period=12 hours
nifi.content.repository.archive.max.usage.percentage=50%
nifi.content.repository.archive.enabled=true
nifi.content.repository.always.sync=false
nifi.content.viewer.url=/nifi-content-viewer/
# Provenance Repository Properties
nifi.provenance.repository.implementation=com.thinkbiganalytics.nifi.provenance.repo.KyloVolatileProvenanceEventRepository
# nifi.provenance.repository.implementation=org.apache.nifi.provenance.PersistentProvenanceRepository
nifi.provenance.repository.debug.frequency=1_000_000
nifi.provenance.repository.encryption.key.provider.implementation=
nifi.provenance.repository.encryption.key.provider.location=
nifi.provenance.repository.encryption.key.id=
nifi.provenance.repository.encryption.key=
# Persistent Provenance Repository Properties
nifi.provenance.repository.directory.default=./data/provenance_repository
nifi.provenance.repository.max.storage.time=24 hours
nifi.provenance.repository.max.storage.size=1 GB
nifi.provenance.repository.rollover.time=30 secs
nifi.provenance.repository.rollover.size=100 MB
nifi.provenance.repository.query.threads=2
nifi.provenance.repository.index.threads=2
nifi.provenance.repository.compress.on.rollover=true
nifi.provenance.repository.always.sync=false
nifi.provenance.repository.journal.count=16
nifi.provenance.repository.concurrent.merge.threads=1
# Comma-separated list of fields. Fields that are not indexed will not be searchable. Valid fields are:
# EventType, FlowFileUUID, Filename, TransitURI, ProcessorID, AlternateIdentifierURI, Relationship, Details
nifi.provenance.repository.indexed.fields=EventType, FlowFileUUID, Filename, ProcessorID, Relationship
# FlowFile Attributes that should be indexed and made searchable. Some examples to consider are filename, uuid, mime.type
nifi.provenance.repository.indexed.attributes=
# Large values for the shard size will result in more Java heap usage when searching the Provenance Repository
# but should provide better performance
nifi.provenance.repository.index.shard.size=500 MB
# Indicates the maximum length that a FlowFile attribute can be when retrieving a Provenance Event from
# the repository. If the length of any attribute exceeds this value, it will be truncated when the event is retrieved.
nifi.provenance.repository.max.attribute.length=65536
# Volatile Provenance Respository Properties
nifi.provenance.repository.buffer.size=100000
# Component Status Repository
nifi.components.status.repository.implementation=org.apache.nifi.controller.status.history.VolatileComponentStatusRepository
nifi.components.status.repository.buffer.size=1440
nifi.components.status.snapshot.frequency=1 min
# Site to Site properties
nifi.remote.input.host=
nifi.remote.input.secure=false
nifi.remote.input.socket.port=9998
nifi.remote.input.http.enabled=true
nifi.remote.input.http.transaction.ttl=60 secs
nifi.remote.contents.cache.expiration=60 secs
# web properties #
nifi.web.war.directory=./lib
nifi.web.http.host=
nifi.web.http.port=8080
nifi.web.http.network.interface.default=eth0
nifi.web.https.host=
nifi.web.https.port=
nifi.web.https.network.interface.default=
nifi.web.jetty.working.directory=./work/jetty
nifi.web.jetty.threads=200
# security properties #
nifi.sensitive.props.key=
nifi.sensitive.props.key.protected=
nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
nifi.sensitive.props.provider=BC
nifi.sensitive.props.additional.keys=
nifi.security.keystore=
nifi.security.keystoreType=
nifi.security.keystorePasswd=
nifi.security.keyPasswd=
nifi.security.truststore=
nifi.security.truststoreType=
nifi.security.truststorePasswd=
nifi.security.needClientAuth=
nifi.security.user.authorizer=file-provider
nifi.security.user.login.identity.provider=
nifi.security.ocsp.responder.url=
nifi.security.ocsp.responder.certificate=
# Identity Mapping Properties #
# These properties allow normalizing user identities such that identities coming from different identity providers
# (certificates, LDAP, Kerberos) can be treated the same internally in NiFi. The following example demonstrates normalizing
# DNs from certificates and principals from Kerberos into a common identity string:
#
# nifi.security.identity.mapping.pattern.dn=^CN=(.*?), OU=(.*?), O=(.*?), L=(.*?), ST=(.*?), C=(.*?)$
# nifi.security.identity.mapping.value.dn=$1@$2
# nifi.security.identity.mapping.pattern.kerb=^(.*?)/instance@(.*?)$
# nifi.security.identity.mapping.value.kerb=$1@$2
# cluster common properties (all nodes must have same values) #
nifi.cluster.protocol.heartbeat.interval=15 sec
nifi.cluster.protocol.is.secure=false
# cluster node properties (only configure for cluster nodes) #
nifi.cluster.is.node=true
nifi.cluster.node.address=
nifi.cluster.node.protocol.port=9999
nifi.cluster.node.protocol.threads=25
nifi.cluster.node.protocol.max.threads=50
nifi.cluster.node.event.history.size=25
nifi.cluster.node.connection.timeout=250 secs
nifi.cluster.node.read.timeout=250 secs
nifi.cluster.firewall.file=
nifi.cluster.flow.election.max.wait.time=5 mins
nifi.cluster.flow.election.max.candidates=2
nifi.cluster.node.max.concurrent.requests=1000
nifi.cluster.node.max.concurrent.requests=500
nifi.cluster.node.request.replication.claim.timeout=20 secs
# zookeeper properties, used for cluster management #
nifi.zookeeper.connect.string=master:2181,master-2:2181,master-3:2181
nifi.zookeeper.connect.timeout=10 secs
nifi.zookeeper.session.timeout=10 secs
nifi.zookeeper.root.node=/tba-nifi-cluster-2
# kerberos #
nifi.kerberos.krb5.file=/etc/krb5.conf
# kerberos service principal #
[email protected]
nifi.kerberos.service.keytab.location=/usr/nifi/daf.keytab
# kerberos spnego principal #
nifi.kerberos.spnego.principal=
nifi.kerberos.spnego.keytab.location=
nifi.kerberos.spnego.authentication.expiration=12 hours
# external properties files for variable registry
# supports a comma delimited list of file locations
nifi.variable.registry.properties=
nifi.web.http.network.interface.lo=lo