Inhoudsopgave:

Hoe maak je een Raspberry Pi SuperComputer! 9 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe maak je een Raspberry Pi SuperComputer! 9 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"

Video: Hoe maak je een Raspberry Pi SuperComputer! 9 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"

Video: Hoe maak je een Raspberry Pi SuperComputer! 9 stappen (met afbeeldingen) Antwoorden op al uw
Video: Hoe maak je een NAS met een Raspberry Pi en OpenMediaVault - deel 3 2024, November
Anonim
Hoe maak je een Raspberry Pi SuperComputer!
Hoe maak je een Raspberry Pi SuperComputer!

Op zichzelf heeft de Raspberry Pi geen indrukwekkende specificaties. Maar met de spotgoedkope prijs, zou het kopen van een aantal hiervan en het aansluiten ervan om ze te gebruiken gecombineerde verwerkingskracht mogelijk een fatsoenlijke goedkope computer kunnen maken. Er zijn verschillende indrukwekkende rigs gebouwd die tientallen Pi's met elkaar verbinden. Dus laten we in deze instructable eens kijken hoe de technologie achter clustercomputing en onze eigen Bramble Pi maken!

Stap 1: Bekijk de videoversie

Image
Image

Ik heb ook een tweedelige videoversie gemaakt van exact hetzelfde project. Dus als je niet iemand bent die leest, leun dan achterover en bekijk de video's! Houd er rekening mee dat de videoversie Raspbian Wheezy gebruikt. De onderstaande instructies zijn echter voor de huidige Raspbian Distro, dat is Jessie op het moment dat ik dit schrijf.

Stap 2: Wat heb je nodig?

Om dit project te volgen, zijn hier de onderdelen die u moet aanschaffen:

Dit is wat je nodig hebt:

  1. 2 of meer Raspberry Pi's
  2. SD-kaarten voor elke Pi
  3. Stroomkabels voor elke Pi
  4. Aangedreven USB-hub (optioneel)
  5. Netwerkkabels
  6. Een hub of een router

TOTALE KOSTEN: ~ $ 100,00

Stap 3: Raspbian installeren en configureren

Raspbian installeren en configureren
Raspbian installeren en configureren
Raspbian installeren en configureren
Raspbian installeren en configureren

Zodra je alle onderdelen hebt, is de volgende stap het downloaden en configureren van Raspbian OS op een van de Raspberry Pi's. Dit wordt je meester Pi. Dit zijn de stappen:

  1. Download hier de Raspbian-afbeelding.
  2. Brand de Raspbian-afbeelding op elke SD-kaart die je hebt voor elke Raspberry Pi.

    1. Als je Windows hebt, kun je deze instructies volgen.
    2. Als je een Mac hebt, kun je deze instructies volgen.
  3. Zodra de afbeelding op uw SD-kaart is gebrand, plaatst u deze in elk van de Raspberry Pi en start u deze op.
  4. Bij de eerste keer opstarten zou je de Rasbberry Pi Desktop moeten zien. Klik op het menupictogram in de linkerbovenhoek en ga naar Voorkeuren > Raspberry Pi-configuratie. Dit zijn de opties die we moeten configureren:

    1. Vouw indien nodig het bestandssysteem uit.
    2. Verander de hostnaam in Pi01
    3. Verander de opstartoptie in CLI (Command Line Interface), aangezien we de Desktop Interface niet echt zullen gebruiken.
    4. Klok op het tabblad "Interfaces" en zorg ervoor dat SSH is ingeschakeld.
    5. Klik op het tabblad "Overklokken" en kies "Turbo".
    6. Wijzig het GPU-geheugen in 16 MB.
    7. Klik op het tabblad "Lokalisatie" en stel uw toetsenbordindeling in op die van uw landen.
    8. Voltooi de configuratie en start je Pi opnieuw op.

Stap 4: MPICH. installeren

MPICH. installeren
MPICH. installeren
MPICH. installeren
MPICH. installeren
MPICH. installeren
MPICH. installeren
MPICH. installeren
MPICH. installeren

We gebruiken nog steeds alleen die ene Pi als master, maar we moeten nu de primaire software installeren waarmee we de verwerkingskracht van alle Pi's op ons netwerk kunnen gebruiken. Die software heet MPICH, wat een Message Passing Interface is. Dit is wat u moet doen om het te installeren:

sudo apt-get update

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 maken

sudo make install

nano.bashrc

PATH=$PATH:/home/rpimpi/mpi-install/bin

sudo reboot

mpiexec -n 1 hostnaam

