{"id":18425936,"url":"https://github.com/bartekbp/iosr","last_synced_at":"2026-02-14T07:02:14.482Z","repository":{"id":15136539,"uuid":"17863798","full_name":"bartekbp/IOSR","owner":"bartekbp","description":"System agregacji i przetwarzania zdarzeń systemowych (logów) - wersja Kafka","archived":false,"fork":false,"pushed_at":"2014-06-24T15:53:26.000Z","size":162508,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-05T02:50:01.924Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bartekbp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-18T11:48:28.000Z","updated_at":"2014-11-07T20:45:40.000Z","dependencies_parsed_at":"2022-08-29T03:22:21.779Z","dependency_job_id":null,"html_url":"https://github.com/bartekbp/IOSR","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bartekbp/IOSR","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartekbp%2FIOSR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartekbp%2FIOSR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartekbp%2FIOSR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartekbp%2FIOSR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bartekbp","download_url":"https://codeload.github.com/bartekbp/IOSR/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartekbp%2FIOSR/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29438979,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T05:24:35.651Z","status":"ssl_error","status_checked_at":"2026-02-14T05:24:34.830Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T05:06:25.715Z","updated_at":"2026-02-14T07:02:14.460Z","avatar_url":"https://github.com/bartekbp.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"1. Instalacja środowiska\n------------------------\nPierwszy krok; pobrać:\n\n    http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html\n\ni umieścić w vagrant/files/.\n\nNie jest to piękne, ale działa, i vagrant nie musi ściągać javy dla każdej jednej VMki podczas stawiania środowiska.\n\nUWAGA: Potrzebne jest dużo wolnego miejsca na dysku (30GB). Domyślnie wszystko wyląduje w \"~/VirtualBox VMs\". Aby zmienić tę lokalizację, trzeba odpalić virtualbox'a, wejść w preferencje i zmienić domyślny katalog.\n\nPobrać i zainstalować najnowszą wersje Vagrant'a i VirtualBoxa 4.2 (koniecznie ta wersja, ze względu na wersję guest additions w boxach vagrantowych):\n    \n    https://www.vagrantup.com/downloads.html\n    https://www.virtualbox.org/wiki/Download_Old_Builds_4_2\n\n\n2. Stawianie środowiska (maszyn wirtualnych)\n--------------------------------------------\nUWAGA: Obecna konfugaracja wymaga 11GB RAMu. Jeśli to za dużo, należy edytować Vagrantfile i zmniejszyć ilość pamięci przydzielanej poszczególnym VMkom.\n\nWejść do katalogu vagrant/ i odpalić:\n\n    vagrant up\n\nJeśli nie potrafi pobrać sobie box'a (\"An error occurred while downloading the remote file...\"), wtedy:\n\n    vagrant box add precise64 http://files.vagrantup.com/precise64.box\n\nI spróbować ponownie. Jeśli \"vagrant up\" zwróci nam prompta bez sypania błędami, to znaczy, że środowisko wstało.\n\nZa pierwszym uruchomieniem środowiska, Vagrant wykona tzw. \"provisioning\" - skrypty, które ustawią /etc/hosts, zainstalują javę etc. Przy wznowieniach skrypty te są pomijane. Jeśli z jakiegoś powodu chcemy ponownie odpalić te skrypty, można wykonać (gdy środowiko jest postawione):\n\n    vagrant provision\n\nDodać wpisy z pliku vagrant/files/hosts do lokalnego /etc/hosts, aby móc posługiwać się hostname'ami np. w przeglądarce.\n\n\n3. Wstrzymywanie, kasowanie środowiska\n--------------------------------------\nAby wstrzymać wszystkie VMki, a potem wznowić pracę w tym samym miejscu, używamy:\n\n    vagrant halt\n    vagrant up\n\nNatomiast aby całkowicie usunąć środowisko:\n\n    vagrant destroy\n\n\n4. Używanie środowiska\n----------------------\nNa poszczególne VMki logujemy się przy użyciu komendy vagrant ssh podając nazwę VMki (zgodną z definicjami w Vagrantfile). Przykładowo:\n\n    vagrant ssh kafka-node1\n\nW celu skopiowania jakiegoś pliku na VMkę z własnej maszyny, najłatwiej korzystać z następującego mechanizmu - wszystko wrzucone do folderu zawierającego Vagrantfile (u nas w repo katalog vagrant/) jest podmontowane pod ścieżką /vagrant na vmkach.\n\n\n5. Stawianie clustra cloudery\n------------------------------------------\n\nWejść przez przeglądarkę na adres:\n    \n    http://cloudera-master:7180/\n    login: admin\n    hasło: admin\n\nSkonfigurować cluster cloudery za pomocą wizarda, który nam się wyświetlił.\n\n    1. Wybrać wersję darmową\n    2. Continue\n    3. Wpisać \"cloudera-master, cloudera-slave1\" w okno wyszukiwania i dać search, continue jak wyszuka node'y\n    4. Instalacja klastra\n        Krok 1: Continue\n        Krok 2: \"Another User\" - \"vagrant\", \"All hosts accept same password\" - \"vagrant\" i continue\n        Krok 3: Poczekać na zakończenie instalacji, continue\n        Krok 4: Poczekać na zakończenie instalowania oprogramowania na hostach, continue\n        Krok 5: Poczekać na sprawdzenie, czy wszystko się poprawnie zainstalowało\n    5. Instalacja serwisów - wybieramy All services\n    6. Wybór baz danych - test connection, potem continue\n    7. Configuration changes - continue\n    8. Poczekać na instalację wszystkich pakietów, przeklikać do końca instalacji\n\n\n6. Budowanie projektu i deploy na wirtualne maszyny\n---------------------------------------------------\nW głównym folderze projektu jest Makefile. Odpalamy\n\n    make\n\nI paczka z naszym kaflogiem będzie dostępna na każdej maszynie wirtualnej pod \n\n    /vagrant/files/kaflog-0.1/\n\n\n7. Odpalanie mastera\n--------------------\nWarunkiem początkowym jest postawienie cloudery na cloudera-master (no i slavach w miarę potrzeb) - patrz punkt 5.\nNa cloudera-master odpalamy:\n\n    /vagrant/files/kaflog-0.1/bin/kaflog_broker.sh \n    /vagrant/files/kaflog-0.1/bin/kaflog_master.sh \n\nPo wstaniu mastera, panel admina jest dostępny na:\n\n    http://cloudera-master:8080\n\nHasło i login: admin.\n\nAby wyświetlanie statystyk dotyczących logów działało poprawnie, niezbędne jest posiadanie aktualnych metadanych dla potrzeb Apache Impala.\n\nMetadane można odświeżyć wykonując polecenie w konsoli Apache Impala:\n\n    invalidate metadata\n    \n\n\n8. Używanie KaflogProducera\n---------------------------\nWarunkiem początkowym jest wykonianie punktu 7. \nNa każdym kafka-node, który chcemy podłączyć, odpalamy:\n\n    /vagrant/files/kaflog-0.1/bin/kaflog_producer.sh \n\nW tym momencie działa nasz producent i będzie publikował logi z sysloga. Zalogować coś do sysloga można na trzy sposoby:\n\n    logger \"tresc loga\"\n    /vagrant/files/kaflog-0.1/bin/log_generator.sh \u003cilosc_logow\u003e\n    /vagrant/files/kaflog-0.1/bin/log_generator_per_min.sh \u003cilosc_logow_na_minute\u003e\n\nWejść na:\n\n    http://cloudera-master:8080/\n\nZrobić popcorn i oglądać.\n\n\n9. Używanie HadoopConsumera\n---------------------------\nWarunkiem początkowym jest wykonianie punktu 7.  \nNa cloudera-master odpalamy:\n\n    /vagrant/files/kaflog-0.1/bin/kaflog_hadoop_consumer.sh\n\nZrobić makaron i nie zapomnieć dodać soli.\n\n\n10. Używanie Storm Consumera\n---------------------------\nWarunkiem początkowym jest wykonianie punktu 7. \nDomyślnie storm działa na cloudera-master i cloudera-slave1.\n\nTrzeba uruchomić cluster storma:\n\n    # @cloudera-master: tu odpalamy nimbusa - taki storm-master\n    ~/storm-0.8.1/bin/storm nimbus \u0026\n    # Warto uruchomić także ui aby można było śledzić status naszej topologii.\n    # UI jest dostępny pod adresem cloudera-master:8088\n    ~/storm-0.8.1/bin/storm ui \u0026\n\n    # @cloudera-slave1: tu odpalamy supervisora\n    ~/storm-0.8.1/bin/storm supervisor    \n \n\nUruchomić topologie:\n\n    # @cloudera-master\n    /vagrant/files/kaflog-0.1/bin/kaflog_storm_consumer.sh\n\nZabijanie topologi\n\n    # nasza topologia nazywa się 'storm'\n    ~/storm-0.8.1/bin/storm kill storm\n\n\n11. Import danych z Hdfs do Hive\n--------------------------------\n\nWymagania początkowe:\n* posiadanie uruchomionej dodatkowej roli hiveserver2 w clouderze\n* posiadanie uruchomionej dodatkowej roli hbaserestserver w clouderze\n* posiadanie uruchomionej dodatkowej roli hbasethriftserver w clouderze\n* posiadanie praw do zapisu do katalogu /user/hive w hdfs'ie\n\nUruchamiamy:\n\n    /vagrant/files/kaflog-0.1/bin/kaflog_hive_view_creator\n    \n\n\n12. Podział na podmoduły\n--------------------------------\nGłówny moduł to kaflog. Jest to parent pom dla prawie wszystkich projektów poza mastermonitoring. Dla mastermonitoring parentem jest spring-boot-starter-parent.\n\nMastermonitoring to webappka, ale można ją odpalać przez java -jar.\nAlternatywny sposób to odpalanie przez mvn spring-boot:run - to się przydaje podczas pracy.\n\n\n13. Uwagi do dokumentacji kafki (uzywamy wersji 0.8.1, a w ebooku jest 0.72/0.8)\n-------------------------------------------------------------------------------\nProponuję tutaj dopisywać rzeczy, które należy wiedzieć jeśli chodzi o kafkę 0.8.1 (w szczególności to, co się zmieniło względem starych wersji).\n\nZmieniono sposób tworzenia topica\n\n    stary -\u003e bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic kafkatopic\n    nowy -\u003e  bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partition 1 --topic kafkatopic\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbartekbp%2Fiosr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbartekbp%2Fiosr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbartekbp%2Fiosr/lists"}