SlideShare a Scribd company logo
1
TOPIC
Running Kafka and Spark on Raspberry PI
with Azure and some .NET magic
Marco Parenzan
2
Thanks to our partners
Senior Solution Architect in beanTech
Microsoft Azure MVP
Community Lead 1nn0va // Pordenone
1nn0va After Hour (ogni martedì sera alle 21)
https://www.youtube.com/c/Community1nn0va
Linkedin: https://www.linkedin.com/in/marcoparenzan/
Marco Parenzan
Marco Parenzan
marco_parenzan
marcoparenzan
marcoparenzan
Marco Parenzan
@cloudgen_verona
#CloudGen2021
6
.NET for data(science)
• .NET Spark
• .NET Interactive (notebooks)
• Azure Synapse Analytics
• ML.NET…
All good for IoT scenarios!
7
.NET for ARM/edge
.NET (Core)
Jeff Geerling (You Tube)
8
More ARM
““Questo matrimonio
non s’ha da fare…”
“ Sì….può….fareeeee!
11
Edge Scenario
IoT Edge…quale è lo scenario equivalente OpenSource?
Non voglio usare i container…voglio sfruttare una rete di rpi
12
Apache Kafka and Apache Spark
13
VNET
The complete vision
Edge00
PI3B+
Device(GPIO)
Edge01
PI400/4
Kafka
Edge02
PI4/4
Spark
Edge99
IoTHub
Nano00
ESP32WROOM
Device//GPIO
TP-LINK
MR6400 4G
Edge03
PI3B+
(MQTT Broker)
VPN
Private Network?
Azure
Edge
192.168.2.100
192.168.2.101 192.168.2.102 192.168.2.103
14
15
16
17
Enabled SSH and VNC
DHCP with MAC
reservation
Issues:
- networking: PI does not
broadcast its name out
of the box(?!?!?!)
- Samba/NFS/…
- Reaching (issues with
Windows 10)
18
Install .NET 6.0 on Raspberry PI
Download
https://dotnet.microsoft.com/download/dotnet/thank-
you/sdk-6.0.100-rc.1-linux-arm32-binaries
sudo mkdir -p $HOME/.dotnet
sudo tar zxf dotnet-sdk-3.1.100-linux-arm.tar.gz -C
$HOME/.dotnet
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
source ~/.bashrc
• On edge00 and edge03
(edge02 has 3.1 for .net
spark)
https://docs.microsoft.com/en-us/dotnet/iot/deployment
19
Visual Studio Code
It works!
• And install VSCode
(https://code.visualstudio.com/docs/setup/raspberry-pi)
• sudo apt update
• sudo apt install code
• But...
20
Minimal Visual Studio 2019 for NanoFramework in the 2022 era
21
No Containers?
• Not using containers
• More simple manipulation of config files
• Images not ready for ARM
22
The scenario
WordCount as a Sample (WCaaS )
Wordsignal, command, event (vote?)
19 can become «event1»..»event9»
In device terms: a button on digital input for each «word»
23
Edge00: PI3B+ device gw
Produce events
Send to Kafka
Issues:
• Kafka written in Java
• But std .NET package uses native libkafka (C++) from
Confluent that is available only for x86
• Require rebuilding (not found a ready rebuild)
• Used a native implementation (not maintained)
• Not tested on ARM
• Not clean working
• MQTT listener on kafka does not exist (only plugins
controlled by kafka)
24
Edge01: PI400 Kafka
Collect events events with Kafka
Install OpenJDK11
Issues
• Consumes lot of memory (required PI4)
• Issues with configuration (listeners, also on WSL)
• Complicated configuration (SASL-SCRAM, certificate
store)Industrial scenario (tampering)
25
Edge02: PI4 Spark
Works on PI3 (even if too slow!)
Aggregating events
Install OpenJDK8 for 2.4.8 (not 11)
Issues
• Issues(?) with 3.x (not really tested)
• Alignment between .net spark with spark
• Problems with watermarking that is fundamental on
streaming
26
Edge03:
• Handle processed data and route to the cloud
• Planned installing an MQTT broker (Mosquitto?)
• Installed .NET 6
• Monitor files on a shared folder on edge02
• sudo mkdir /mnt/data
• sudo apt-get install sshfs
• sudo sshfs -o allow_other,default_permissions
pi@edge02.local:/home/pi/data /mnt/data
• Issues
• <empty>?
• Broker not tested
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
28
29
Minus/Issues
• PI3 is slowOnly PI4+
• PI4 is slow for desktop
• Kafka is difficult to configure
• Spark has a complicated processing/execution model
• In general documentation is sparse and not homogeneus
(PI/Kafka/Spark)
30
Plus
• .NET 6 works fine
• Also Java works fine Kafka and Spark
• PI4 is powerful
• It can be a potential platform for Kafka and Spark on edge
31
Some links
https://github.com/dotnet/spark
https://docs.microsoft.com/en-
us/dotnet/spark/tutorials/get-started?tabs=linux
https://code.visualstudio.com/docs/setup/raspberry-pi
https://dotnet.microsoft.com/download/dotnet/thank-
you/sdk-3.1.413-linux-arm32-binaries
https://github.com/dotnet/spark/releases
https://docs.microsoft.com/en-us/dotnet/iot/deployment
https://mvnrepository.com/artifact/org.apache.spark/spark-
streaming_2.12/3.0.1
Thank you
Any questions?
marcoparenzan marco_parenzan marcoparenzan
https://github.com/marcoparenzan/kafka-spark-on-pi-with-dotnet

More Related Content

What's hot (20)

PDF
A practical introduction to observability
Nikolay Stoitsev
 
PDF
Serverless security - how to protect what you don't see?
Sqreen
 
PDF
Terrascan - Cloud Native Security Tool
sangam biradar
 
PPTX
Introduction to Spring Cloud OSS - Denver Cloud Foundry Meetup
Josh Ghiloni
 
PPTX
Kube Apps in action
Karthik Gaekwad
 
PDF
What is Google Cloud Good For at DevFestInspire 2021
Robert John
 
PDF
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Malcolm Duncanson, CISSP
 
PPTX
Introduction to Orchestration and DevOps with OpenStack
Abderrahmane TEKFI
 
PDF
Mirantis v OpenStack Ansible Dawn of Production
TeK Charnsilp Chinprasert
 
PDF
Cassandra Day Denver 2014: Setting up a DataStax Enterprise Instance on Micro...
DataStax Academy
 
PDF
Timed Text At Netflix
Rohit Puri
 
PDF
Testing at Stream-Scale
All Things Open
 
PDF
Case Study: Utilizing Mirantis Fuel to install OpenStack Ansible
TeK Charnsilp Chinprasert
 
PPTX
"The F# Path to Relaxation", Don Syme
Fwdays
 
PDF
IoT gateway dream team - Eclipse Kura and Apache Camel
Henryk Konsek
 
PDF
Triangle Devops Meetup 10/2015
aspyker
 
PPTX
Kenzan Spinnaker Meetup
Ambassador Labs
 
PDF
Spark Summit Europe: Building a REST Job Server for interactive Spark as a se...
gethue
 
PDF
Policy as code what helm developers need to know about security
LibbySchulze
 
PDF
(SACON) Madhu Akula - Automated Defense Using Cloud Service Aws, Azure, Gcp
Priyanka Aash
 
A practical introduction to observability
Nikolay Stoitsev
 
Serverless security - how to protect what you don't see?
Sqreen
 
Terrascan - Cloud Native Security Tool
sangam biradar
 
Introduction to Spring Cloud OSS - Denver Cloud Foundry Meetup
Josh Ghiloni
 
Kube Apps in action
Karthik Gaekwad
 
What is Google Cloud Good For at DevFestInspire 2021
Robert John
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Malcolm Duncanson, CISSP
 
Introduction to Orchestration and DevOps with OpenStack
Abderrahmane TEKFI
 
Mirantis v OpenStack Ansible Dawn of Production
TeK Charnsilp Chinprasert
 
Cassandra Day Denver 2014: Setting up a DataStax Enterprise Instance on Micro...
DataStax Academy
 
Timed Text At Netflix
Rohit Puri
 
Testing at Stream-Scale
All Things Open
 
Case Study: Utilizing Mirantis Fuel to install OpenStack Ansible
TeK Charnsilp Chinprasert
 
"The F# Path to Relaxation", Don Syme
Fwdays
 
IoT gateway dream team - Eclipse Kura and Apache Camel
Henryk Konsek
 
Triangle Devops Meetup 10/2015
aspyker
 
Kenzan Spinnaker Meetup
Ambassador Labs
 
Spark Summit Europe: Building a REST Job Server for interactive Spark as a se...
gethue
 
Policy as code what helm developers need to know about security
LibbySchulze
 
(SACON) Madhu Akula - Automated Defense Using Cloud Service Aws, Azure, Gcp
Priyanka Aash
 

Similar to Running Kafka and Spark on Raspberry PI with Azure and some .net magic (20)

PPTX
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Marco Parenzan
 
PDF
OpenStack Scale-out Networking Architecture
Randy Bias
 
PDF
"The Caffe2 Framework for Mobile and Embedded Deep Learning," a Presentation ...
Edge AI and Vision Alliance
 
PPTX
Tuning and Monitoring Deep Learning on Apache Spark
Databricks
 
PDF
Sivp presentation
Frans Caisar Ramadhan
 
PDF
Scaling Apache Spark on Kubernetes at Lyft
Databricks
 
PDF
Under The Hood Of A Shard-Per-Core Database Architecture
ScyllaDB
 
PPTX
Spark 101 - First steps to distributed computing
Demi Ben-Ari
 
PDF
[262] netflix 빅데이터 플랫폼
NAVER D2
 
PPTX
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
PROIDEA
 
PPTX
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
Karel Zikmund
 
PPTX
.NET Interactive for your code and Azure
Marco Parenzan
 
PPTX
.NET per la Data Science e oltre
Marco Parenzan
 
PPT
Apache Spark™ + IBM Watson + Twitter DataPalooza SF 2015
Mike Broberg
 
PPTX
Why Kubernetes as a container orchestrator is a right choice for running spar...
DataWorks Summit
 
PDF
SDVIs and In-Situ Visualization on TACC's Stampede
Intel® Software
 
PDF
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
rhatr
 
PDF
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
Spark Summit
 
PPTX
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
Karel Zikmund
 
PPTX
Seattle Spark Meetup Mobius CSharp API
shareddatamsft
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Marco Parenzan
 
OpenStack Scale-out Networking Architecture
Randy Bias
 
"The Caffe2 Framework for Mobile and Embedded Deep Learning," a Presentation ...
Edge AI and Vision Alliance
 
Tuning and Monitoring Deep Learning on Apache Spark
Databricks
 
Sivp presentation
Frans Caisar Ramadhan
 
Scaling Apache Spark on Kubernetes at Lyft
Databricks
 
Under The Hood Of A Shard-Per-Core Database Architecture
ScyllaDB
 
Spark 101 - First steps to distributed computing
Demi Ben-Ari
 
[262] netflix 빅데이터 플랫폼
NAVER D2
 
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
PROIDEA
 
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
Karel Zikmund
 
.NET Interactive for your code and Azure
Marco Parenzan
 
.NET per la Data Science e oltre
Marco Parenzan
 
Apache Spark™ + IBM Watson + Twitter DataPalooza SF 2015
Mike Broberg
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
DataWorks Summit
 
SDVIs and In-Situ Visualization on TACC's Stampede
Intel® Software
 
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
rhatr
 
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
Spark Summit
 
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
Karel Zikmund
 
Seattle Spark Meetup Mobius CSharp API
shareddatamsft
 
Ad

More from Marco Parenzan (20)

PPTX
Azure IoT Central per lo SCADA engineer
Marco Parenzan
 
PPTX
Azure Hybrid @ Home
Marco Parenzan
 
PPTX
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Marco Parenzan
 
PPTX
Azure Synapse Analytics for your IoT Solutions
Marco Parenzan
 
PPTX
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
PPTX
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
PPTX
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
PPTX
Developing Actors in Azure with .net
Marco Parenzan
 
PPTX
Math with .NET for you and Azure
Marco Parenzan
 
PPTX
Power BI data flow and Azure IoT Central
Marco Parenzan
 
PPTX
.net for fun: write a Christmas videogame
Marco Parenzan
 
PPTX
Anomaly Detection with Azure and .NET
Marco Parenzan
 
PPTX
Deploy Microsoft Azure Data Solutions
Marco Parenzan
 
PPTX
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Marco Parenzan
 
PPTX
Azure IoT Central
Marco Parenzan
 
PPTX
Anomaly Detection with Azure and .net
Marco Parenzan
 
PPTX
Code Generation for Azure with .net
Marco Parenzan
 
PPTX
Time Series Anomaly Detection with Azure and .NETT
Marco Parenzan
 
PPTX
Code Generation for Azure with .net
Marco Parenzan
 
PPTX
Deep dive time series anomaly detection with different Azure Data Services
Marco Parenzan
 
Azure IoT Central per lo SCADA engineer
Marco Parenzan
 
Azure Hybrid @ Home
Marco Parenzan
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Marco Parenzan
 
Azure Synapse Analytics for your IoT Solutions
Marco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
Developing Actors in Azure with .net
Marco Parenzan
 
Math with .NET for you and Azure
Marco Parenzan
 
Power BI data flow and Azure IoT Central
Marco Parenzan
 
.net for fun: write a Christmas videogame
Marco Parenzan
 
Anomaly Detection with Azure and .NET
Marco Parenzan
 
Deploy Microsoft Azure Data Solutions
Marco Parenzan
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Marco Parenzan
 
Azure IoT Central
Marco Parenzan
 
Anomaly Detection with Azure and .net
Marco Parenzan
 
Code Generation for Azure with .net
Marco Parenzan
 
Time Series Anomaly Detection with Azure and .NETT
Marco Parenzan
 
Code Generation for Azure with .net
Marco Parenzan
 
Deep dive time series anomaly detection with different Azure Data Services
Marco Parenzan
 
Ad

Recently uploaded (20)

PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 

Running Kafka and Spark on Raspberry PI with Azure and some .net magic