
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Сам по себе Raspberry Pi не может похвастаться впечатляющими характеристиками. Но с очень низкой ценой покупка нескольких из них и подключение их для использования их объединенной вычислительной мощности потенциально может сделать приличный недорогой компьютер. Было построено несколько впечатляющих буровых установок, соединяющих вместе десятки Пи. Итак, в этом руководстве давайте исследуем технологию кластерных вычислений и создадим наш собственный Bramble Pi!
Шаг 1. Посмотрите видеоверсию


Я также сделал видеоверсию из двух частей того же самого проекта. Так что, если вы не из тех, кто читает, расслабьтесь и посмотрите видео! Обратите внимание, что в видео-версии используется Raspbian Wheezy. Однако приведенные ниже инструкции относятся к текущему дистрибутиву Raspbian, которым на момент написания этой статьи является Джесси.
Шаг 2: что вам понадобится
Чтобы продолжить этот проект, вот детали, которые вам нужно будет приобрести.
Вот что вам понадобится:
- 2 или более Raspberry Pi
- SD-карты для каждого Пи
- Кабели питания для каждого 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 включен.
- Щелкните вкладку «Разгон» и выберите «Турбо».
- Измените память GPU на 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 / главная / rpimpi /
sudo mkdir / главная / rpimpi / mpi-install
mkdir / главная / пи / 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
нано.bashrc
ПУТЬ = $ ПУТЬ: / 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
компакт-диск mpi4py-1.3.1
сборка python setup.py
установка python setup.py
экспорт PYTHONPATH = / home / pi / mpi4py-1.3.1
mpiexec -n 5 демонстрация Python / 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-карты, вставьте основную 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-адресов Pi.
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
- В интерфейсе прокрутите вниз до опции Advanced, а затем выберите Hostname.
- В качестве имени хоста измените Pi01 на следующий порядковый номер, которым является Pi02.
-
Затем выйдите из сеанса SSH
выход
Вы хотите повторить эти шаги для каждого из остальных Pi в сети, переименовав их в Pi03, Pi04 и т. Д.
На вашем главном Pi вы хотите создать новый текстовый файл под названием "machinefile"
нано машинный файл
И в нем вы хотите ввести каждый из IP-адресов Pi (включая главный IP-адрес) в новой строке, а затем сохранить файл.
На этом этапе мы можем запустить тестовый файл, используя
mpiexec -f файл-машины -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.
кошка pi01 >> authorized_keys
выход
-
Когда Pi02 готов, повторите все эти шаги для Pi03.
ssh-keygen
cd.ssh
cp id_rsa.pub pi03
scp 192.168.1.2:/home/pi/.ssh/pi01.
кошка pi01 >> authorized_keys
выход
- Повторите последний шаг для оставшихся Pi, которые есть в вашей сети.
-
После создания ключей для каждого из Pi, вернитесь к своему Master Pi и скопируйте все ключи, сгенерированные на каждом из Pi.
cp 192.168.1.3:/home/pi/.ssh/pi02
кошка pi02 >> authorized_keys
cp 192.168.1.4:/home/pi/.ssh/pi03
кошка pi03 >> authorized_keys
cp 192.168.1.5:/home/pi/.ssh/pi02
кошка pi04 >> authorized_keys
- (повторите, пока в вашей сети есть Пи)
Шаг 9: Запуск программы на вашем суперкомпьютере



Теперь все должно быть настроено. Находясь на Master Pi, попробуйте снова запустить этот машинный файл:
cd ~
mpiexec -f файл-машины -n 4 имя хоста
Если все было сделано правильно, он должен вернуть IP-адреса всех ваших Raspberry Pi. Теперь, когда мы успешно протестировали наш суперкомпьютер, давайте запустим на нем программу Python:
-
Загрузите и распакуйте мой тестовый скрипт взлома пароля Python.
wget
tar -zxf python_test.tar.gz
-
Измените хэш пароля на тот, который вы хотите взломать.
нано 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
- (повторить для всех оставшихся Пи)
-
Запустите скрипт python.
mpiexec -f машинный файл -n 5 python python_test / md5_attack.py
Скрипт будет работать с использованием вычислительной мощности всех Pi в вашей сети! Не стесняйтесь протестировать это, используя свой собственный скрипт Python!


Третий приз в конкурсе Raspberry Pi 2016
Рекомендуемые:
Как сделать крутые часы своими руками - StickC - Сделать просто: 8 шагов

Сделай сам Как сделать классные часы - StickC - Легко сделать: в этом уроке мы узнаем, как запрограммировать ESP32 M5Stack StickC с Arduino IDE и Visuino для отображения времени на ЖК-дисплее, а также установить время с помощью кнопок StickC
Узнайте, как сделать портативный монитор с батарейным питанием, который также может питать Raspberry Pi: 8 шагов (с изображениями)

Узнайте, как сделать портативный монитор с питанием от батареи, который также может питать Raspberry Pi: вам когда-нибудь хотелось написать код на Python или иметь вывод дисплея для вашего робота Raspberry Pi, на ходу, или нужен портативный дополнительный дисплей для вашего ноутбука или фотоаппарат? В этом проекте мы построим портативный монитор с батарейным питанием и
Как сделать дрон с помощью Arduino UNO - Сделать квадрокоптер с помощью микроконтроллера: 8 шагов (с картинками)

Как сделать дрон с помощью Arduino UNO | Сделать квадрокоптер с помощью микроконтроллера: ВведениеПосетите мой канал на Youtube Дрон - очень дорогой гаджет (продукт) для покупки. В этом посте я собираюсь обсудить, как я могу сделать это дешево ?? И как вы можете сделать это своими руками по дешевой цене … Ну, в Индии все материалы (моторы, регуляторы
Музыкальный реактивный свет -- Как сделать супер простой музыкальный реактивный свет, чтобы сделать рабочий стол приятным: 5 шагов (с изображениями)

Музыкальный реактивный свет || Как сделать супер простой музыкальный реактивный свет для настольного компьютера. бас, который на самом деле является низкочастотным звуковым сигналом. Строить очень просто. Мы
ПРОЧИТАЙТЕ Вначале: как настроить суперкомпьютер Ultimate Mac Mini: 6 шагов

ПРОЧИТАЙТЕ Вначале: как настроить суперкомпьютер Ultimate Mac Mini: Mac mini - это, по сути, ноутбук без экрана и без клавиатуры или мыши. Вы могли бы подумать, кто, черт возьми, будет использовать эту штуку? Однако этот компьютер потребляет меньше электроэнергии, чем большинство лампочек, работает безупречно хорошо, и