Rere Tuku Aunoatanga i Apache NiFi

Всем Привет!

Rere Tuku Aunoatanga i Apache NiFi

Ko te mahi e whai ake nei - he rerenga e whakaatuhia ana i te pikitia i runga ake nei, me huri atu ki nga tūmau N me te Apache NiFi. Whakamātautau rere - kei te hangaia he konae ka tukuna ki tetahi atu tauira NiFi. Ka puta te whakawhiti raraunga ma te whakamahi i te Pae NiFi ki te kawa Pae.

Ko te Pae NiFi ki te Pae (S2S) he huarahi haumaru, tino whakarite ki te whakawhiti raraunga i waenga i nga tauira NiFi. Tirohia te mahi a S2S tuhinga a he mea nui kia mahara ki te whakarite i to tauira NiFi kia kite a S2S konei.

Ina tae mai ki te whakawhiti raraunga ma te whakamahi i te S2S, ko tetahi tauira ka kiia ko te kaihoko, ko te tuarua he tūmau. Ka tukuna e te kiritaki nga raraunga, ka whiwhi te tūmau. E rua nga huarahi ki te whakarite whakawhiti raraunga i waenga i a raatau:

  1. pana. Ka tukuna nga raraunga mai i te tauira kiritaki ma te whakamahi i te Rōpū Tukatuka Mamao (RPG). I runga i te tauira tūmau, ka whiwhi raraunga ma te whakamahi i te Tauranga Whakauru
  2. Kumea. Ka whiwhi raraunga te tūmau ma te whakamahi i te RPG, ka tukuna e te kiritaki ma te whakamahi i te tauranga Huaputa.


Ko te rere mo te hurihuri ka rongoa ki te Rehita Apache.

Ko te Rehita Apache NiFi he kaupapa iti o Apache NiFi e whakarato ana i te rokiroki rerenga me te taputapu whakaputa. He momo GIT. Ko nga korero mo te whakauru, te whirihora me te mahi me te rehita ka kitea i roto tuhinga whaimana. Ko te rere mo te rokiroki ka honoa ki roto i te roopu mahi ka rongoa ki te rehita i tenei puka. Ka hoki tatou ki tenei i muri mai i roto i te tuhinga.

I te timatanga, ina he iti te N, ka tukuna te rere me te whakahou a-ringa i roto i te waa e pai ana.

Engari i te tipu haere o N, ka nui ake nga raru:

  1. ka nui ake te wa ki te whakahou i te rere. Me haere koe ki nga tūmau katoa
  2. he hapa kei te whakahou i nga tauira. I konei ka whakahouhia, engari i konei i wareware
  3. hapa tangata i te wa e mahi ana i te maha o nga mahi rite

Ko enei katoa ka kawe mai ki a maatau he mea tika ki te whakaaunoa i te mahi. Kua whakamatau ahau i nga huarahi e whai ake nei hei whakaoti i tenei raru:

  1. Whakamahia te MiNiFi hei utu mo NiFi
  2. NiFi CLI
  3. NiPyAPI

Ma te whakamahi i te MiNiFi

ApacheMiNify he kaupapa iti o Apache NiFi. Ko te MiNiFy he kaihoko taapiri e whakamahi ana i nga tukatuka rite ki a NiFi, ka taea e koe te hanga i te rere rite ki a NiFi. Ko te maama o te kaihoko ka tutuki, i roto i era atu mea, na te mea kaore he atanga kauwhata a MiNiFy mo te whirihoranga rere. Ko te kore o te atanga whakairoiro a MiNiFy he mea tika ki te whakaoti i te raruraru o te tuku rere i roto i te minifi. I te mea kei te kaha te whakamahi a MiNiFy i roto i te IOT, he maha nga waahanga me te tikanga o te tuku rere ki nga tauira iti whakamutunga me mahi aunoa. He mahi taunga, tika?

Ko tetahi atu kaupapa iti, MiNiFi C2 Server, ka awhina i tenei raruraru. Ko te tikanga ko tenei hua te kaupapa matua i roto i te hoahoanga whakatakotoranga. Me pehea te whirihora i te taiao - whakaahuatia i roto i tenei tuhinga He nui nga korero mo Habré hei whakaoti rapanga. Ko te MiNiFi, i te taha o te tūmau C2, ka whakahou aunoa i tana whirihoranga. Ko te raru anake o tenei huarahi me hanga e koe nga tauira ki runga i te C2 Server; kaore e ranea te tuku ki te rehita.

Ko te whiringa i whakaahuahia i roto i te tuhinga i runga ake nei kei te mahi me te kore uaua ki te whakatinana, engari kaua e wareware ki nga mea e whai ake nei:

  1. minifi karekau nga kaitukatuka katoa mai i nifi
  2. Ko nga putanga PTM i Minifi kei muri i nga putanga PTM i NiFi.