Deze commando's zullen MPICH downloaden en installeren, en het ook toevoegen als een pad naar je BASHRC-opstartbestand. Het laatste commando voert een test uit om te zien of het werkt. Als de laatste opdracht "Pi01" retourneert, hebt u alles met succes gedaan.

Stap 5: MPI4PY installeren

MPI4PY installeren
MPI4PY installeren
MPI4PY installeren
MPI4PY installeren
MPI4PY installeren
MPI4PY installeren

Zoals het is, kan MPICH C- en Fortran-programma's uitvoeren. Maar aangezien de Raspberry Pi de Python-coderingsomgeving vooraf heeft geïnstalleerd, zou het het gemakkelijkst zijn om een Python-naar-MPI-interpreter te installeren. Hier zijn de opdrachten om dat te doen:

sudo aptitude installeer python-dev

wget

tar -zxf mpi4py-1.3.1

cd mpi4py-1.3.1

python setup.py bouwen

python setup.py installeren

export PYTHONPATH=/home/pi/mpi4py-1.3.1

mpiexec -n 5 python demo/helloworld.py

Die laatste opdracht zou vijf reacties moeten opleveren. Elk is een ander proces op Pi01 met het python-programma "Hello World" dat we zojuist hebben gemaakt.

Stap 6: De afbeelding kopiëren

De afbeelding kopiëren
De afbeelding kopiëren

Nu we onze master Pi met succes hebben geconfigureerd, moeten we de SD-kaartafbeelding van die Pi naar alle andere Pi's kopiëren. Hier leest u hoe u dat kunt doen in Windows:

  1. Haal de master SD-kaart uit de Pi en plaats deze in uw computer.
  2. Gebruik Win32DiskImager en gebruik de knop "Lezen" om de inhoud van de SD-kaart op uw computer op te slaan.
  3. Werp de master SD-kaart uit en plaats een SD-kaart voor een van de andere Pi's. Gebruik vervolgens de Win32DiskImager "Write"-optie om de afbeelding die we hebben opgeslagen naar de nieuwe SD-kaart te schrijven.
  4. Herhaal stap 3 totdat u de hoofdafbeelding naar alle SD-kaarten hebt geschreven.

Stap 7: De overige Raspberry Pi's configureren

De resterende Raspberry Pi's configureren
De resterende Raspberry Pi's configureren
De resterende Raspberry Pi's configureren
De resterende Raspberry Pi's configureren
De resterende Raspberry Pi's configureren
De resterende Raspberry Pi's configureren

Nu we alle SD-kaarten hebben voorbereid, plaatst u de Master SD-kaart terug in de Master Pi, sluit u deze aan op een router en start u hem weer op. Steek dan voor de resterende Raspberry Pi's SD-kaarten in ze allemaal, verbind ze met dezelfde router als je Master Pi en start ze vervolgens allemaal op. Geen van de secundaire Pi's hoeft toetsenborden, muizen of monitoren te hebben.

Zodra alle Pi's zijn ingeschakeld, met behulp van onze Master Pi, zouden we de IP-adressen van elke Pi op het netwerk moeten kunnen krijgen. Hier is hoe:

  1. Installeer eerst NMAP

    sudo apt-get update

    sudo apt-get install nmap

  2. Haal dan het huidige IP-adres op voor de master Pi

    ifconfig

  3. Nu kunt u het subnet van uw router scannen op de andere Pi IP-adressen

    sudo nmap -sn 192.168.1.*

Kopieer alle IP-adressen die betrekking hebben op de andere Raspberry Pi's op het netwerk. We kunnen dan die IP's gebruiken om verbinding te maken met elk van de andere Pi's via SSH. Wat we eerst moeten doen, is elk van de secundaire Pi's hernoemen naar een unieke netwerknaam. Op dit moment zijn ze allemaal ingesteld op Pi01. Ervan uitgaande dat een van de IP-adressen van de secundaire Pi 192.168.0.3 is, kun je er als volgt verbinding mee maken en de naam wijzigen:

  1. Breng een SSH-verbinding tot stand

    ssh [email protected]

  2. Voer raspi-config uit

    sudo raspi-config

  3. Blader in de interface omlaag naar de optie Geavanceerd en kies vervolgens Hostnaam.
  4. Wijzig voor de hostnaam Pi01 in het volgende volgnummer, namelijk Pi02.
  5. Sluit vervolgens de SSH-sessie af

    Uitgang

U wilt die stappen herhalen voor elk van de andere Pi's op het netwerk en ze hernoemen naar Pi03, Pi04, enz.

