niedziela, 9 marca 2014

Klaster RaspberryPi

Być może klaster w stosunku do czegoś tak małego jak Raspberry Pi do za duże słowo, jednak gdy jest ich np. 20 daje nam to już wystarczająco dużo mocy, aby postawić w miarę sensowny serwer www. Poza Raspberry Pi będziemy potrzebowali jeszcze drugi komputer.

Klaster Raspberry Pi:

1) W każdym 4GB na kracie pamięci,
2) 16MB dla układu graficznego,
3) Podkręcenie procesora do 800MHz,
4) Włączenie SSH,
5) Ustawienie hostname,
6) Ustawienie hasła do maszyny,
7) Włączenie Expand fs,
8) Ustawienie IP z zakresu 192.168.1.xxx
9) Instalacja potrzebnego oprogramowania, w tym przypadku Apache, libxml2 oraz python-libxml2 na każdym Raspberry Pi,

Drugi komputer jako Load Balancer:

1) Wymagane 2 interfejsy:
1.1) Pierwszy do kontaktu z router'em, np. 192.168.0.3,
1.2) Drugi do podpięcia klastra 192.168.1.1,
2) Wymagania sprzętowe: 512MB ramu, procesor 2.7GHz,
3) Zainstalowany Lubuntu ()odchudzona wersja Ubuntu), ewentualnie Ubuntu gdy mamy mocniejszy sprzęt


1)Konfiguracja Load Balancer'a:

sudo apt-get update
sudo apt-get upgrade


sudo apt-get install apache2


sudo a2enmod proxy
sudo a2enmod proxy_http

sudo a2enmod proxy_balancer

Skonfigurujemy proxy tak, aby jedynie przekazywał żądania HTTP, a nie działało jak prawdziwe proxy:

nano  /etc/apache2/sites-available/default


Dodajemy opcję:

ProxyRequests off


Definiujemy elementy naszego klastra, poniżej klaster składający się z 5 raspberry pi:








Zdalne monitorowanie load balancer'a możliwe jest dzięki włączeniu poniżej opcji:

nano /etc/apache2/sites-available/default




Dodamy wysyłanie żądań do naszego klastra:


ProxyPass /balancer-manager !
ProxyPass / balancer://rpicluster/


Na koniec restartujemy Apache'a:

sudo /etc/init.d/apache2 restart


Po wejściu na adres pierwszego interfejsu Load Balancer'a, np. 192.168.0.3/balancer-manager, powinniśmy zobaczyć listę naszych maszyn wchodzących w skład klastra:





Poniżej kompletny kod dla pliku /etc/apache2/sites-available/default, gotowy link (https://www.dropbox.com/s/073itp9n7uuto9v/ApacheConfig.txt):





Brak komentarzy:

Prześlij komentarz