Innehållsförteckning:

Hur man gör en Raspberry Pi SuperComputer!: 9 steg (med bilder)
Hur man gör en Raspberry Pi SuperComputer!: 9 steg (med bilder)

Video: Hur man gör en Raspberry Pi SuperComputer!: 9 steg (med bilder)

Video: Hur man gör en Raspberry Pi SuperComputer!: 9 steg (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juli
Anonim
Hur man gör en Raspberry Pi SuperDator!
Hur man gör en Raspberry Pi SuperDator!

I sig har Raspberry Pi inte imponerande specifikationer. Men med det smutsiga billiga priset, att köpa flera av dessa och ansluta dem för att använda de kombinerade processorkraften kan potentiellt göra en anständig lågkostnadsdator. Det har byggts flera imponerande riggar som ansluter dussintals Pi -enheter tillsammans. Så i denna instruerbara, låt oss utforska hur tekniken bakom klusterdatorn och göra vår egen Bramble Pi!

Steg 1: Titta på videoversionen

Image
Image

Jag har också gjort en tvådelad videoversion av exakt samma projekt. Så om du inte är en för att läsa, luta dig tillbaka och titta på videor! Observera att videoversionen använder Raspbian Wheezy. Instruktionerna nedan gäller dock den nuvarande Raspbian Distro, som är Jessie när jag skriver detta.

Steg 2: Vad du behöver

För att följa med detta projekt, här är de delar du måste skaffa

Här är vad du behöver:

  1. 2 eller fler Raspberry Pi
  2. SD -kort för varje Pi
  3. Strömkablar för varje Pi
  4. Driven USB -hubb (tillval)
  5. Nätverkskablar
  6. En hubb eller en router

TOTALA KOSTNADER: ~ $ 100,00

Steg 3: Installera och konfigurera Raspbian

Installera och konfigurera Raspbian
Installera och konfigurera Raspbian
Installera och konfigurera Raspbian
Installera och konfigurera Raspbian

När du har alla delar är nästa steg att ladda ner och konfigurera Raspbian OS på en av Raspberry Pi. Detta kommer att vara din mästare Pi. Här är stegen:

  1. Ladda ner Raspbian -bilden härifrån.
  2. Bränn Raspbian -bilden till varje SD -kort du har för varje Raspberry Pi.

    1. Om du har Windows kan du följa dessa instruktioner.
    2. Om du har en Mac kan du följa dessa instruktioner.
  3. När bilden är bränd till ditt SD -kort lägger du den i var och en av Raspberry Pi och startar upp den.
  4. Vid första start bör du se Rasbperry Pi Desktop. Klicka på menyikonen i det övre vänstra hörnet och gå till Inställningar> Raspberry Pi -konfiguration. Här är alternativen vi behöver konfigurera
    1. Expandera filsystemet Om det behövs.
    2. Ändra värdnamnet till Pi01
    3. Ändra startalternativet till CLI (Command Line Interface), eftersom vi inte riktigt kommer att använda Desktop Interface.
    4. Klocka på fliken "Gränssnitt" och se till att SSH är aktiverat.
    5. Klicka på fliken "Överklockning" och välj "Turbo".
    6. Ändra GPU -minnet till 16 MB.
    7. Klicka på fliken "Lokalisering" och ställ in din tangentbordslayout så att den matchar ditt lands.
    8. Slutför konfigurationen och starta om din Pi.

Steg 4: Installera MPICH

Installera MPICH
Installera MPICH
Installera MPICH
Installera MPICH
Installera MPICH
Installera MPICH
Installera MPICH
Installera MPICH

Fortfarande använder vi bara Pi som master, måste vi nu installera den primära programvaran som kommer att tillåta oss att använda processorkraften för alla Pi: er i vårt nätverk. Den programvaran kallas MPICH, som är ett meddelandepassande gränssnitt. Här är vad du behöver göra för att installera det:

sudo apt-get uppdatering

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 gör

sudo gör installationen

nano.bashrc

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

sudo starta om

mpiexec -n 1 värdnamn

Dessa kommandon kommer att ladda ner och installera MPICH, samt lägga till det som en sökväg till din BASHRC -startfil. Det sista kommandot kör ett test för att se om det fungerar. Om det sista kommandot returnerar "Pi01", gjorde du allt framgångsrikt.

Steg 5: Installera MPI4PY

Installera MPI4PY
Installera MPI4PY
Installera MPI4PY
Installera MPI4PY
Installera MPI4PY
Installera MPI4PY

Som det är kan MPICH köra C- och Fortran -program. Men eftersom Raspberry Pi har Python-kodningsmiljön förinstallerad är det enklast att installera en Python till MPI-tolk. Här är kommandona för att göra det:

sudo aptitude installera python-dev

wget

tar -zxf mpi4py -1.3.1

cd mpi4py-1.3.1

python setup.py build

python setup.py installera

exportera PYTHONPATH =/home/pi/mpi4py-1.3.1

mpiexec -n 5 python demo/helloworld.py

Det sista kommandot bör returnera fem svar. Var och en är en annan process när Pi01 kör pythonprogrammet "Hello World" som vi just gjort.

Steg 6: Kopiera bilden

Kopiera bilden
Kopiera bilden

Nu när vi har konfigurerat vår master Pi framgångsrikt måste vi kopiera den Pi: s SD -kortbild till alla andra Pi. Så här kan du göra det i Windows:

  1. Ta ut huvud -SD -kortet ur Pi och sätt in det i din dator.
  2. Använd Win32DiskImager, använd "Läs" -knappen för att spara innehållet på SD -kortet på din dator.
  3. Mata ut huvud -SD -kortet och sätt i ett SD -kort för en av de andra Pi: erna. Använd sedan alternativet "Skriv" för Win32DiskImager för att skriva bilden vi sparade på det nya SD -kortet.
  4. Upprepa steg 3 tills du har huvudbilden skriven till alla SD -kort.

Steg 7: Konfigurera återstående Raspberry Pi

Konfigurera återstående Raspberry Pi
Konfigurera återstående Raspberry Pi
Konfigurera återstående Raspberry Pi
Konfigurera återstående Raspberry Pi
Konfigurera återstående Raspberry Pi
Konfigurera återstående Raspberry Pi

Nu när vi har alla SD -kort förberedda, sätt tillbaka Master SD -kortet i Master Pi, anslut det till en router och starta det igen. För de återstående Raspberry Pi -enheterna sätter du i SD -kort i dem alla, ansluter dem till samma router som din Master Pi och startar sedan upp dem alla. Ingen av de sekundära Pi: n behöver ha tangentbord, möss eller bildskärmar.

När alla Pi är påslagen, med hjälp av vår Master Pi, bör vi kunna få IP -adresserna för varje Pi i nätverket. Här är hur:

  1. Installera först NMAP

    sudo apt-get uppdatering

    sudo apt-get install nmap

  2. Få sedan den aktuella IP -adressen för master Pi

    ifconfig

  3. Nu kan du skanna ditt routers subnät efter de andra Pi -IP -adresserna

    sudo nmap -sn 192.168.1.*

Kopiera ner alla IP -adresser som hör till de andra Raspberry Pi i nätverket. Vi kommer då att kunna använda dessa IP: er för att ansluta till var och en av de andra Pi: erna med SSH. Det vi måste göra först är att byta namn på var och en av de sekundära Pi: erna till ett unikt nätverksnamn. Just nu är de alla inställda på Pi01. Antag att en av de sekundära Pi: s IP -adresser är 192.168.0.3, så här kan du ansluta till den och ändra dess namn:

  1. Upprätta en SSH -anslutning

    ssh [email protected]

  2. Kör raspi-config

    sudo raspi-config

  3. I gränssnittet, rulla ner till alternativet Avancerat och välj sedan Värdnamn.
  4. För värdnamnet, ändra Pi01 till nästa sekvensnummer, vilket är Pi02.
  5. Avsluta sedan från SSH -sessionen

    utgång

Du vill upprepa dessa steg för var och en av de andra Pi: erna i nätverket och byta namn på dem till Pi03, Pi04, etc.

På din master Pi vill du skapa en ny textfil som heter "maskinfil"

nanomaskinfil

Och i den vill du skriva in var och en av Pi: s IP -adresser (inklusive Master IP -adressen) på en ny rad och sedan spara filen.

Vid denna tidpunkt kan vi köra en testfil med

mpiexec -f machinefile -n 4 värdnamn

men det kommer fel att säga att det var ett "värdnyckelverifieringsfel". Så i nästa steg, låt oss fixa det.

Steg 8: Verifiera värdnycklar

Verifierar värdnycklar
Verifierar värdnycklar
Verifierar värdnycklar
Verifierar värdnycklar
Verifierar värdnycklar
Verifierar värdnycklar

För att fixa det så att kommunikation med varje Pi inte resulterar i ett värdnyckelverifieringsfel måste vi skapa och byta nycklar för var och en av våra Raspberry Pi. Den här delen kan bli lite komplicerad, men förhoppningsvis kan du stanna hos mig.

  1. På Master Pi, i standardmappen för hem, skapar du en ny nyckel.

    cd ~

    ssh-keygen

  2. Navigera till ssh -mappen och kopiera nyckelfilen till en ny fil som heter "pi01"

    cd.ssh

    cp id_rsa.pub pi01

  3. Därefter vill du ansluta via SSH till Pi02 och upprepa samma steg för att skapa en Pi02 -nyckelfil

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi02

  4. Innan vi lämnar Pi02 måste vi kopiera Pi01 -nyckelfilen till den och godkänna den.

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

    cat pi01 >> autoriserade_nycklar

    utgång

  5. Med Pi02 klar, upprepa alla dessa steg för Pi03

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi03

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

    cat pi01 >> autoriserade_nycklar

    utgång

  6. Upprepa det sista steget för de återstående Pi som du har på ditt nätverk.
  7. Efter att ha genererat nycklar för var och en av Pi: erna, gå tillbaka till din Master Pi och kopiera över alla nycklar som genereras på var och en av Pi: erna.

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

    cat pi02 >> autoriserade_nycklar

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

    cat pi03 >> autoriserade_nycklar

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

    cat pi04 >> autoriserade_nycklar

  8. (upprepa för så många Pi: er finns i ditt nätverk)

Steg 9: Kör ett program på din superdator

Kör ett program på din superdator
Kör ett program på din superdator
Kör ett program på din superdator
Kör ett program på din superdator
Kör ett program på din superdator
Kör ett program på din superdator

Nu ska allt vara upplagt. Medan du fortfarande är på din Master Pi, försök att köra denna maskinfil igen:

cd ~

mpiexec -f machinefile -n 4 värdnamn

Om allt gjordes korrekt borde det returnera IP -adresserna för alla dina Raspberry Pi. Nu när vi har testat vår superdator, kan vi köra ett pythonprogram på den:

  1. Ladda ner och packa upp mitt test Python -lösenordsprickskript.

    wget

    tar -zxf python_test.tar.gz

  2. Redigera lösenordshashen till en som du vill knäcka.

    nano python_test/md5_attack.py

  3. Kopiera Python -filen till alla dina Pi: er.

    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. (upprepa för alla återstående Pi)
  5. Kör python -skriptet.

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

Skriptet körs med processorkraften för alla Pi: er på ditt nätverk! Testa det gärna med ditt eget python -skript!

Raspberry Pi Contest 2016
Raspberry Pi Contest 2016
Raspberry Pi Contest 2016
Raspberry Pi Contest 2016

Tredje priset i Raspberry Pi Contest 2016

Rekommenderad: