ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ!
Negotium hoc modo est - cursus est, qui in pictura supra sistitur, qui ad N cum ministris debet convolvi.
NiFi Site ad Site (S2S) securum, facile configurabile est via ad notitias transferendi inter Instantias NiFi. Quomodo opera S2S, vide
In casibus ubi loquimur de notitia translationis usura S2S, una instantia vocatur clientis, secunda ministratrix. Cliens data mittit, servo accipit. Duo modi configurare inter se data translatione;
- ventilabis. Ex instantia clientis data mittitur utens Processu remoto (RPG). In calculonis servi, data accipitur utens Input Port
- trahere. Servus data utens RPG accipit, client utens Output portum mittit.
Fluere pro volutione reponitur in Apache Subcriptio.
Apache NiFi Subcriptio est subiectum Apache NiFi quod instrumentum repositionis et versionis imperium praebet. QUID GIT. Informationes de insertis, configurandis et laborantibus cum registro inueniri possunt
Initio, cum N exiguus numerus est, fluxus traditur et renovatur manually tempore accepto.
Sed cum N increscit, problemata plures fiunt;
- plus temporis accipit ad fluxum update. Vos postulo ut stipes in omnibus servers
- Formulae adaequationis errores inveniunt. Hic renovaverunt eam, hic autem oblitus
- hominum errores faciendo numerus similis operationes
Haec omnia nos perducunt ad processum automate quod opus est. Sequentibus modis hanc problema solvere conatus sum:
- Usus MiNiFi pro NiFi
- NiFi CLI
- NiPyAPI
per MiNiFi
Subiectum alterum adiuvabit hanc quaestionem solvendam - MiNiFi C2 Servo. Productum hoc intendit esse punctum centrale in configuratione architecturae rolloutae. Quomodo configurare ambitum - descriptum in
Optio, quae in superiori articulo descripta est, laborat nec difficilis ad efficiendum, sed sequentia oblivisci non debemus;
- Minifi non habet omnes processus ex nifi
- Minifi processus versiones lag post NiFi processus versiones.
In tempore scribendi, novissima versio NiFi est 1.9.2. Novissima processus MiNiFi versio 1.7.0 est. Processores MiNiFi addi possunt, sed propter discrepantias versionis inter processores NiFi et MiNiFi, hoc opus non est.
NiFi CLI
ex iis,
Curre ad utilitatem
./bin/cli.sh
_ ___ _
Apache (_) .' ..](_) ,
_ .--. __ _| |_ __ )
[ `.-. | [ |'-| |-'[ | /
| | | | | | | | | | ' '
[___||__][___][___] [___]', ,'
`'
CLI v1.9.2
Type 'help' to see a list of available commands, use tab to auto-complete.
Ut nobis debitum ex registro fluxum oneraremus, identificatores situlae (situlae identificantis) et ipsum fluxum (fluxus identifier) ββcognoscere debemus. Haec notitia vel per cli vel in registro NiFi interfaciei obtineri potest. In interretiali interretiali aspectus sic est:
CLL Utens hoc fiat;
#> registry list-buckets -u http://nifi-registry:18080
# Name Id Description
- -------------- ------------------------------------ -----------
1 test_bucket 709d387a-9ce9-4535-8546-3621efe38e96 (empty)
#> registry list-flows -b 709d387a-9ce9-4535-8546-3621efe38e96 -u http://nifi-registry:18080
# Name Id Description
- ------------ ------------------------------------ -----------
1 test_flow d27af00a-5b47-4910-89cd-9c664cd91e85
Committitur inferentes processum coetus ex registro:
#> nifi pg-import -b 709d387a-9ce9-4535-8546-3621efe38e96 -f d27af00a-5b47-4910-89cd-9c664cd91e85 -fv 1 -u http://nifi:8080
7f522a13-016e-1000-e504-d5b15587f2f3
Momenti punctum est quod quaevis nisi instantia specificari potest sicut exercitus ad quem processum coetus devolvimus.
Processus coetus additis processoribus obstructis, incipiendum est
#> nifi pg-start -pgid 7f522a13-016e-1000-e504-d5b15587f2f3 -u http://nifi:8080
Magni processores inceperunt. Attamen, secundum formam negotii, instantiae NiFi indigemus ut notitias ad alias instantias mitteremus. Sumamus quod ventilabis modum electum transferendi data servo. Ut notitias translationis ordinare debes, notitia translationis in processu remotis processu addito (RPG), quae in fluxu nostro iam comprehenditur.
In documentis in CLI aliisque fontibus viam non inveni ut notitias transferat. Si scias hoc facere, scribe in comment.
Cum bash habemus et ad finem ire parati sumus, exitum inveniemus! Hanc quaestionem solvere NiFi API uti potes. Hoc modo utamur, exemplis supra ID sume (in nostro casu est 7f522a13-016e-1000-e504-d5b15587f2f3). Description of NiFi API methodi
In corpore transire debes JSON, sic:
{
"revision": {
"clientId": "value",
"version": 0,
"lastModifier": "value"
},
"state": "value",
"disconnectedNodeAcknowledged": true
}
Integer condimentum id enim eget viverra.
statum β notitia status translationis. Praesto: transmittendi ad enable notitia translationis, substitit inactivandi
versionem - processus version
versio defalta erit 0 cum creata, sed haec parametri methodo utendo obtineri possunt
Scripta enim litterarum bash, haec methodus apta videri potest, sed parum difficilis est mihi - verissima scripta non sunt mea gratissima. Sequens methodus mea sententia commodior est et commodior.
NiPyAPI
NiPyAPI bibliotheca Pythonis est pro mutuo instantiis NiFi.
Scriptum nostrum de configuratione evolvendi propositum est in Pythone. Ad coding transeamus.
configs pro ulteriori opere constituimus. Hoc parametri opus erit:
nipyapi.config.nifi_config.host = 'http://nifi:8080/nifi-api' #ΠΏΡΡΡ Π΄ΠΎ nifi-api ΠΈΠ½ΡΡΠ°Π½ΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ process group
nipyapi.config.registry_config.host = 'http://nifi-registry:18080/nifi-registry-api' #ΠΏΡΡΡ Π΄ΠΎ nifi-registry-api registry
nipyapi.config.registry_name = 'MyBeutifulRegistry' #Π½Π°Π·Π²Π°Π½ΠΈΠ΅ registry, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π² ΠΈΠ½ΡΡΠ°Π½ΡΠ΅ nifi
nipyapi.config.bucket_name = 'BucketName' #Π½Π°Π·Π²Π°Π½ΠΈΠ΅ bucket, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ flow
nipyapi.config.flow_name = 'FlowName' #Π½Π°Π·Π²Π°Π½ΠΈΠ΅ flow, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ
Deinde inseram nomina modorum huius bibliothecae, qui describuntur
Coniungere subcriptio ad nifi exempli gratia usura
nipyapi.versioning.create_registry_client
Ad hunc gradum etiam perscriptio addere potes quod actis subcriptio iam instantiae adiciatur, eo quod methodo uti potes.
nipyapi.versioning.list_registry_clients
Situla ulterior quaerendi in canistro invenimus
nipyapi.versioning.get_registry_bucket
Situla inventis utendo, quaerimus fluxus
nipyapi.versioning.get_flow_in_bucket
Deinde interest scire num coetus hic processus iam additus sit. Coetus processus secundum coordinatas ponitur et condicio oriri potest cum altera pars superponatur. Compressi, hoc fieri potest :) Ut omnes processus coetus additae methodo utamur
nipyapi.canvas.list_all_process_groups
Ulterius investigare, exempli gratia, nominatim possumus.
Processum augendi Formulae non describemus, tantum dicam quod si processus in nova Formulae versione adiciantur, nullas esse difficultates cum praesentibus nuntiis in stantibus anteponere. Sed si processus removentur, difficultates oriuntur (nisi non permittit te processus removere si nuntius queue ante eum congesta est). Si interest quomodo hanc quaestionem solvi, scribes ad me et de hac re deliberabimus. Noti in fine articuli. Transeamus ad gradum additi processus coetus.
Cum debugging scripturam peculiarem incidi quod versionem novissimam fluxus non semper evellit, ideo hanc versionem primam inhibitam commendo;
nipyapi.versioning.get_latest_flow_ver
Processus coetus explicandam:
nipyapi.versioning.deploy_flow_version
Processores incipimus:
nipyapi.canvas.schedule_process_group
In scandalo de CLI scriptum est translationem datam non sponte facere in circulo processus remoti? Cum exsequerentur scripturam, etiam hoc problema incidi. Illo tempore, notitia translationis incipere non potui utendo API et ad viae bibliothecae NiPyAPI scribere decrevi et consilium/auxilium petere. Elit mihi respondit, quaestionem tractavimus et scripsit tempus ad "reprehendendum aliquid". Deinde, post biduum, epistula pervenit in qua munus Pythone scriptum est quod problema launching! Illo tempore in NiPyAPI versio erat 0.13.3 et certe nihil tale erat. Sed in versione 0.14.0, quod recentissime dimissum est, hoc munus in bibliotheca iam comprehendebatur. Dignum,
nipyapi.canvas.set_remote_process_group_transmission
Ita, adhibito bibliotheca NiPyAPI, registro evolutionis evolutionis contexuimus, et processores etiam incepit et notitia translationis. Tunc codicem pectere potes, omnia genera compescuum, logingum, et omnia omnia adde. Sed haec omnino alia fabula est.
Optionum automationum quas perspexi, ultima efficacissima mihi visa est. Uno modo, hic adhuc pythonis codicem, in quem codici programmatis auxiliari inseri potes et omnibus utilitatibus linguae programmationis uti potes. Secundo, consilium NiPyAPI active evolutionis est et in causa problematum scribere potes in elit. Tertio, NiPyAPI instrumentum flexibile adhuc est in solvendo problematum complexorum cum NiFi. Exempli causa, in determinando num nuntius queues nunc in fluxu vacuae sint et an coetus processus renovari possit.
Id omne. Descripsi 3 aditus ad automandi descensum traditionis in NiFi, foveae ut elit occurrant, et codicem operandi praebeatur ad partum automandi. Si tu es interested in hoc loco sicut ego sum -
Source: www.habr.com