Съдържание:
- Стъпка 1: Гледайте видео версията
- Стъпка 2: Какво ще ви трябва
- Стъпка 3: Инсталиране и конфигуриране на Raspbian
- Стъпка 4: Инсталиране на MPICH
- Стъпка 5: Инсталиране на MPI4PY
- Стъпка 6: Копиране на изображението
- Стъпка 7: Конфигуриране на останалите Raspberry Pi
- Стъпка 8: Проверка на хост ключовете
- Стъпка 9: Стартиране на програма на вашия суперкомпютър
Видео: Как да си направим суперкомпютър Raspberry Pi!: 9 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Сам по себе си Raspberry Pi не може да се похвали с впечатляващи характеристики. Но с мръсната евтина цена, закупуването на няколко от тях и свързването им към използване на комбинираната им процесорна мощ потенциално биха могли да направят приличен компютър с ниска цена. Има построени няколко впечатляващи платформи, свързващи заедно десетки Pi. Така че в тази инструкция нека да проучим как технологията стои зад клъстерните изчисления и да направим свой собствен Bramble Pi!
Стъпка 1: Гледайте видео версията
Направих и видео част от две части на същия този проект. Така че, ако не сте за четене, отстъпете и гледайте видеоклиповете! Моля, обърнете внимание, че видео версията използва Raspbian Wheezy. Инструкциите по -долу обаче са за текущия Raspbian Distro, който е Джеси по времето, когато пиша това.
Стъпка 2: Какво ще ви трябва
За да следвате този проект, ето частите, които ще трябва да придобиете
Ето какво ще ви трябва:
- 2 или повече Raspberry Pi
- SD карти за всеки Pi
- Захранващи кабели за всеки Pi
- Захранван USB хъб (по избор)
- Мрежови кабели
- Хъб или рутер
ОБЩИ РАЗХОДИ: ~ $ 100.00
Стъпка 3: Инсталиране и конфигуриране на Raspbian
След като имате всички части, следващата стъпка е да изтеглите и конфигурирате Raspbian OS на една от Raspberry Pi. Това ще бъде вашият господар Пи. Ето стъпките:
- Изтеглете Raspbian изображение от тук.
-
Запишете изображението на Raspbian на всяка SD карта, която имате за всеки Raspberry Pi.
- Ако имате Windows, можете да следвате тези инструкции.
- Ако имате Mac, можете да следвате тези инструкции.
- След като изображението бъде записано на вашата SD карта, поставете го във всяка от Raspberry Pi и го стартирайте.
-
При първото зареждане трябва да видите работния плот на Rasbperry Pi. Щракнете върху иконата на менюто в горния ляв ъгъл и отидете на Предпочитания> Конфигурация на Raspberry Pi. Ето опциите, които ще трябва да конфигурираме
- Разгънете файловата система, ако е необходимо.
- Променете името на хоста на Pi01
- Променете опцията за зареждане на CLI (интерфейс на командния ред), тъй като всъщност няма да използваме интерфейса на работния плот.
- Часовник в раздела "Интерфейси" и се уверете, че SSH е активиран.
- Кликнете върху раздела „Overclock“и изберете „Turbo“.
- Променете паметта на графичния процесор на 16mb.
- Кликнете върху раздела „Локализация“и задайте подредбата на клавиатурата си така, че да съответства на тази на вашите държави.
- Завършете конфигурацията и рестартирайте Pi.
Стъпка 4: Инсталиране на MPICH
Все още използвайки само един Pi като главен, сега трябва да инсталираме основния софтуер, който ще ни позволи да използваме процесорната мощ на всички Pi в нашата мрежа. Този софтуер се нарича MPICH, който е интерфейс за предаване на съобщения. Ето какво трябва да направите, за да го инсталирате:
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 make
sudo make install
nano.bashrc
PATH = $ PATH:/home/rpimpi/mpi-install/bin
sudo рестартиране
mpiexec -n 1 име на хост
Тези команди ще изтеглят и инсталират MPICH, както и ще го добавят като път към вашия зареждащ файл BASHRC. Последната команда изпълнява тест, за да види дали работи. Ако последната команда връща „Pi01“, значи сте направили всичко успешно.
Стъпка 5: Инсталиране на MPI4PY
Както е, MPICH може да изпълнява програми на C и Fortran. Но тъй като Raspberry Pi има предварително инсталирана среда за кодиране на Python, би било най-лесно да инсталирате интерпретатор на Python към MPI. Ето командите за това:
sudo aptitude инсталирате python-dev
wget
tar -zxf mpi4py -1.3.1
cd mpi4py-1.3.1
python setup.py build
python setup.py install
експортиране на PYTHONPATH =/home/pi/mpi4py-1.3.1
mpiexec -n 5 python demo/helloworld.py
Последната команда трябва да върне пет отговора. Всеки от тях е различен процес на Pi01, изпълняващ програмата на Python „Hello World“, която току -що направихме.
Стъпка 6: Копиране на изображението
Сега, когато успешно конфигурирахме нашия главен Pi, трябва да копираме изображението на SD картата на Pi на всички останали Pi. Ето как можете да направите това в Windows:
- Извадете основната SD карта от Pi и я поставете в компютъра си.
- Използвайки Win32DiskImager, използвайте бутона "Четене", за да запазите съдържанието на SD картата на вашия компютър.
- Извадете основната SD карта и поставете SD карта за една от другите Pi. След това използвайте опцията "Запис" на Win32DiskImager, за да запишете изображението, което сме запазили на новата SD карта.
- Повторете стъпка 3, докато главното изображение бъде записано на всички SD карти.
Стъпка 7: Конфигуриране на останалите Raspberry Pi
Сега, когато сме подготвили всички SD карти, поставете Master SD картата обратно в Master Pi, свържете я с рутер и я стартирайте отново. След това за останалите Raspberry Pi поставете SD карти във всички тях, свържете ги към същия рутер като вашия Master Pi и след това ги стартирайте. Никой от второстепенните Pi не трябва да има клавиатури, мишки или монитори.
След като всички Pi са включени, използвайки нашия Master Pi, би трябвало да можем да получим IP адресите на всеки Pi в мрежата. Ето как:
-
Първо инсталирайте NMAP
sudo apt-get update
sudo apt-get install nmap
-
След това вземете текущия IP за главния Pi
ifconfig
-
Сега можете да сканирате подмрежата на рутерите си за другите IP IP адреси
sudo nmap -sn 192.168.1.*
Копирайте всички IP адреси, които се отнасят до другите Raspberry Pi в мрежата. След това ще можем да използваме тези IP адреси, за да се свържем към всеки от другите Pi, използвайки SSH. Това, което първо трябва да направим, е да преименуваме всеки от вторичните Pi на уникално мрежово име. В момента всички са настроени на Pi01. Ако приемем, че един от вторичните IP адреси на Pi е 192.168.0.3, ето как можете да се свържете с него и да промените името му:
-
Установете SSH връзка
-
Стартирайте raspi-config
sudo raspi-config
- В интерфейса превъртете надолу до опцията Разширени и след това изберете Име на хост.
- За името на хоста променете Pi01 на следващия пореден номер, който е Pi02.
-
След това излезте от SSH сесията
изход
Искате да повторите тези стъпки за всеки от другите Pi в мрежата, като ги преименувате на Pi03, Pi04 и т.н.
На вашия master Pi искате да създадете нов текстов файл, наречен "machinefile"
нано машинен файл
И в него искате да въведете всеки от IP адресите на Pi (включително главния IP адрес) на нов ред и след това да запишете файла.
На този етап можем да стартираме тестов файл, използвайки
mpiexec -f machinefile -n 4 име на хост
но ще греши, като казва, че е имало „неуспешна проверка на ключа на хоста“. Така че в следващата стъпка нека поправим това.
Стъпка 8: Проверка на хост ключовете
За да го поправим, така че комуникацията с всеки Pi да не доведе до грешка при проверка на хост ключ, трябва да създадем и разменим ключове за всеки от нашите Raspberry Pi. Тази част може да се усложни леко, но се надявам, че можете да останете с мен.
-
На Master Pi, в началната папка по подразбиране, създайте нов ключ.
cd ~
ssh-keygen
-
Придвижете се до папката ssh и копирайте ключовия файл в нов файл, наречен "pi01"
cd.ssh
cp id_rsa.pub pi01
-
След това искате да се свържете чрез SSH към Pi02 и да повторите същите стъпки, за да създадете ключов файл Pi02
ssh-keygen
cd.ssh
cp id_rsa.pub pi02
-
Преди да излезем от Pi02, трябва да копираме ключовия файл Pi01 към него и да го оторизираме.
scp 192.168.1.2:/home/pi/.ssh/pi01.
cat pi01 >> оторизирани_ключове
изход
-
С Pi02 готово, повторете всички тези стъпки за Pi03
ssh-keygen
cd.ssh
cp id_rsa.pub pi03
scp 192.168.1.2:/home/pi/.ssh/pi01.
cat pi01 >> оторизирани_ключове
изход
- Повторете последната стъпка за останалите Pi, които имате в мрежата си.
-
След като генерирате ключове за всеки от Pi, излезте обратно към вашия Master Pi и копирайте всички ключове, генерирани на всеки от Pi.
cp 192.168.1.3:/home/pi/.ssh/pi02
котка pi02 >> оторизирани_ключове
cp 192.168.1.4:/home/pi/.ssh/pi03
cat pi03 >> оторизирани_ключове
cp 192.168.1.5:/home/pi/.ssh/pi02
cat pi04 >> оторизирани_ключове
- (повторете за толкова много Pi в мрежата ви)
Стъпка 9: Стартиране на програма на вашия суперкомпютър
Сега всичко трябва да бъде настроено. Докато все още сте на вашия Master Pi, опитайте да стартирате този машинен файл отново:
cd ~
mpiexec -f machinefile -n 4 име на хост
Ако всичко е направено правилно, то трябва да върне IP адресите на всичките ви Raspberry Pi. Сега, когато успешно изпробвахме нашия суперкомпютър, нека стартираме програма на python:
-
Изтеглете и разархивирайте моя тестов скрипт за разбиване на парола на Python.
wget
tar -zxf python_test.tar.gz
-
Редактирайте хеша на паролата на такъв, който искате да пропуснете.
nano python_test/md5_attack.py
-
Копирайте файла Python във всичките си Pi.
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
- (повторете за всички останали Pi)
-
Стартирайте скрипта на python.
mpiexec -f машинен файл -n 5 python python_test/md5_attack.py
Скриптът ще работи, използвайки процесорната мощ на всички Pi във вашата мрежа! Чувствайте се свободни да го тествате, като използвате свой собствен скрипт на python!
Трета награда в конкурса Raspberry Pi 2016
Препоръчано:
Как да си направим безжичен телефон с консерва! (Уоки токи Arduino): 7 стъпки (със снимки)
Как да си направим безжичен телефон с консерва! (Ардуино уоки токи): Точно онзи ден бях в средата на много важно телефонно обаждане, когато банановият ми телефон спря да работи! Бях толкова разочарован. Това е последният път, когато пропускам обаждане заради този глупав телефон! (Като се върна назад, може би малко се ядосах
Как да си направим баркап аркада за двама играчи със слотове за монети по поръчка, използвайки кутия на Пандора: 17 стъпки (със снимки)
Как да си направим баркап аркада за двама играчи с персонализирани слотове за монети, използвайки кутия на Pandora: Това е стъпка по стъпка урок за това как да се изгради най -горната аркадна машина с 2 играчи, която има вградени слотове за монети по избор. Слотовете за монети ще бъдат направени така, че да приемат само монети с размер на четвъртинки и по -големи. Тази аркада се захранва
Музикална реактивна светлина -- Как да направим супер проста музикална реактивна светлина, за да направим работния плот привлекателен .: 5 стъпки (със снимки)
Музикална реактивна светлина || Как да направим супер проста музикална реактивна светлина за създаване на страхотен работен плот. Хей какво става, момчета, днес ще изградим много интересен проект. Днес ще изградим реактивна музикална светлина. Светодиодът ще промени яркостта си според басът, който всъщност е нискочестотен аудио сигнал. Изграждането му е много просто. Ние ще
Как да си направим променящ се цвят шал със светла изкуствена кожа: 11 стъпки (със снимки)
Как да си направим шал с изкуствена кожа с промяна на цвета: Ето няколко съвета за създаване на размит светещ шал с променящи цвета светодиоди, със сравнително прост процес, подходящ за хора с ограничен опит в шиенето или запояването. Обективът на всеки от тези RGB светодиоди съдържа свой собствен червен
Как да си направим календар на баба и дядо & Записник (дори ако не знаете как да записвате): 8 стъпки (със снимки)
Как да си направим календар на баба и дядо & Записник (дори и да не знаете как да записвате): Това е много икономичен (и много ценен!) Празничен подарък за баби и дядовци. Направих 5 календара тази година за по -малко от $ 7 всеки. Материали: 12 страхотни снимки на вашето дете, деца, племенници, племенници, кучета, котки или други роднини12 различни парчета