Hello mong le e mong!
Mosebetsi ke o latelang - ho na le phallo e bontšitsoeng setšoantšong se ka holimo, e lokelang ho fetisetsoa ho li-server tsa N ka
NiFi Site to Site (S2S) ke mokhoa o sireletsehileng, o ka khonehang haholo oa ho fetisetsa data lipakeng tsa liketsahalo tsa NiFi. Sheba kamoo S2S e sebetsang kateng
Ha ho tluoa tabeng ea ho fetisetsa data ho sebelisa S2S, mohlala o mong o bitsoa moreki, oa bobeli ke seva. Moreki o romela data, seva e e amohela. Mekhoa e 'meli ea ho theha phetiso ea data lipakeng tsa bona:
- Sututsa. Lintlha li romelloa ho tsoa ho moreki ho sebelisoa Remote Process Group (RPG). Mohlala oa seva, data e amoheloa ho sebelisoa Port Input
- Hula. Seva e amohela data e sebelisa RPG, moreki o e romella a sebelisa Output port.
Phallo ea ho roala e bolokiloe ho Registry ea Apache.
Apache NiFi Registry ke subproject ea Apache NiFi e fanang ka polokelo ea phallo le sesebelisoa sa phetolelo. Mofuta oa GIT. Lintlha tse mabapi le ho kenya, ho hlophisa le ho sebetsa le registry li ka fumanoa ho
Qalong, ha N e le palo e nyenyane, phallo e fanoa le ho ntlafatsoa ka letsoho ka nako e utloahalang.
Empa ha N e ntse e hola, ho na le mathata a mangata:
- ho nka nako e eketsehileng ho ntlafatsa phallo. U hloka ho ea ho li-server tsohle
- ho na le liphoso tsa ho ntlafatsa litempele. Mona ba nchafalitse, empa mona ba lebetse
- phoso ya motho ha a etsa palo e kgolo ya diketso tse tshoanang
Sena sohle se re tlisa ho 'nete ea hore hoa hlokahala ho iketsetsa ts'ebetso. Ke lekile litsela tse latelang ho rarolla bothata bona:
- Sebelisa MiNiFi sebakeng sa NiFi
- Ke Fi CLI
- NiPyAPI
Ho sebelisa MiNiFi
Morero o mong, MiNiFi C2 Server, o tla thusa ho rarolla bothata bona. Sehlahisoa sena se reretsoe ho ba ntlha ea bohareng mohahong oa ho romela. Mokhoa oa ho hlophisa tikoloho - e hlalositsoeng ho
Khetho e hlalositsoeng sehloohong se ka holimo e sebetsa ebile ha e thata ho e sebelisa, empa ha rea lokela ho lebala tse latelang:
- minifi ha e na li-processor tsohle tse tsoang ho nifi
- Liphetolelo tsa CPU ho Minifi li salletse ka morao ho mefuta ea CPU ho NiFi.
Nakong ea ho ngola, mofuta oa morao-rao oa NiFi ke 1.9.2. Phetolelo ea processor ea mofuta oa morao-rao oa MiNiFi ke 1.7.0. Li-processor li ka eketsoa ho MiNiFi, empa ka lebaka la ho se lumellane ha mofuta pakeng tsa li-processor tsa NiFi le MiNiFi, sena se kanna sa se sebetse.
Ke Fi CLI
Ho ahlola ka
Kenya lisebelisoa
./bin/cli.sh
_ ___ _
Apache (_) .' ..](_) ,
_ .--. __ _| |_ __ )
[ `.-. | [ |'-| |-'[ | /
| | | | | | | | | | ' '
[___||__][___][___] [___]', ,'
`'
CLI v1.9.2
Type 'help' to see a list of available commands, use tab to auto-complete.
E le hore re khone ho kenya phallo e hlokahalang ho tsoa ho ngoliso, re hloka ho tseba li-identifiers tsa baskete (identifier ea bakete) le phallo ka boeona (sekhetho sa phallo). Lintlha tsena li ka fumanoa ka cli kapa ka NiFi registry web interface. Sehokelo sa webo se shebahala tjena:
U sebelisa CLI, u etsa sena:
#> 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
Matha sehlopha sa ts'ebetso ea ho tlisa ho tsoa ho registry:
#> 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
Taba ea bohlokoa ke hore mohlala ofe kapa ofe oa nifi o ka hlalosoa e le moamoheli eo re tsamaisang sehlopha sa tšebetso ho eena.
Sehlopha sa tšebetso se kenyellelitsoeng ka li-processor tse emisitsoeng, li hloka ho qalisoa
#> nifi pg-start -pgid 7f522a13-016e-1000-e504-d5b15587f2f3 -u http://nifi:8080
E kholo, li-processor li se li qalile. Leha ho le joalo, ho latela maemo a bothata, re hloka maemo a NiFi ho romella data maemong a mang. Ha re nke hore mokhoa oa Push o khethiloe ho fetisetsa data ho seva. Bakeng sa ho hlophisa phetisetso ea data, hoa hlokahala ho nolofalletsa phetiso ea data (Enable transmitting) ho Remote Process Group (RPG) e kenyellelitsoeng, e seng e kenyellelitsoe phallong ea rona.
Litokomaneng tsa CLI le mehloli e meng, ha kea fumana mokhoa oa ho nolofalletsa phetisetso ea data. Haeba u tseba ho etsa sena, ka kopo ngola litlhalosong.
Kaha re na le bash mme re ikemiselitse ho ea qetellong, re tla fumana tsela ea ho tsoa! U ka sebelisa NiFi API ho rarolla bothata bona. A re sebeliseng mokhoa o latelang, re nka ID ho tloha mehlala e ka holimo (tabeng ea rona ke 7f522a13-016e-1000-e504-d5b15587f2f3). Tlhaloso ea Mekhoa ea NiFi API
'Meleng, o hloka ho fetisa JSON, ea foromo e latelang:
{
"revision": {
"clientId": "value",
"version": 0,
"lastModifier": "value"
},
"state": "value",
"disconnectedNodeAcknowledged": true
}
Li-parameter tse lokelang ho tlatsoa ho "sebetsa":
boemo — boemo ba phetiso ya data. E teng TRANSMITTING ho nolofalletsa phetiso ea data, STOPED ho tima
tlhahiso - mofuta oa processor
mofuta o tla lula o le 0 ha o bōptjoa, empa mekhahlelo ena e ka fumanoa ho sebelisoa mokhoa
Bakeng sa barati ba bash scripts, mokhoa ona o ka 'na oa bonahala o loketse, empa ho thata ho' na - bash scripts ha se ntho eo ke e ratang haholo. Tsela e latelang e thahasellisa ebile e loketse haholoanyane ka maikutlo a ka.
NiPyAPI
NiPyAPI ke laeborari ea Python ea ho sebelisana le maemo a NiFi.
Sengoloa sa rona sa ho tsamaisa tlhophiso ke lenaneo la Python. Ha re feteleng pele ho khouto.
Beha li-configs bakeng sa mosebetsi o eketsehileng. Re tla hloka paramente tse latelang:
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, которое подтягиваем
Ho feta moo ke tla kenya mabitso a mekhoa ea laebrari ena, e hlalositsoeng
Re hokahanya registry le mohlala oa nifi re sebelisa
nipyapi.versioning.create_registry_client
Mothating ona, o ka eketsa cheke hore registry e se e kentsoe mohlala, hobane o ka sebelisa mokhoa ona.
nipyapi.versioning.list_registry_clients
Re fumana nkho ho tsoela pele ho batla ho phalla ka basketeng
nipyapi.versioning.get_registry_bucket
Ho ea ka nkho e fumanoeng, re batla ho phalla
nipyapi.versioning.get_flow_in_bucket
Ka mor'a moo, ke habohlokoa ho utloisisa hore na sehlopha sena sa ts'ebetso se se se ekelitsoe. Sehlopha sa ts'ebetso se behoa ke li-coordinate 'me boemo bo ka' na ba hlaha ha ea bobeli e behoa holim'a e 'ngoe. Ke hlahlobile, e ka ba 🙂 Ho fumana sehlopha sohle sa ts'ebetso, sebelisa mokhoa
nipyapi.canvas.list_all_process_groups
'me joale re ka batla, mohlala, ka mabitso.
Nke ke ka hlalosa mokhoa oa ho ntlafatsa template, ke tla re feela haeba li-processor li kenyelletsoa phetolelong e ncha ea template, joale ha ho na mathata ka boteng ba melaetsa meleng. Empa haeba li-processor li tlosoa, mathata a ka 'na a hlaha (nifi ha e lumelle ho tlosoa ha processor haeba molaetsa oa molaetsa o bokelletse ka pel'a eona). Haeba u thahasella hore na ke rarolle bothata bona joang - ngolla, ka kopo, re tla tšohla ntlha ena. Mabitso qetellong ea sengoloa. Ha re feteleng mohatong oa ho eketsa sehlopha sa tšebetso.
Ha ke lokisa sengoloa, ke ile ka kopana le tšobotsi eo mofuta oa morao-rao oa phallo o sa bueng kamehla, kahoo ke khothaletsa hore o hlakise mofuta ona pele:
nipyapi.versioning.get_latest_flow_ver
Hlahisa sehlopha sa tšebetso:
nipyapi.versioning.deploy_flow_version
Re qala li-processor:
nipyapi.canvas.schedule_process_group
Sebokeng se mabapi le CLI, ho ne ho ngotsoe hore phetisetso ea data ha e khonehe ka bo eona sehlopheng sa ts'ebetso e hole? Ha ke kenya ts'ebetsong script, le 'na ke ile ka kopana le bothata bona. Ka nako eo, ke ne ke sitoa ho qala ho fetisetsa data ho sebelisa API mme ke ile ka etsa qeto ea ho ngolla moqapi oa laebrari ea NiPyAPI le ho kopa keletso / thuso. Moqapi o ile a nkaraba, ra buisana ka bothata mme a ngola hore o hloka nako ea ho "hlahloba ho hong". 'Me joale, matsatsi a' maloa hamorao, lengolo-tsoibila le fihla moo ho ngotsoeng ts'ebetso ea Python e rarollang bothata ba ka ba ho qala !!! Ka nako eo, phetolelo ea NiPyAPI e ne e le 0.13.3 'me, ha e le hantle, ho ne ho se letho le joalo ho eona. Empa phetolelong ea 0.14.0, e ileng ea lokolloa haufinyane tjena, mosebetsi ona o se o kenyelelitsoe laebraring. Kopana
nipyapi.canvas.set_remote_process_group_transmission
Kahoo, ka thuso ea laebrari ea NiPyAPI, re ile ra hokahanya ngoliso, ra phutha phallo, ra ba ra qala li-processor le phetisetso ea data. Ebe u ka kopanya khoutu, eketsa mefuta eohle ea licheke, ho rema lifate, 'me ke phetho. Empa eo ke pale e fapaneng ka ho felletseng.
Har'a likhetho tsa li-automation tseo ke li nahanang, tsa morao-rao li ne li bonahala ho 'na li sebetsa ka ho fetisisa. Ntlha ea pele, ena e ntse e le khoutu ea python, eo ho eona u ka kenyang khoutu ea lenaneo le thusang 'me u natefeloe ke melemo eohle ea puo ea lenaneo. Taba ea bobeli, morero oa NiPyAPI o ntse o tsoela pele ka mafolofolo mme haeba ho na le mathata o ka ngolla moqapi. Taba ea boraro, NiPyAPI e ntse e le sesebelisoa se bonolo haholoanyane sa ho sebelisana le NiFi ho rarolla mathata a rarahaneng. Ka mohlala, ho etsa qeto ea hore na melaetsa ea melaetsa ha e na letho hona joale le hore na hoa khoneha ho ntlafatsa sehlopha sa ts'ebetso.
Ke phetho. Ke hlalositse mekhoa ea 3 ea ho tsamaisa phallo ea phallo ho NiFi, litsietsi tseo mohlahlami a ka kopanang le tsona mme a fana ka khoutu e sebetsang bakeng sa ho tsamaisa thepa ka bo eona. Haeba u thahasella sehlooho sena joalo ka 'na -
Source: www.habr.com