I te wa e tuhi ana, ko te putanga hou o NiFi ko 1.9.2. Ko te putanga tukatuka o te putanga MiNiFi hou ko 1.7.0. Ka taea te taapiri atu i nga kaitahuri ki te MiNiFi, engari na te rerekeetanga o te putanga i waenga i nga kaiwhakatika NiFi me te MiNiFi, kare pea tenei e mahi.

NiFi CLI

Whakawa e whakaahuatanga taputapu i runga i te paetukutuku mana, he taputapu tenei mo te whakaaunoa i te taunekeneke i waenga i te NiFI me te Rehita NiFi i roto i te waahi o te tuku rerenga, te whakahaere tukanga ranei. Tikiake tenei taputapu ki te timata. mai i konei.

Whakahaerehia te whaipainga

./bin/cli.sh
           _     ___  _
 Apache   (_)  .' ..](_)   ,
 _ .--.   __  _| |_  __    )
[ `.-. | [  |'-| |-'[  |  /  
|  | | |  | |  | |   | | '    '
[___||__][___][___] [___]',  ,'
                           `'
          CLI v1.9.2

Type 'help' to see a list of available commands, use tab to auto-complete.

Kia taea ai e tatou te uta i te rerenga e tika ana mai i te rehitatanga, me mohio tatou ki nga tohu tohu o te kete (whakaahua peere) ​​me te rere ano (whakaahua rere). Ka taea te whiwhi i enei raraunga ma te cli, ma te atanga paetukutuku rehita NiFi ranei. He penei te ahua o te atanga tukutuku:

Rere Tuku Aunoatanga i Apache NiFi

Ma te whakamahi i te CLI, ka mahia e koe tenei:

#> 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

Ka timata matou ki te kawemai i te roopu tukanga mai i te rehita:

#> 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

Ko tetahi mea nui ko nga tauira nifi ka taea te tohu hei kaihautu ka hurihia e matou te roopu mahi.

Ko te roopu tukatuka kua taapirihia me nga kaitukatuka mutu, me timata

#> nifi pg-start -pgid 7f522a13-016e-1000-e504-d5b15587f2f3 -u http://nifi:8080

He rawe, kua timata nga tukatuka. Heoi, i runga i nga ahuatanga o te raru, me hiahia maatau NiFi ki te tuku raraunga ki etahi atu waa. Me whakaaro ko te tikanga Push i whiriwhiria hei whakawhiti raraunga ki te tūmau. Hei whakarite i te whakawhiti raraunga, he mea tika kia taea te whakawhiti raraunga (Whakahohehia te tuku) i runga i te Rōpū Tukatuka Mamao (RPG) kua whakauruhia, kua whakauruhia ki roto i ta maatau rerenga.

Rere Tuku Aunoatanga i Apache NiFi

I roto i nga tuhinga i roto i te CLI me etahi atu puna, kaore i kitea e ahau he huarahi e taea ai te whakawhiti raraunga. Mena ka mohio koe ki te mahi i tenei, tuhia ki roto i nga korero.

I te mea he bash ta tatou, kua reri tatou ki te haere ki te mutunga, ka kitea he huarahi ki waho! Ka taea e koe te whakamahi i te NiFi API hei whakaoti i tenei raru. Me whakamahi i te tikanga e whai ake nei, ka tangohia e matou te ID mai i nga tauira i runga ake nei (i roto i ta maatau ko 7f522a13-016e-1000-e504-d5b15587f2f3). Whakaahuatanga o nga Tikanga API NiFi konei.

Rere Tuku Aunoatanga i Apache NiFi
I roto i te tinana, me tuku e koe a JSON, o te ahua e whai ake nei:

{
    "revision": {
	    "clientId": "value",
	    "version": 0,
	    "lastModifier": "value"
	},
    "state": "value",
    "disconnectedNodeAcknowledged": true
}

Tawhā me whakakī kia “mahi”:
kāwanatanga — te mana whakawhiti raraunga. Kei te waatea te TRANSMITTING kia taea ai te whakawhiti raraunga, KA KATI ki te mono
putanga - putanga pūtukatuka

ka taunoa te putanga ki te 0 ina hanga ana, engari ka taea enei tawhā ma te whakamahi i te tikanga

Rere Tuku Aunoatanga i Apache NiFi

Mo te hunga e aroha ana ki nga tuhinga bash, he pai pea tenei tikanga, engari he uaua ki ahau - ehara nga tuhinga bash i taku tino pai. Ko te huarahi e whai ake nei he pai ake, he watea ki taku whakaaro.

NiPyAPI

Ko NiPyAPI he whare pukapuka Python mo te taunekeneke me nga tauira NiFi. Whārangi tuhinga kei roto nga korero e tika ana hei mahi me te whare pukapuka. Ko te timatanga tere e whakaahuatia ana i roto te tauira i runga i te github.

Ko ta matou tuhinga mo te huri i te whirihoranga he kaupapa Python. Me haere tatou ki te whakawaehere.
Whakaritea nga whirihora mo etahi atu mahi. Ka hiahia matou ki nga tawhā e whai ake nei:

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, которое подтягиваем

Hei muri ka whakaurua e au nga ingoa o nga tikanga o tenei whare pukapuka, kua whakaahuatia nei konei.

Ka honoa e matou te rehita ki te tauira nifi ma te whakamahi

nipyapi.versioning.create_registry_client

I tenei taahiraa, ka taea hoki e koe te taapiri i tetahi haki kua taapirihia te rehitatanga ki te tauira, mo tenei ka taea e koe te whakamahi i te tikanga

nipyapi.versioning.list_registry_clients

Ka kitea e matou te peere hei rapu atu i te rere o te kete

nipyapi.versioning.get_registry_bucket

Ma te whakamahi i te peere kua kitea, ka rapu tatou mo te rere

nipyapi.versioning.get_flow_in_bucket

I muri mai, he mea nui kia mohio mena kua taapirihia tenei roopu mahi. Ka whakanohohia te roopu mahi e nga taunga ka puta he ahuatanga ka tuuhia te tuarua ki runga ake o tetahi. I tirohia e ahau, ka taea e 🙂 Ki te tiki i nga roopu tukanga taapiri katoa, whakamahia te tikanga

nipyapi.canvas.list_all_process_groups

Ka taea e tatou te rapu atu, hei tauira, ma te ingoa.

Kaore ahau e whakaahua i te tukanga o te whakahou i te tauira, ka kii noa ahau mehemea ka whakauruhia nga kaitoro ki te waahanga hou o te tauira, karekau he raruraru ki te aroaro o nga karere i roto i nga rarangi. Engari ki te tangohia nga kaitukatuka, ka puta ake he raru (kaore koe e whakaae ki te tango i tetahi kaitukatuka mena kua kohia he rarangi karere ki mua). Mena kei te pirangi koe me pehea taku whakaoti i tenei raru, tuhia mai ki ahau ka korerohia tenei take. Hoapā i te mutunga o te tuhinga. Me neke atu ki te taahiraa o te taapiri i te roopu mahi.

I te wa e patuiro ana i te tuhinga, ka kitea e au tetahi ahuatanga kaore i toia te putanga hou o te rerenga, no reira ka tūtohu ahau kia whakamarama tuatahi koe i tenei putanga:

nipyapi.versioning.get_latest_flow_ver

Hoatuhia te roopu tukanga:

nipyapi.versioning.deploy_flow_version

Ka timata tatou i nga tukatuka:

nipyapi.canvas.schedule_process_group

I roto i te poraka e pa ana ki a CLI i tuhia ko te whakawhiti raraunga kaore i te whakahohe aunoa i roto i te roopu tukanga mamao? I te whakatinanatanga o te tuhinga, i tutaki ano ahau ki tenei raru. I taua wa, kaore i taea e au te timata te whakawhiti raraunga ma te whakamahi i te API ka whakatau ahau ki te tuhi ki te kaiwhakawhanake o te whare pukapuka NiPyAPI me te tono mo te tohutohu / awhina. I whakahoki mai te kaiwhakawhanake ki a au, i korerohia e matou te raru ka tuhia e ia me whai wa ia ki te "tirohia tetahi mea". Na, i nga ra e rua i muri mai, ka tae mai he reta ka tuhia he mahi ki te Python hei whakaoti i taku raruraru whakarewatanga!!! I taua wa, ko te putanga NiPyAPI ko 0.13.3 me te tikanga, kaore he mea pera. Engari i roto i te putanga 0.14.0, i tukuna tata nei, kua whakauruhia tenei mahi ki te whare pukapuka. Tutaki,

nipyapi.canvas.set_remote_process_group_transmission

Na, ma te whakamahi i te whare pukapuka NiPyAPI, i honoa e matou te rehitatanga, i hurihia te rere, a tae noa ki te tiimata i te tukatuka me te whakawhiti raraunga. Na ka taea e koe te heru i te waehere, te taapiri i nga momo arowhai katoa, te takiuru, katahi ano. Engari he korero rereke tera.

O nga whiringa aunoatanga i whakaarohia e au, ko te ahua o muri ko te mea tino pai rawa atu. Tuatahi, he waehere python tonu tenei, ka taea e koe te whakauru i te waehere kaupapa awhina me te pai ki nga painga katoa o te reo hotaka. Tuarua, kei te kaha whanake te kaupapa NiPyAPI, a mena he raru ka taea e koe te tuhi ki te kaiwhakawhanake. Tuatoru, ko NiPyAPI he taputapu ngawari ake mo te taunekeneke me NiFi ki te whakaoti rapanga uaua. Hei tauira, ki te whakatau mena kei te waatea nga rarangi karere i roto i te rere me te mea ka taea te whakahou i te roopu mahi.

Heoi ano. I whakaahuahia e ahau nga huarahi e 3 ki te whakaaunoa i te tuku rerenga i roto i te NiFi, nga raru ka pa ki te kaiwhakawhanake me te whakarato i tetahi waehere mahi mo te tuku aunoa. Mena kei te pirangi koe ki tenei kaupapa penei i ahau - tuhi!

Source: will.com

Tāpiri i te kōrero