Laborator 12
Tematica laboratorului
- 1. Trident short intro
- 2. Prezentari articole
- 3. Discutii proiecte
- 4. Optiuni aditionale de configurare Storm
- 5. Alte comenzi Storm
4. Optiuni aditionale de configurare Storm
In configurarea Storm conf/storm.yaml exista o serie de alte optiuni pe langa cele principale discutate intr-un laborator trecut ce pot fi utile in configurare. Ca sintaxa generala acestea sunt de tipul [target].[option], unde "target" reprezinta categoria asupra careia are efect optiunea (nimbus, noduri supervizor, ui, etc) si "option" identifica optiunea efectiva:
- [target].childopts - contine un string de optiuni care va fi adaugat la linia de comanda Java prin care se vor rula diversi demoni target cum ar fi nimbus, ui, supervisor, worker (ex. setarea de memorie alocata pentru JVM: "-Xmx1024m")
- ui.port - portul pe care ruleaza serverul pentru interfata vizuala Storm (default 8080)
- topology.message.timeout.secs - timpul maxim dupa care un tuplu care e trimis in mod ancorat de un spout si care nu a fost raportat ca procesat complet de arborele fluxului de pe topologia respectiva e considerat ca pierdut (spoutul, conform cu implementarea, poate retrimite dupa acest timp); valoarea default e 30 de secunde pentru timeout
- topology.max.spout.pending - implicit un spout va trimite tuple cat de repede le poate produce dar acest comportament poate cauza pierderi de tuple din cauza supraincarcarii restului topologiei si in consecinta timeout la procesarea completa a unui tuplu; daca aceasta optiune e mai mare ca 0 platforma Storm va opri producerea de tuple pana ce valoarea tuplelor neprocesate inca de la operatorul spout la urmatorul operator nu scade sub valoarea optiunii
- topology.enable.message.timeouts - prin setarea pe false aceasta optiune ignora caracteristica de timeout (un tuplu nu va fi raportat ca pierdut niciodata, platforma asteptand procesarea sa completa; default: true)
5. Alte comenzi storm
Pe langa comenzile "storm jar" si "storm kill", alte comenzi utile mai sunt urmatoarele:
- storm nimbus - lanseaza explicit demonul nimbus in executie
- storm supervisor - lanseaza explicit demonul supervizor in executie
- storm ui - lanseaza expliciti demonul de interfata in executie
- storm deactivate (topology) - suspenda executia unei topologii (opreste emiterea de tuple din spouts)
- storm activate (topology) - reia executia unei topologii
- storm rebalance (topology) [-w wait_time] [-n worker_count] [-e component_name=executer_count] - rebalanseaza executia topologiei; topologia e deactivata pentru un timp de asteptare in care procesarea pentru tuplele curente ar trebui sa fie finalizata dupa care se reia cu un eventual nou numar de statii workers si un nou numar de thread-uri executor pe fiecare operator (ex. split-bolt=10)
- storm classpath - afiseaza classpath-ul clientului local storm
- storm localconfvalue (atribut) - afiseaza valoarea unui atribut din configurarea locala storm.yaml
- storm remoteconfvalue (atribut) - afiseaza valoarea unui atribut setat la nivel global (ex. nimbus.host)