Op je master Pi wil je een nieuw tekstbestand maken met de naam "machinefile"

nano machinebestand

En daarin wil je elk van de IP-adressen van de Pi (inclusief het hoofd-IP-adres) op een nieuwe regel typen en vervolgens het bestand opslaan.

Op dit punt kunnen we een testbestand uitvoeren met

mpiexec -f machinefile -n 4 hostnaam

maar het geeft een foutmelding dat er een "hostsleutelverificatiefout" is opgetreden. Laten we dat in de volgende stap oplossen.

Stap 8: Hostsleutels verifiëren

Hostsleutels verifiëren
Hostsleutels verifiëren
Hostsleutels verifiëren
Hostsleutels verifiëren
Hostsleutels verifiëren
Hostsleutels verifiëren

Om dit op te lossen, zodat communicatie met elke Pi niet resulteert in een mislukte verificatie van de hostsleutel, moeten we sleutels maken en verwisselen voor elk van onze Raspberry Pi's. Dit deel kan een beetje ingewikkeld worden, maar hopelijk kun je bij me blijven.

  1. Maak op de Master Pi, in de standaard thuismap, een nieuwe sleutel.

    cd~

    ssh-keygen

  2. Navigeer naar de ssh-map en kopieer het sleutelbestand naar een nieuw bestand met de naam "pi01"

    cd.ssh

    cp id_rsa.pub pi01

  3. Vervolgens wil je via SSH verbinding maken met Pi02 en dezelfde stappen herhalen om een Pi02-sleutelbestand te maken

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi02

  4. Voordat we Pi02 verlaten, moeten we het Pi01-sleutelbestand ernaar kopiëren en autoriseren.

    scp 192.168.1.2:/home/pi/.ssh/pi01.

    cat pi01 >> geautoriseerde_sleutels

    Uitgang

  5. Als Pi02 klaar is, herhaalt u al die stappen voor Pi03

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi03

    scp 192.168.1.2:/home/pi/.ssh/pi01.

    cat pi01 >> geautoriseerde_sleutels

    Uitgang

  6. Herhaal de laatste stap voor de overige Pi's die je op je netwerk hebt staan.
  7. Na het genereren van sleutels voor elk van de Pi's, ga je terug naar je Master Pi en kopieer je alle sleutels die op elk van de Pi's zijn gegenereerd.

    cp 192.168.1.3:/home/pi/.ssh/pi02

    cat pi02 >> geautoriseerde_sleutels

    cp 192.168.1.4:/home/pi/.ssh/pi03

    cat pi03 >> geautoriseerde_sleutels

    cp 192.168.1.5:/home/pi/.ssh/pi02

    cat pi04 >> geautoriseerde_sleutels

  8. (herhalen voor zoveel Pi's op je netwerk)

Stap 9: Een programma uitvoeren op uw supercomputer

Een programma uitvoeren op uw supercomputer
Een programma uitvoeren op uw supercomputer
Een programma uitvoeren op uw supercomputer
Een programma uitvoeren op uw supercomputer
Een programma uitvoeren op uw supercomputer
Een programma uitvoeren op uw supercomputer

Nu moet alles worden ingesteld. Probeer, terwijl je nog op je Master Pi staat, dit machinebestand opnieuw uit te voeren:

cd ~

mpiexec -f machinefile -n 4 hostnaam

Als alles correct is gedaan, zou het de IP-adressen van al je Raspberry Pi's moeten retourneren. Nu we onze supercomputer met succes hebben getest, laten we er een python-programma op uitvoeren:

  1. Download en pak mijn test Python-wachtwoordkrakende script uit.

    wget

    tar -zxf python_test.tar.gz

  2. Bewerk de wachtwoord-hash naar een die u wilt kraken.

    nano python_test/md5_attack.py

  3. Kopieer het Python-bestand naar al je Pi's.

    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

  4. (herhaal voor alle resterende Pi's)
  5. Voer het python-script uit.

    mpiexec -f machinefile -n 5 python python_test/md5_attack.py

Het script wordt uitgevoerd met behulp van de verwerkingskracht van alle Pi's op uw netwerk! Voel je vrij om het uit te testen met je eigen python-script!

Raspberry Pi-wedstrijd 2016
Raspberry Pi-wedstrijd 2016
Raspberry Pi-wedstrijd 2016
Raspberry Pi-wedstrijd 2016

Derde prijs in de Raspberry Pi-wedstrijd 2016

Aanbevolen: