Sadržaj:
- Korak 1: Pogledajte video verziju
- Korak 2: Ono što će vam trebati
- Korak 3: Instaliranje i konfiguriranje Raspbiana
- Korak 4: Instaliranje MPICH -a
- Korak 5: Instaliranje MPI4PY
- Korak 6: Kopiranje slike
- Korak 7: Konfiguriranje preostalih Raspberry Pi -ja
- Korak 8: Provjera ključeva domaćina
- Korak 9: Pokretanje programa na vašem superračunalu
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Raspberry Pi se sam po sebi ne može pohvaliti impresivnim specifikacijama. No s jeftinom cijenom, kupnja nekoliko ovih uređaja i njihovo povezivanje s kombiniranom procesorskom snagom mogli bi napraviti pristojno računalo niske cijene. Izgrađeno je nekoliko impresivnih platformi koje povezuju desetak Pi -jeva zajedno. Dakle, u ovom uputstvu, istražimo kako tehnologija stoji iza klaster računanja i napravimo vlastiti Bramble Pi!
Korak 1: Pogledajte video verziju
Napravio sam i dvodijelnu video verziju ovog potpuno istog projekta. Pa ako niste čitatelj, odmaknite se i gledajte videe! Napominjemo da video verzija koristi Raspbian Wheezy. Međutim, upute u nastavku odnose se na trenutni Raspbian Distro, a to je Jessie u vrijeme dok ovo pišem.
Korak 2: Ono što će vam trebati
Da biste pratili ovaj projekt, evo dijelova koje ćete morati nabaviti
Evo što će vam trebati:
- 2 ili više Raspberry Pi
- SD kartice za svaki Pi
- Kabeli za napajanje za svaki Pi
- USB hub s napajanjem (opcionalno)
- Mrežni kabeli
- Središte ili usmjerivač
UKUPNI TROŠKOVI: ~ 100,00 USD
Korak 3: Instaliranje i konfiguriranje Raspbiana
Nakon što ste sakupili sve dijelove, sljedeći je korak preuzimanje i konfiguracija Raspbian OS -a na jednom od Raspberry Pi -ja. Ovo će biti vaš majstor Pi. Evo koraka:
- Preuzmite Raspbian sliku odavde.
-
Narežite Raspbian sliku na svaku SD karticu koju imate za svaku Raspberry Pi.
- Ako imate Windows, možete slijediti ove upute.
- Ako imate Mac, možete slijediti ove upute.
- Nakon što je slika narezana na vašu SD karticu, umetnite je u svaki od Raspberry Pi i pokrenite je.
-
Prilikom prvog pokretanja trebali biste vidjeti Rasbperry Pi radnu površinu. Pritisnite ikonu izbornika u gornjem lijevom kutu i idite na Postavke> Konfiguracija Raspberry Pi. Evo opcija koje ćemo trebati konfigurirati
- Proširite datotečni sustav Ako je potrebno.
- Promijenite naziv hosta u Pi01
- Promijenite opciju podizanja sustava u CLI (sučelje naredbenog retka) jer zapravo nećemo koristiti sučelje radne površine.
- Sat na kartici "Sučelja" i provjerite je li omogućen SSH.
- Pritisnite karticu "Overclock" i odaberite "Turbo".
- Promijenite memoriju GPU -a na 16 MB.
- Kliknite karticu "Lokalizacija" i postavite raspored tipkovnice tako da odgovara vašim zemljama.
- Završite konfiguraciju i ponovno pokrenite Pi.
Korak 4: Instaliranje MPICH -a
I dalje koristeći samo jedan Pi kao master, sada moramo instalirati primarni softver koji će nam omogućiti korištenje procesorske snage svih Pi -ja na našoj mreži. Taj se softver naziva MPICH, što je sučelje za prenošenje poruka. Evo što trebate učiniti da biste ga instalirali:
sudo apt-get ažuriranje
mkdir mpich2
cd ~/mpich2
wget
tar xfz mpich-3.1.tar.gz
sudo mkdir/home/rpimpi/
sudo mkdir/home/rpimpi/mpi-install
mkdir/home/pi/mpi-build
cd/home/pi/mpi-build
sudo apt-get install gfortran
sudo /home/pi/mpich2/mpich-3.1/configure -prefix =/home/rpimpi/mpi-install
sudo napraviti
sudo make install
nano.bashrc
PUT = $ PATH:/home/rpimpi/mpi-install/bin
sudo ponovno podizanje sustava
mpiexec -n 1 naziv hosta
Ove naredbe će preuzeti i instalirati MPICH, kao i dodati ga kao put do vaše BASHRC datoteke za pokretanje. Posljednja naredba pokreće test kako bi provjerila radi li. Ako zadnja naredba vrati "Pi01", onda ste sve uspješno obavili.
Korak 5: Instaliranje MPI4PY
MPICH može pokretati programe C i Fortran. No, budući da Raspberry Pi ima unaprijed instalirano Python okruženje za kodiranje, bilo bi najjednostavnije instalirati tumač Python u MPI. Evo naredbi za to:
sudo aptitude instalirajte python-dev
wget
tar -zxf mpi4py -1.3.1
cd mpi4py-1.3.1
python setup.py build
python setup.py install
izvoz PYTHONPATH =/home/pi/mpi4py-1.3.1
mpiexec -n 5 python demo/helloworld.py
Ta posljednja naredba trebala bi vratiti pet odgovora. Svaki je drugačiji proces na Pi01 koji pokreće python program "Hello World" koji smo upravo napravili.
Korak 6: Kopiranje slike
Sada kada smo uspješno konfigurirali našeg majstora Pi, moramo kopirati sliku te Pi -ove SD kartice na sve ostale Pi -je. Evo kako to možete učiniti u sustavu Windows:
- Izvadite glavnu SD karticu iz Pi i umetnite je u računalo.
- Koristeći Win32DiskImager, upotrijebite gumb "Read" za spremanje sadržaja SD kartice na vaše računalo.
- Izvadite glavnu SD karticu i umetnite SD karticu u jednu od drugih Pi kartica. Zatim upotrijebite opciju "Write" Win32DiskImager za upisivanje slike koju smo spremili na novu SD karticu.
- Ponavljajte korak 3 dok glavna slika ne bude zapisana na sve SD kartice.
Korak 7: Konfiguriranje preostalih Raspberry Pi -ja
Sada kada smo pripremili sve SD kartice, umetnite glavnu SD karticu natrag u Master Pi, povežite je s usmjerivačem i ponovno pokrenite. Zatim za preostale Raspberry Pi -jeve umetnite SD kartice u sve njih, spojite ih na isti usmjerivač kao i vaš Master Pi, a zatim ih sve pokrenite. Nijedan sekundarni Pi ne mora imati tipkovnice, miševe ili monitore.
Nakon što se svi Pi -i uključe, pomoću našeg Master Pi -a, trebali bismo moći dobiti IP adrese svakog Pi -a na mreži. Evo kako:
-
Prvo instalirajte NMAP
sudo apt-get ažuriranje
sudo apt-get install nmap
-
Zatim nabavite trenutni IP za master Pi
ifconfig
-
Sada možete skenirati podmrežu usmjerivača za druge Pi IP adrese
sudo nmap -sn 192.168.1.*
Kopirajte sve IP adrese koje se odnose na ostale Raspberry Pi na mreži. Tada ćemo se moći koristiti tim IP -ovima za povezivanje na svaki drugi Pi pomoću SSH -a. Ono što prvo moramo učiniti je preimenovati svaki od sekundarnih Pi u jedinstveni mrežni naziv. Trenutno su svi postavljeni na Pi01. Pretpostavimo da je jedna od sekundarnih Pi -ovih IP adresa 192.168.0.3, evo kako se možete povezati s njom i promijeniti joj naziv:
-
Uspostavite SSH vezu
-
Pokrenite raspi-config
sudo raspi-config
- Na sučelju se pomaknite dolje do opcije Napredno, a zatim odaberite Naziv hosta.
- Za naziv hosta promijenite Pi01 na sljedeći redni broj, a to je Pi02.
-
Zatim izađite iz SSH sesije
Izlaz
Želite ponoviti te korake za svaki drugi Pi na mreži preimenovanjem u Pi03, Pi04 itd.
Na svom master Pi -u želite stvoriti novu tekstualnu datoteku pod nazivom "machinefile"
nano strojna datoteka
U njemu želite unijeti svaku od Pi -ovih IP adresa (uključujući glavnu IP adresu) u novi redak, a zatim spremiti datoteku.
U ovom bismo trenutku mogli pokrenuti testnu datoteku pomoću
mpiexec -f strojna datoteka -n 4 ime hosta
ali će pogriješiti rekavši da je došlo do "greške pri provjeri ključa domaćina". Pa u sljedećem koraku ispravimo to.
Korak 8: Provjera ključeva domaćina
Da bismo to popravili tako da komunikacija sa svakim Pi ne dovodi do greške u provjeri ključa hosta, moramo stvoriti i zamijeniti ključeve za svaki od naših Raspberry Pi -ja. Ovaj bi se dio mogao malo zakomplicirati, ali nadam se da ćete ostati sa mnom.
-
Na Master Pi -u, u zadanoj početnoj mapi, stvorite novi ključ.
cd ~
ssh-keygen
-
Idite u mapu ssh i kopirajte datoteku ključa u novu datoteku pod nazivom "pi01"
cd.ssh
cp id_rsa.pub pi01
- Zatim se želite povezati putem SSH -a u Pi02 i ponoviti iste korake za stvaranje Pi02 datoteke ključa
ssh-keygen
cd.ssh
kp id_rsa.pub pi02
-
Prije nego što izađemo iz Pi02, moramo kopirati ključnu datoteku Pi01 u nju i autorizirati je.
scp 192.168.1.2:/home/pi/.ssh/pi01.
cat pi01 >> ovlašteni_ključevi
Izlaz
-
Kad je Pi02 gotov, ponovite sve ove korake za Pi03
ssh-keygen
cd.ssh
kp id_rsa.pub pi03
scp 192.168.1.2:/home/pi/.ssh/pi01.
cat pi01 >> ovlašteni_ključevi
Izlaz
- Ponovite posljednji korak za preostale Pi -jeve koje imate na mreži.
-
Nakon generiranja ključeva za svaki Pi, vratite se na svoj Master Pi i kopirajte sve ključeve generirane na svakom od Pi -ja.
k.č. 192.168.1.3:/home/pi/.ssh/pi02
cat pi02 >> ovlašteni_ključevi
k.č. 192.168.1.4:/home/pi/.ssh/pi03
cat pi03 >> ovlašteni_ključevi
k.č. 192.168.1.5:/home/pi/.ssh/pi02
cat pi04 >> ovlašteni_ključevi
- (ponovite za što više Pi -ja na vašoj mreži)
Korak 9: Pokretanje programa na vašem superračunalu
Sada bi sve trebalo biti postavljeno. Dok ste još na Master Pi, pokušajte ponovo pokrenuti ovu strojnu datoteku:
cd ~
mpiexec -f strojna datoteka -n 4 ime hosta
Ako je sve učinjeno ispravno, trebao bi vratiti IP adrese svih vaših Raspberry Pi. Sada kada smo uspješno testirali naše superračunalo, pokrenimo program python na njemu:
-
Preuzmite i raspakirajte moju testnu skriptu za razbijanje lozinki za Python.
wget
tar -zxf python_test.tar.gz
-
Uredite hash lozinke na onu koju želite razbiti.
nano python_test/md5_attack.py
-
Kopirajte Python datoteku na sve svoje Pi -je.
scp -r python_test 192.168.1.3:/home/pi
scp -r python_test 192.168.1.4:/home/pi
scp -r python_test 192.168.1.5:/home/pi
- (ponovite za sve preostale Pi -ove)
-
Pokrenite python skriptu.
mpiexec -f strojna datoteka -n 5 python python_test/md5_attack.py
Skripta će se izvoditi koristeći procesorsku snagu svih Pi -ja na vašoj mreži! Slobodno ga isprobajte koristeći vlastitu python skriptu!
Treća nagrada na natjecanju Raspberry Pi 2016