Miarahaba ny rehetra!
Ny asa dia toy izao manaraka izao - misy fikorianan'ny, aseho amin'ny sary etsy ambony, izay mila havoaka amin'ny server N miaraka amin'ny
NiFi Site to Site (S2S) dia fomba azo antoka sy mora azo hamindra angona eo amin'ireo tranga NiFi. Ahoana ny fiasan'ny S2S, jereo
Amin'ny tranga izay miresaka momba ny famindrana angon-drakitra mampiasa S2S, ny iray dia antsoina hoe mpanjifa, ny mpizara faharoa. Mandefa data ny mpanjifa, mandray ny server. Fomba roa hanamboarana ny famindrana angon-drakitra eo anelanelan'izy ireo:
- Atoseho. Avy amin'ny ohatra mpanjifa, ny angon-drakitra dia alefa amin'ny alΓ lan'ny Vondrona Fikarakarana lavitra (RPG). Ao amin'ny ohatra mpizara, ny angon-drakitra dia raisina amin'ny alΓ lan'ny Port Input
- Sintony. Ny mpizara dia mandray data amin'ny fampiasana RPG, ny mpanjifa dia mandefa amin'ny seranana Output.
Voatahiry ao amin'ny Apache Registry ny flow for rolling.
Apache NiFi Registry dia zana-drafitra an'ny Apache NiFi izay manome fitaovana ho an'ny fitahirizana ny fikorianan'ny rano sy ny fanaraha-maso ny dikan-teny. Karazana GIT. Ny fampahalalana momba ny fametrahana, ny fanamboarana ary ny fiasana amin'ny rejisitra dia azo jerena ao
Eo am-piandohana, rehefa N dia isa kely, ny fikorianan'ny dia aterina sy havaozina amin'ny tanana amin'ny fotoana azo ekena.
Saingy rehefa mitombo ny N, dia mihamaro ny olana:
- mila fotoana bebe kokoa ny fanavaozana ny fandehanana. Mila miditra amin'ny mpizara rehetra ianao
- Misy hadisoana amin'ny fanavaozana ny maodely. Eto ry zareo no nanavao azy io, fa eto no adinony
- fahadisoan'ny olombelona rehefa manao asa maro mitovy
Izany rehetra izany dia mitondra antsika amin'ny hoe mila mandeha ho azy ny dingana. Nanandrana ireto fomba manaraka ireto aho hamahana ity olana ity:
- Ampiasao ny MiNiFi fa tsy ny NiFi
- NiFi CLI
- NiPyAPI
Mampiasa MiNiFi
Ny tetikasa hafa dia hanampy amin'ny famahana ity olana ity - MiNiFi C2 Server. Ity vokatra ity dia natao ho teboka afovoany amin'ny rafi-pamokarana fanamafisana. Ahoana ny fametrahana ny tontolo iainana - voalaza ao amin'ny
Ny safidy voalaza ao amin'ny lahatsoratra etsy ambony dia miasa ary tsy sarotra ny mampihatra, saingy tsy tokony hohadinointsika ireto manaraka ireto:
- Minifi dia tsy manana processeurs rehetra avy amin'ny nifi
- Ny dikan-tenin'ny processeur Minifi dia mihemotra aorian'ny versione processeur NiFi.
Tamin'ny fotoana nanoratana, ny kinova farany an'ny NiFi dia 1.9.2. Ny kinova farany processeur MiNiFi dia 1.7.0. Azo ampidirina amin'ny MiNiFi ny processeur, saingy noho ny tsy fitovian'ny versione eo amin'ny processeur NiFi sy MiNiFi dia mety tsy mandeha izany.
NiFi CLI
Rehefa mitsara
Sokafy ny utility
./bin/cli.sh
_ ___ _
Apache (_) .' ..](_) ,
_ .--. __ _| |_ __ )
[ `.-. | [ |'-| |-'[ | /
| | | | | | | | | | ' '
[___||__][___][___] [___]', ,'
`'
CLI v1.9.2
Type 'help' to see a list of available commands, use tab to auto-complete.
Mba hahafahantsika mameno ny fikorianan'ny rejisitra ilaina, dia mila mahafantatra ny famantarana ny siny (bucket identifier) ββsy ny fikorianan'ny tenany (flow identifier) ββisika. Ity angon-drakitra ity dia azo alaina amin'ny alΓ lan'ny cli na amin'ny tranonkalan'ny rejisitra NiFi. Ao amin'ny interface web dia toa izao:
Amin'ny fampiasana ny CLI dia atao izany:
#> 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
Manomboka manafatra vondrona dingana avy amin'ny rejisitra izahay:
#> 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
Ny teboka manan-danja dia ny hoe ny tranga nifi rehetra dia azo faritana ho mpampiantrano izay hanodina ny vondrona dingana.
Vondrona processeur nampiana processeurs najanona, mila atomboka izy ireo
#> nifi pg-start -pgid 7f522a13-016e-1000-e504-d5b15587f2f3 -u http://nifi:8080
Tsara, nanomboka ny processeurs. Na izany aza, araka ny fepetran'ny asa, mila tranga NiFi izahay handefasana angona amin'ny tranga hafa. Aoka hatao hoe nisafidy ny fomba Push ianao mba hamindra angona amin'ny mpizara. Mba handaminana ny famindrana angon-drakitra dia mila mamela ny famindrana angona ianao ao amin'ny Vondrona Fizorana lavitra (RPG) fanampiny, izay efa tafiditra ao anatin'ny fikorianantsika.
Ao amin'ny antontan-taratasy ao amin'ny CLI sy loharano hafa dia tsy nahita fomba ahafahana mamindra angona aho. Raha hainao ny manao izany dia manorata ao amin'ny fanehoan-kevitra.
Satria manana bash isika ary vonona ny handeha hatramin'ny farany dia hahita lalana hivoahana! Azonao atao ny mampiasa ny NiFi API hamahana ity olana ity. Andao hampiasa ity fomba manaraka ity, raiso ny ID avy amin'ireo ohatra etsy ambony (raha ny anay dia 7f522a13-016e-1000-e504-d5b15587f2f3). Famaritana ny fomba NiFi API
Ao amin'ny vatana dia mila mandalo JSON ianao, toy izao:
{
"revision": {
"clientId": "value",
"version": 0,
"lastModifier": "value"
},
"state": "value",
"disconnectedNodeAcknowledged": true
}
Paramètre tsy maintsy fenoina mba hiasana:
fanjakana - sata famindrana angon-drakitra. Misy: TRANSMITTING mba ahafahana mamindra data, STOPPED mba tsy ho afaka
Malagasy Bible - dikan-ny processeur
Ny dikan-teny dia ho default amin'ny 0 rehefa noforonina, saingy azo alaina amin'ny alΓ lan'ny fomba ireo masontsivana ireo
Ho an'ireo mpankafy ny sora-bash dia toa mety io fomba io, saingy somary sarotra amiko izany - tsy tiako ny script bash. Ny fomba manaraka dia mahaliana sy mety kokoa raha ny hevitro.
NiPyAPI
NiPyAPI dia tranomboky Python hifaneraserana amin'ny tranga NiFi.
Ny scripty amin'ny famoahana ny konfigurasi dia programa amin'ny Python. Andao hiroso amin'ny coding.
Nametraka configs izahay ho an'ny asa fanampiny. Mila ireto parameter manaraka ireto isika:
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, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ
Manaraka izany dia hampiditra ny anaran'ny fomban'ity tranomboky ity aho, izay voalaza
Ampifandraiso amin'ny instance nifi ny rejisitra mampiasa
nipyapi.versioning.create_registry_client
Amin'ity dingana ity, azonao atao koa ny manampy fanamarinana fa ny rejisitra dia efa nampiana ny ohatra;
nipyapi.versioning.list_registry_clients
Hitantsika ny siny ho fikarohana bebe kokoa momba ny fikorianan'ny harona
nipyapi.versioning.get_registry_bucket
Amin'ny fampiasana ny siny hita, dia mitady ny fikorianan'ny
nipyapi.versioning.get_flow_in_bucket
Manaraka izany, zava-dehibe ny mahatakatra raha efa nampiana ity vondrona dingana ity. Ny vondrona Process dia apetraka araka ny fandrindrana ary mety hipoitra ny toe-javatra rehefa misy singa faharoa apetraka eo ambonin'ny iray. Nojereko fa mety hitranga izany :) Mba hahazoana ireo vondrona mpikirakira fanampiny rehetra dia mampiasa ny fomba
nipyapi.canvas.list_all_process_groups
Afaka mikaroka bebe kokoa isika, ohatra, amin'ny anarana.
Tsy hilazalaza ny fizotran'ny fanavaozana ny mΓ΄dely aho, hilaza fotsiny aho fa raha ampidirina ao amin'ny dikan-teny vaovao ny mpanodina, dia tsy misy olana amin'ny fisian'ny hafatra ao amin'ny filaharana. Fa raha esorina ny processeur, dia mety hipoitra ny olana (nifi dia tsy mamela anao hanala processeur raha misy filaharana hafatra miangona eo anoloany). Raha liana amin'ny fomba namaha ity olana ity ianao dia manorata amiko ary hiresaka momba ity olana ity isika. Mifandray amin'ny faran'ny lahatsoratra. Andeha isika hiroso amin'ny dingana amin'ny fampidirana vondrona dingana.
Rehefa nanao debugging ny script aho dia nahita ny mampiavaka azy fa tsy misintona foana ny kinova farany amin'ny fikorianan'ny rivotra, noho izany dia manoro hevitra aho hanamarina ity dikan-teny ity aloha:
nipyapi.versioning.get_latest_flow_ver
Mametraka vondrona dingana:
nipyapi.versioning.deploy_flow_version
Manomboka ny processeur izahay:
nipyapi.canvas.schedule_process_group
Ao amin'ny sakana momba ny CLI dia nosoratana fa tsy mandeha ho azy ny famindrana angon-drakitra ao amin'ny vondrona dingana lavitra? Rehefa nampihatra ny script dia nisedra ity olana ity koa aho. Tamin'izany fotoana izany dia tsy afaka nanomboka ny famindrana angon-drakitra tamin'ny fampiasana ny API aho ary nanapa-kevitra ny hanoratra amin'ny mpamorona ny tranomboky NiPyAPI ary hangataka torohevitra/fanampiana. Namaly ahy ny mpamorona, niresaka momba ny olana izahay ary nanoratra izy fa mila fotoana "hijery zavatra". Ary avy eo, roa andro taty aoriana, tonga ny taratasy iray izay misy asa voasoratra amin'ny Python izay mamaha ny olan'ny fandefasana ahy !!! Tamin'izany fotoana izany, ny version NiPyAPI dia 0.13.3 ary mazava ho azy fa tsy nisy toy izany. Saingy ao amin'ny version 0.14.0, izay navoaka vao haingana, dia efa tafiditra ao amin'ny tranomboky io fiasa io. Mivory,
nipyapi.canvas.set_remote_process_group_transmission
Noho izany, amin'ny fampiasana ny tranomboky NiPyAPI, dia nampifandray ny rejisitra izahay, nanakodia ny fikorianan'ny rivotra, ary na dia nanomboka ny processeur sy ny famindrana angon-drakitra aza. Avy eo dia azonao atao ny manambatra ny kaody, manampy karazana fanamarinana rehetra, logging, ary izay ihany. Saingy tantara hafa tanteraka izany.
Amin'ireo safidy automatique noheveriko, ny farany dia toa ahy no mahomby indrindra. Voalohany, mbola code python ihany io, izay ahafahanao mampiditra code programme auxiliary ary manararaotra ny tombontsoa rehetra amin'ny fiteny fandaharana. Faharoa, mivoatra mavitrika ny tetikasa NiPyAPI ary raha misy olana dia azonao atao ny manoratra amin'ny mpamorona. Fahatelo, ny NiPyAPI dia mbola fitaovana mora kokoa hifaneraserana amin'ny NiFi amin'ny famahana olana sarotra. Ohatra, amin'ny famaritana raha foana ny filaharana hafatra ao amin'ny fikorianan'ny ary raha azo havaozina ny vondrona dingana.
Izay ihany. Nolazaiko ny fomba fiasa 3 amin'ny fanaterana ny fikorianan'ny rano ao amin'ny NiFi, ny fandrika mety ho hitan'ny mpamorona, ary nanome fehezan-dalΓ na miasa ho an'ny fanaterana automatique. Raha liana amin'ity lohahevitra ity toa ahy ianao -
Source: www.habr.com