Skip to content
No description, website, or topics provided.
Scala Java JavaScript C Shell HTML SWIG
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cinnamon-prometheus-docker-sandbox Add Zipkin + tracing configuration. (#33) Jun 1, 2018
common Fix display sharding issues plus scalatest upgrade Feb 14, 2020
docs Update omnigraffle doc (#152) Jan 22, 2020
ecl-patch Update ecl-patch (#134) Dec 16, 2019
exercise_000_initial_state Move ClusterStatusTracker to 'common' project (#143) Jan 22, 2020
exercise_001_cluster_base Add sudokusolver led display & add problem transformations (#154) Feb 13, 2020
exercise_002_cluster_weakly_up Add sudokusolver led display & add problem transformations (#154) Feb 13, 2020
exercise_003_cluster_singleton Add sudokusolver led display & add problem transformations (#154) Feb 13, 2020
exercise_004_cluster_weakly_up_disabled Add sudokusolver led display & add problem transformations (#154) Feb 13, 2020
exercise_005_cluster_akka_bootstrap_discovery_via_config Add sudokusolver led display & add problem transformations (#154) Feb 13, 2020
exercise_006_cluster_akka_bootstrap_discovery_via_akka_dns Add sudokusolver led display & add problem transformations (#154) Feb 13, 2020
exercise_007_cluster_split_brain_resolver_keep_majority Add sudokusolver led display & add problem transformations (#154) Feb 13, 2020
exercise_008_cluster_split_brain_resolver_static_quorum
exercise_009_split_brain_resolver_keep_referee Add sudokusolver led display & add problem transformations (#154) Feb 13, 2020
exercise_010_split_brain_resolver_keep_oldest
exercise_011_split_brain_resolver_down_all Add sudokusolver led display & add problem transformations (#154) Feb 13, 2020
exercise_012_clustered_sudoku_solver Add sudokusolver led display & add problem transformations (#154) Feb 13, 2020
exercise_014_add_cluster_client Update year-period in copyright notice (#142) Jan 7, 2020
exercise_015_clustered_sudoku_solver_cluster_client_enabled Update year-period in copyright notice (#142) Jan 7, 2020
exercise_017_es_opentracing Update year-period in copyright notice (#142) Jan 7, 2020
exercise_018_es_classic_console Update year-period in copyright notice (#142) Jan 7, 2020
exercise_101_display_cluster_status Fix display sharding issues plus scalatest upgrade Feb 14, 2020
exercise_102_display_cluster_sharding Fix display sharding issues plus scalatest upgrade Feb 14, 2020
exercise_103_display_cluster_crdt Fix display sharding issues plus scalatest upgrade Feb 14, 2020
installProgressMonitor Update 'installProgressMonitor' to support Rasberry Pi 4 Model B (#127) Nov 21, 2019
nodeFiles Fix akka management hostname in inode `run` script (#132) Dec 13, 2019
project Fix display sharding issues plus scalatest upgrade Feb 14, 2020
sudokus Add more sudoku & a script to send them to the REST service (#44) Jun 18, 2018
.courseName Update course name (#40) Jun 8, 2018
.gitignore Add scripts to clear pre-existing JARs & log files on nodes (#53) Jun 22, 2018
.profile.tmux Update os customizations file (#64) Aug 21, 2018
.sbtopts Initial commit Dec 29, 2017
LICENSE Fix project license file (#116) Nov 5, 2019
NOTICE Fix project license file (#116) Nov 5, 2019
README.md removed exercises 001 and 016 (#119) Nov 13, 2019
akka-pi-os-display.yml Add display labs with separate cloud init yml file (#130) Jan 3, 2020
akka-pi-os.yml Remove java installation script file from cloud-init configuration (#149 Jan 13, 2020
build.sbt Replace majority of exercises with an Akka Typed version (#141) Jan 7, 2020
clrJars Move to native packer (from assembly), adapt doc & clean (#122) Nov 21, 2019
clrLogs Clean up scripts (#76) Feb 7, 2019
copy Move to native packer (from assembly), adapt doc & clean (#122) Nov 21, 2019
course-management.conf Move exercise README files to exercises root folder (#94) May 19, 2019
ecl Update ecl-patch (#134) Dec 16, 2019
getLogs Clean up scripts (#76) Feb 7, 2019
postSudoku Gsa workshop updates (#66) Sep 22, 2018
shutdown Clean up scripts (#76) Feb 7, 2019
stopNode Clean up scripts (#76) Feb 7, 2019
updatePiScripts move node scripts to folder (#120) Nov 13, 2019

README.md

Raspberry Pi - Kubernetes Cluster

Description

This code is used on a Raspberry-Pi based Akka Cluster to visually demonstrate cluster formation, split-brain occurrence and Split Brain Resolver.

Each node is equipped with an 10-LED RGB strip where different LED's are used to show each node's state (Joining, Up, Weakly-up, Unreachable, Leaving, Exiting and Down/Removed). In addition, it shows if a node has a so-called leader role and whether a node is running an Akka Cluster Singleton (if one is created on the cluster).

In the last series of exercises, we deploy an actor based application (a Sudoku Solver) on the cluster and add monitoring (Cinnamon/Prometheus/Grafana) and tracing to the set-up (Open-tracing/Zipkin).

Maintainers & Changelog

Removed the changelog & list of maintainers. Git history contains this information.

Instructions

Preparing your laptop for a Raspberry-Pi based Akka Cluster workshop

Detailed instructions can be found here.

Building your own 5-node Raspberry-Pi based Akka Cluster

If you want to build your own physical cluster, you may want to have a look at the BOM here.

Pi-Hypriot installation instructions

The easiest and fastest way to flash a Hypriot OS instance that is ready to use for the Akka Cluster software can be found here.

Travel router configuration

In some cases it can be handy to use a so-called travel router which allows you to connect to a Wifi network on location, and still get access to a physical network with a fixed IP network address. This is because, currently, all nodes have statically configured IP addresses.

Details on how to configure such a (TP-Link TL-WR802N) router can be found here.

Build your own Akka-Cluster on Raspberry Pi

  • A bill of material can be found here
  • A custom 10-LED strip that can be directly plugged on a Raspberry Pi board's GPIO connector can now be bought from Lightbend! You can buy them in a pack of 5 here.
  • A schematic of the LED strip can be found here
You can’t perform that action at this time.