SlideShare a Scribd company logo
IBM Confidential 1
Apache Flink Cluster Deployment
On Docker and Docker-Compose
Simon Laws
simon_laws@uk.ibm.com
© 2014 IBM Corporation
What We’re Going To Build
2
Windows 7 IBM Bluemix
VirtualBox 4.3.18
Ubuntu 14.04
Docker 4.3.18
Cygwin
ssh
Flink
Jobmanager
container
Flink
Taskmanager
container
Cloudfoundry
Client
Docker
Flink
image
Flink
Jobmanager
container
Flink
Taskmanager
container
Flink
image
© 2014 IBM Corporation
Docker
3
docker.com
© 2014 IBM Corporation
Docker
4
docker.com/
whatisdocker
© 2014 IBM Corporation
IBM Bluemix
Sign up for a free
account and experiment
5
bluemix.net
© 2014 IBM Corporation
IBM Bluemix Signup
Sign up for a free
account and experiment
Various options for
academics, startups etc.
Prices here for when
you go over free
allocation
https://console.eu-
gb.bluemix.net/pricing/
6
https://console.ng.bluemix.net/registration/
© 2014 IBM Corporation
Apache Flink and Docker
7
github.com/apache/
flink/tree/master/
flink-contrib/
docker-flink
© 2014 IBM Corporation
Install Ubuntu Using VirtualBox
8
Windows 7 IBM Bluemix
VirtualBox 4.3.18
Ubuntu 14.04
Docker 4.3.18
Cygwin
ssh
Flink
Jobmanager
container
Flink
Taskmanager
container
Cloudfoundry
Client
Docker
Flink
image
Flink
Jobmanager
container
Flink
Taskmanager
container
Flink
image
© 2014 IBM Corporation
Setting Up The Host Operating System
 If you’re on Linux you’re probably good to go
 If you’re on Windows or OSX you need to run Linux on a VM
 As an alternative you could do this on a VM in the new VM service in Bluemix. It’s in Beta at the moment.
 Get VirtualBox
 Create a Linux VM (I used Ubuntu)
 Install Docker
 Download Flink Source
 Try a Flink example
9
© 2014 IBM Corporation
Get VirtualBox
10
virtualbox.org
© 2014 IBM Corporation
Get Linux Distro (I went for Ubuntu 14.04)
11
releases.ubuntu.com/14.04
© 2014 IBM Corporation
Create VM from ISO in VirtualBox (and set port forwarding)
12
End result is that I can now SSH into the instance of
Ubuntu running inside VitualBox. Everything for this
point on happens inside this Ubuntu VM
To start with make sure that Ubuntu is up to date
> sudo su -
> apt-get update
sudo su -
apt-get updatesudo su -
apt-get update
© 2014 IBM Corporation
Install Docker and Flink
13
Windows 7 IBM Bluemix
VirtualBox 4.3.18
Ubuntu 14.04
Docker 4.3.18
Cygwin
ssh
Flink
Jobmanager
container
Flink
Taskmanager
container
Cloudfoundry
Client
Docker
Flink
image
Flink
Jobmanager
container
Flink
Taskmanager
container
Flink
image
© 2014 IBM Corporation
Install Docker and Docker-Compose
14
github.com/apache/
flink/tree/master/
flink-contrib/
docker-flink
© 2014 IBM Corporation
Download Flink Source
15
git clone https://github.com/apache/flink.git
cd flink/flink-contrib/docker-flink The base Docker image
source
Builds the “base” and “flink”
images
The flink Docker image
source
Docker-Compose
configuration
© 2014 IBM Corporation
Docker Images and Containers
16
Source
Docker
Image
Docker
Container
docker build docker run
What Images
Do I have?
docker images
What Containers
Do I have running?
Push elsewhere (Docker Hub)
To share with others
ssh or
docker exec
docker psDockerfile
© 2014 IBM Corporation
Dockerfiles – The Recipe for a Docker Image
17
© 2014 IBM Corporation
Build Docker Images
18
Windows 7 IBM Bluemix
VirtualBox 4.3.18
Ubuntu 14.04
Docker 4.3.18
Cygwin
ssh
Flink
Jobmanager
container
Flink
Taskmanager
container
Cloudfoundry
Client
Docker
Flink
image
Flink
Jobmanager
container
Flink
Taskmanager
container
Flink
image
© 2014 IBM Corporation
Building The Images From the Docker Files
19
./build.sh
If you look in the script it use the “docker build” command to build a “base” image and a
“flink” image
This failed for me on the first attempt with the base build reporting
chpasswd: (user root) pam_chauthtok() failed, error:
System error
chpasswd: (line 1, user root) password not changed
It turned out I had an old version of Docker so I updated to latest and it worked
© 2014 IBM Corporation
The Built Images
20
© 2014 IBM Corporation
Run Docker Containers
21
Windows 7 IBM Bluemix
VirtualBox 4.3.18
Ubuntu 14.04
Docker 4.3.18
Cygwin
ssh
Flink
Jobmanager
container
Flink
Taskmanager
container
Cloudfoundry
Client
Docker
Flink
image
Flink
Jobmanager
container
Flink
Taskmanager
container
Flink
image
© 2014 IBM Corporation
Running Linked Images Manually (To See What’s Going On)
22
docker run -d -p 48080:8080 -p 48081:8081 --expose 6123 --name
jobmanager flink /usr/local/flink/bin/config-flink.sh jobmanager
docker run -d --expose 6121 --expose 6122 --link jobmanager --name
taskmanager1 flink
The job manager
Add a task manager
This failed at first with a strange “Exec format exception”. I made a local fix by removing
the comment from the top of the flink/config-flink.sh file leaving
#!/bin/bash
As the first line
© 2014 IBM Corporation
Flink up and Running
23
© 2014 IBM Corporation
Running a Test
24
I had previously uploaded flink-java-examples-0.9.1-WordCount.jar from my local Windows install of Flink
© 2014 IBM Corporation
Accessing Containers with Docker Exec
25
© 2014 IBM Corporation
Making Things Simpler With Docker-Compose
26
docker-compose up –d
docker-compose scale taskmanager=3
docker-compose kill
© 2014 IBM Corporation
Connecting To Bluemix
27
Windows 7 IBM Bluemix
VirtualBox 4.3.18
Ubuntu 14.04
Docker 4.3.18
Cygwin
ssh
Flink
Jobmanager
container
Flink
Taskmanager
container
Cloudfoundry
Client
Docker
Flink
image
Flink
Jobmanager
container
Flink
Taskmanager
container
Flink
image
© 2014 IBM Corporation
Running the Images On Bluemix
28
Log in to Bluemix:
1.cf login
Run the IBM Containers cf CLI plug-in.
2.cf ic login
Create a Dockerfile in the root directory of your app source files. Learn more about Dockerfiles.
Build an image from your Dockerfile. The command returns an image ID.
3. docker build -t image_name
Tag the image with your private namespace in the IBM Containers registry.
4. docker tag image_name registry.stage1.ng.bluemix.net/sluk/image_name:image_tag
The image name is optional. If it is not specified, the image is tagged with latest.
Push this image to the IBM Containers registry:
5. docker push registry.stage1.ng.bluemix.net/sluk/image_name:image_tag
You can create a container from this image in the Bluemix Catalog, or with the following command:
6. cf ic run --name container_name
registry.stage1.ng.bluemix.net/sluk/image_name:image_tag
© 2014 IBM Corporation
Install The Cloud Foundary Client Software
29
In the Ubuntu VM we have been using to run Flink using Docker get and install the Cloud
Foundary client tool
wget --output-document=cfcli.deb
https://cli.run.pivotal.io/stable?release=debian64&version=6.12.4&source=githu
b-rel
dpkg -i cfcli.deb
In the Ubuntu VM we have been using to run Flink using Docker get
and install the Cloud Foundary client
cf install-plugin https://static-ice.ng.bluemix.net/ibm-containers-linux_x64
© 2014 IBM Corporation
Log Into Bluemix – Web User Interface
30
© 2014 IBM Corporation
Log Into Bluemix – Command Line Using CF Tool
31
© 2014 IBM Corporation
Log Into Bluemix Containers – Command Line Using CF Tool
32
© 2014 IBM Corporation
Push Image Up To Bluemix
33
Windows 7 IBM Bluemix
VirtualBox 4.3.18
Ubuntu 14.04
Docker 4.3.18
Cygwin
ssh
Flink
Jobmanager
container
Flink
Taskmanager
container
Cloudfoundry
Client
Docker
Flink
image
Flink
Jobmanager
container
Flink
Taskmanager
container
Flink
image
© 2014 IBM Corporation
Tag and Push Up Our Images
34
docker tag flink registry.ng.bluemix.net/sluk/flink
docker push registry.ng.bluemix.net/sluk/flink
© 2014 IBM Corporation
List Images Now Up On Bluemix
35
cf ic images
© 2014 IBM Corporation
Run Containers On Bluemix
36
Windows 7 IBM Bluemix
VirtualBox 4.3.18
Ubuntu 14.04
Docker 4.3.18
Cygwin
ssh
Flink
Jobmanager
container
Flink
Taskmanager
container
Cloudfoundry
Client
Docker
Flink
image
Flink
Jobmanager
container
Flink
Taskmanager
container
Flink
image
© 2014 IBM Corporation
Creating Containers in Bluemix via User Interface
37
© 2014 IBM Corporation
Creating Containers in Bluemix via CF Command Line
38
Option 1) Leverage this Cloud Foundry IBM Containers plugin without affecting the local docker environment:
Example Usage:
cf ic ps
cf ic images
Option 2) Leverage the docker CLI directly. In this shell, override local docker environment to connect to IBM
Containers by setting these variables,
export DOCKER_HOST=tcp://containers-api.ng.bluemix.net:8443
export DOCKER_CERT_PATH=/root/.ice/certs
export DOCKER_TLS_VERIFY=1
Example Usage:
docker ps
docker images
© 2014 IBM Corporation39
Create jobmanager Container in Bluemix via CF Command Line
cf ic run -p 22:22 -p 8080:8080 -p 8081:8081 -p 6123:6123 --expose
6123 --name jobmanager registry.ng.bluemix.net/sluk/flink
/usr/local/flink/bin/config-flink.sh jobmanager
Assign a public IP
so you can get
to the console
© 2014 IBM Corporation40
Create taskmanager Container in Bluemix via CF Command Line
cf ic run -p 22:22 -p 6121:6121 -p 6122:6122 --expose 6121 --
expose 6122 --name taskmanager1 --link jobmanager:jobmanager
registry.ng.bluemix.net/sluk/flink /usr/local/flink/bin/config-
flink.sh taskmanager
© 2014 IBM Corporation
Running The Flink Cluster
41
© 2014 IBM Corporation
QUESTIONS?
42

More Related Content

What's hot

Flink SQL: The Challenges to Build a Streaming SQL Engine
Flink SQL: The Challenges to Build a Streaming SQL EngineFlink SQL: The Challenges to Build a Streaming SQL Engine
Flink SQL: The Challenges to Build a Streaming SQL Engine
HostedbyConfluent
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
Taras Matyashovsky
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
Mohammed Fazuluddin
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
mumrah
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
Flink Forward
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
Dvir Volk
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
Saurav Haloi
 
Apache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the CoversApache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the Covers
ScyllaDB
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Flink Forward
 
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation BuffersHBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
Cloudera, Inc.
 
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
Tommy Lee
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
Knoldus Inc.
 
Zabbix Performance Tuning
Zabbix Performance TuningZabbix Performance Tuning
Zabbix Performance Tuning
Ricardo Santos
 
ORC File - Optimizing Your Big Data
ORC File - Optimizing Your Big DataORC File - Optimizing Your Big Data
ORC File - Optimizing Your Big Data
DataWorks Summit
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
Flink Forward
 
Kafka replication apachecon_2013
Kafka replication apachecon_2013Kafka replication apachecon_2013
Kafka replication apachecon_2013
Jun Rao
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Flink Forward
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBase
enissoz
 
Flink Forward San Francisco 2019: How to Join Two Data Streams? - Piotr Nowojski
Flink Forward San Francisco 2019: How to Join Two Data Streams? - Piotr NowojskiFlink Forward San Francisco 2019: How to Join Two Data Streams? - Piotr Nowojski
Flink Forward San Francisco 2019: How to Join Two Data Streams? - Piotr Nowojski
Flink Forward
 
Common issues with Apache Kafka® Producer
Common issues with Apache Kafka® ProducerCommon issues with Apache Kafka® Producer
Common issues with Apache Kafka® Producer
confluent
 

What's hot (20)

Flink SQL: The Challenges to Build a Streaming SQL Engine
Flink SQL: The Challenges to Build a Streaming SQL EngineFlink SQL: The Challenges to Build a Streaming SQL Engine
Flink SQL: The Challenges to Build a Streaming SQL Engine
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
 
Apache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the CoversApache Iceberg: An Architectural Look Under the Covers
Apache Iceberg: An Architectural Look Under the Covers
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
 
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation BuffersHBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
 
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
 
Zabbix Performance Tuning
Zabbix Performance TuningZabbix Performance Tuning
Zabbix Performance Tuning
 
ORC File - Optimizing Your Big Data
ORC File - Optimizing Your Big DataORC File - Optimizing Your Big Data
ORC File - Optimizing Your Big Data
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
 
Kafka replication apachecon_2013
Kafka replication apachecon_2013Kafka replication apachecon_2013
Kafka replication apachecon_2013
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBase
 
Flink Forward San Francisco 2019: How to Join Two Data Streams? - Piotr Nowojski
Flink Forward San Francisco 2019: How to Join Two Data Streams? - Piotr NowojskiFlink Forward San Francisco 2019: How to Join Two Data Streams? - Piotr Nowojski
Flink Forward San Francisco 2019: How to Join Two Data Streams? - Piotr Nowojski
 
Common issues with Apache Kafka® Producer
Common issues with Apache Kafka® ProducerCommon issues with Apache Kafka® Producer
Common issues with Apache Kafka® Producer
 

Viewers also liked

Apache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmapApache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmap
Kostas Tzoumas
 
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & KafkaMohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Flink Forward
 
Apache Flink Training: DataStream API Part 1 Basic
 Apache Flink Training: DataStream API Part 1 Basic Apache Flink Training: DataStream API Part 1 Basic
Apache Flink Training: DataStream API Part 1 Basic
Flink Forward
 
Slim Baltagi – Flink vs. Spark
Slim Baltagi – Flink vs. SparkSlim Baltagi – Flink vs. Spark
Slim Baltagi – Flink vs. Spark
Flink Forward
 
Marton Balassi – Stateful Stream Processing
Marton Balassi – Stateful Stream ProcessingMarton Balassi – Stateful Stream Processing
Marton Balassi – Stateful Stream Processing
Flink Forward
 
Maximilian Michels – Google Cloud Dataflow on Top of Apache Flink
Maximilian Michels – Google Cloud Dataflow on Top of Apache FlinkMaximilian Michels – Google Cloud Dataflow on Top of Apache Flink
Maximilian Michels – Google Cloud Dataflow on Top of Apache Flink
Flink Forward
 
Matthias J. Sax – A Tale of Squirrels and Storms
Matthias J. Sax – A Tale of Squirrels and StormsMatthias J. Sax – A Tale of Squirrels and Storms
Matthias J. Sax – A Tale of Squirrels and Storms
Flink Forward
 
Jim Dowling – Interactive Flink analytics with HopsWorks and Zeppelin
Jim Dowling – Interactive Flink analytics with HopsWorks and ZeppelinJim Dowling – Interactive Flink analytics with HopsWorks and Zeppelin
Jim Dowling – Interactive Flink analytics with HopsWorks and Zeppelin
Flink Forward
 
Fabian Hueske – Juggling with Bits and Bytes
Fabian Hueske – Juggling with Bits and BytesFabian Hueske – Juggling with Bits and Bytes
Fabian Hueske – Juggling with Bits and Bytes
Flink Forward
 
Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)
Stephan Ewen
 
Sebastian Schelter – Distributed Machine Learing with the Samsara DSL
Sebastian Schelter – Distributed Machine Learing with the Samsara DSLSebastian Schelter – Distributed Machine Learing with the Samsara DSL
Sebastian Schelter – Distributed Machine Learing with the Samsara DSL
Flink Forward
 
Fabian Hueske – Cascading on Flink
Fabian Hueske – Cascading on FlinkFabian Hueske – Cascading on Flink
Fabian Hueske – Cascading on Flink
Flink Forward
 
Apache Flink - Hadoop MapReduce Compatibility
Apache Flink - Hadoop MapReduce CompatibilityApache Flink - Hadoop MapReduce Compatibility
Apache Flink - Hadoop MapReduce Compatibility
Fabian Hueske
 
Assaf Araki – Real Time Analytics at Scale
Assaf Araki – Real Time Analytics at ScaleAssaf Araki – Real Time Analytics at Scale
Assaf Araki – Real Time Analytics at Scale
Flink Forward
 
Apache Flink Training: System Overview
Apache Flink Training: System OverviewApache Flink Training: System Overview
Apache Flink Training: System Overview
Flink Forward
 
Anwar Rizal – Streaming & Parallel Decision Tree in Flink
Anwar Rizal – Streaming & Parallel Decision Tree in FlinkAnwar Rizal – Streaming & Parallel Decision Tree in Flink
Anwar Rizal – Streaming & Parallel Decision Tree in Flink
Flink Forward
 
Vyacheslav Zholudev – Flink, a Convenient Abstraction Layer for Yarn?
Vyacheslav Zholudev – Flink, a Convenient Abstraction Layer for Yarn?Vyacheslav Zholudev – Flink, a Convenient Abstraction Layer for Yarn?
Vyacheslav Zholudev – Flink, a Convenient Abstraction Layer for Yarn?
Flink Forward
 
Apache Flink Training: DataStream API Part 2 Advanced
Apache Flink Training: DataStream API Part 2 Advanced Apache Flink Training: DataStream API Part 2 Advanced
Apache Flink Training: DataStream API Part 2 Advanced
Flink Forward
 
S. Bartoli & F. Pompermaier – A Semantic Big Data Companion
S. Bartoli & F. Pompermaier – A Semantic Big Data CompanionS. Bartoli & F. Pompermaier – A Semantic Big Data Companion
S. Bartoli & F. Pompermaier – A Semantic Big Data Companion
Flink Forward
 
Kamal Hakimzadeh – Reproducible Distributed Experiments
Kamal Hakimzadeh – Reproducible Distributed ExperimentsKamal Hakimzadeh – Reproducible Distributed Experiments
Kamal Hakimzadeh – Reproducible Distributed Experiments
Flink Forward
 

Viewers also liked (20)

Apache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmapApache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmap
 
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & KafkaMohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
Mohamed Amine Abdessemed – Real-time Data Integration with Apache Flink & Kafka
 
Apache Flink Training: DataStream API Part 1 Basic
 Apache Flink Training: DataStream API Part 1 Basic Apache Flink Training: DataStream API Part 1 Basic
Apache Flink Training: DataStream API Part 1 Basic
 
Slim Baltagi – Flink vs. Spark
Slim Baltagi – Flink vs. SparkSlim Baltagi – Flink vs. Spark
Slim Baltagi – Flink vs. Spark
 
Marton Balassi – Stateful Stream Processing
Marton Balassi – Stateful Stream ProcessingMarton Balassi – Stateful Stream Processing
Marton Balassi – Stateful Stream Processing
 
Maximilian Michels – Google Cloud Dataflow on Top of Apache Flink
Maximilian Michels – Google Cloud Dataflow on Top of Apache FlinkMaximilian Michels – Google Cloud Dataflow on Top of Apache Flink
Maximilian Michels – Google Cloud Dataflow on Top of Apache Flink
 
Matthias J. Sax – A Tale of Squirrels and Storms
Matthias J. Sax – A Tale of Squirrels and StormsMatthias J. Sax – A Tale of Squirrels and Storms
Matthias J. Sax – A Tale of Squirrels and Storms
 
Jim Dowling – Interactive Flink analytics with HopsWorks and Zeppelin
Jim Dowling – Interactive Flink analytics with HopsWorks and ZeppelinJim Dowling – Interactive Flink analytics with HopsWorks and Zeppelin
Jim Dowling – Interactive Flink analytics with HopsWorks and Zeppelin
 
Fabian Hueske – Juggling with Bits and Bytes
Fabian Hueske – Juggling with Bits and BytesFabian Hueske – Juggling with Bits and Bytes
Fabian Hueske – Juggling with Bits and Bytes
 
Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)
 
Sebastian Schelter – Distributed Machine Learing with the Samsara DSL
Sebastian Schelter – Distributed Machine Learing with the Samsara DSLSebastian Schelter – Distributed Machine Learing with the Samsara DSL
Sebastian Schelter – Distributed Machine Learing with the Samsara DSL
 
Fabian Hueske – Cascading on Flink
Fabian Hueske – Cascading on FlinkFabian Hueske – Cascading on Flink
Fabian Hueske – Cascading on Flink
 
Apache Flink - Hadoop MapReduce Compatibility
Apache Flink - Hadoop MapReduce CompatibilityApache Flink - Hadoop MapReduce Compatibility
Apache Flink - Hadoop MapReduce Compatibility
 
Assaf Araki – Real Time Analytics at Scale
Assaf Araki – Real Time Analytics at ScaleAssaf Araki – Real Time Analytics at Scale
Assaf Araki – Real Time Analytics at Scale
 
Apache Flink Training: System Overview
Apache Flink Training: System OverviewApache Flink Training: System Overview
Apache Flink Training: System Overview
 
Anwar Rizal – Streaming & Parallel Decision Tree in Flink
Anwar Rizal – Streaming & Parallel Decision Tree in FlinkAnwar Rizal – Streaming & Parallel Decision Tree in Flink
Anwar Rizal – Streaming & Parallel Decision Tree in Flink
 
Vyacheslav Zholudev – Flink, a Convenient Abstraction Layer for Yarn?
Vyacheslav Zholudev – Flink, a Convenient Abstraction Layer for Yarn?Vyacheslav Zholudev – Flink, a Convenient Abstraction Layer for Yarn?
Vyacheslav Zholudev – Flink, a Convenient Abstraction Layer for Yarn?
 
Apache Flink Training: DataStream API Part 2 Advanced
Apache Flink Training: DataStream API Part 2 Advanced Apache Flink Training: DataStream API Part 2 Advanced
Apache Flink Training: DataStream API Part 2 Advanced
 
S. Bartoli & F. Pompermaier – A Semantic Big Data Companion
S. Bartoli & F. Pompermaier – A Semantic Big Data CompanionS. Bartoli & F. Pompermaier – A Semantic Big Data Companion
S. Bartoli & F. Pompermaier – A Semantic Big Data Companion
 
Kamal Hakimzadeh – Reproducible Distributed Experiments
Kamal Hakimzadeh – Reproducible Distributed ExperimentsKamal Hakimzadeh – Reproducible Distributed Experiments
Kamal Hakimzadeh – Reproducible Distributed Experiments
 

Similar to Simon Laws – Apache Flink Cluster Deployment on Docker and Docker-Compose

WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
David Currie
 
Connect to blumix docker container with putty
Connect to blumix docker container with puttyConnect to blumix docker container with putty
Connect to blumix docker container with putty
Joseph Chang
 
Phoenix 1.3 Umbrella App deployment via Distillery-Docker-Docker_Compose
Phoenix 1.3 Umbrella App deployment via Distillery-Docker-Docker_ComposePhoenix 1.3 Umbrella App deployment via Distillery-Docker-Docker_Compose
Phoenix 1.3 Umbrella App deployment via Distillery-Docker-Docker_Compose
Yeong Sheng Tan
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 aug
Vincent De Smet
 
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
jemije2490
 
Docker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini AnandDocker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini Anand
PRIYADARSHINI ANAND
 
Academy PRO: Docker. Part 4
Academy PRO: Docker. Part 4Academy PRO: Docker. Part 4
Academy PRO: Docker. Part 4
Binary Studio
 
Managing Docker containers
Managing Docker containersManaging Docker containers
Managing Docker containers
siuyin
 
Run windows vm on bluemix
Run windows vm on bluemixRun windows vm on bluemix
Run windows vm on bluemix
Joseph Chang
 
Using java to access bluemix object storage v2
Using java to access bluemix object storage v2Using java to access bluemix object storage v2
Using java to access bluemix object storage v2
Joseph Chang
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service Overview
Kyle Brown
 
Release webinar architecture
Release webinar   architectureRelease webinar   architecture
Release webinar architecture
BigData_Europe
 
Docker containers on Windows
Docker containers on WindowsDocker containers on Windows
Docker containers on Windows
Maurice De Beijer [MVP]
 
Faster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker PlatformFaster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker Platform
msyukor
 
Using Podman with Alfresco
Using Podman with AlfrescoUsing Podman with Alfresco
Using Podman with Alfresco
Angel Borroy López
 
BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Docker
kanedafromparis
 
Environment isolation with Docker (Alex Medvedev, Alpari)
Environment isolation with Docker (Alex Medvedev, Alpari)Environment isolation with Docker (Alex Medvedev, Alpari)
Environment isolation with Docker (Alex Medvedev, Alpari)
Symfoniacs
 
Academy PRO: Docker. Lecture 4
Academy PRO: Docker. Lecture 4Academy PRO: Docker. Lecture 4
Academy PRO: Docker. Lecture 4
Binary Studio
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017
Robert Parker
 
Container Runtimes and Tooling, v2
Container Runtimes and Tooling, v2Container Runtimes and Tooling, v2
Container Runtimes and Tooling, v2
Kublr
 

Similar to Simon Laws – Apache Flink Cluster Deployment on Docker and Docker-Compose (20)

WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
 
Connect to blumix docker container with putty
Connect to blumix docker container with puttyConnect to blumix docker container with putty
Connect to blumix docker container with putty
 
Phoenix 1.3 Umbrella App deployment via Distillery-Docker-Docker_Compose
Phoenix 1.3 Umbrella App deployment via Distillery-Docker-Docker_ComposePhoenix 1.3 Umbrella App deployment via Distillery-Docker-Docker_Compose
Phoenix 1.3 Umbrella App deployment via Distillery-Docker-Docker_Compose
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 aug
 
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
 
Docker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini AnandDocker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini Anand
 
Academy PRO: Docker. Part 4
Academy PRO: Docker. Part 4Academy PRO: Docker. Part 4
Academy PRO: Docker. Part 4
 
Managing Docker containers
Managing Docker containersManaging Docker containers
Managing Docker containers
 
Run windows vm on bluemix
Run windows vm on bluemixRun windows vm on bluemix
Run windows vm on bluemix
 
Using java to access bluemix object storage v2
Using java to access bluemix object storage v2Using java to access bluemix object storage v2
Using java to access bluemix object storage v2
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service Overview
 
Release webinar architecture
Release webinar   architectureRelease webinar   architecture
Release webinar architecture
 
Docker containers on Windows
Docker containers on WindowsDocker containers on Windows
Docker containers on Windows
 
Faster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker PlatformFaster and Easier Software Development using Docker Platform
Faster and Easier Software Development using Docker Platform
 
Using Podman with Alfresco
Using Podman with AlfrescoUsing Podman with Alfresco
Using Podman with Alfresco
 
BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Docker
 
Environment isolation with Docker (Alex Medvedev, Alpari)
Environment isolation with Docker (Alex Medvedev, Alpari)Environment isolation with Docker (Alex Medvedev, Alpari)
Environment isolation with Docker (Alex Medvedev, Alpari)
 
Academy PRO: Docker. Lecture 4
Academy PRO: Docker. Lecture 4Academy PRO: Docker. Lecture 4
Academy PRO: Docker. Lecture 4
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017
 
Container Runtimes and Tooling, v2
Container Runtimes and Tooling, v2Container Runtimes and Tooling, v2
Container Runtimes and Tooling, v2
 

More from Flink Forward

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
Flink Forward
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
Flink Forward
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Flink Forward
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async Sink
Flink Forward
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at Pinterest
Flink Forward
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
Flink Forward
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in Flink
Flink Forward
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022
Flink Forward
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easy
Flink Forward
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data Alerts
Flink Forward
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Flink Forward
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial Services
Flink Forward
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
Flink Forward
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
Flink Forward
 
Welcome to the Flink Community!
Welcome to the Flink Community!Welcome to the Flink Community!
Welcome to the Flink Community!
Flink Forward
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
Flink Forward
 
Extending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use casesExtending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use cases
Flink Forward
 
The top 3 challenges running multi-tenant Flink at scale
The top 3 challenges running multi-tenant Flink at scaleThe top 3 challenges running multi-tenant Flink at scale
The top 3 challenges running multi-tenant Flink at scale
Flink Forward
 
Using Queryable State for Fun and Profit
Using Queryable State for Fun and ProfitUsing Queryable State for Fun and Profit
Using Queryable State for Fun and Profit
Flink Forward
 
Changelog Stream Processing with Apache Flink
Changelog Stream Processing with Apache FlinkChangelog Stream Processing with Apache Flink
Changelog Stream Processing with Apache Flink
Flink Forward
 

More from Flink Forward (20)

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async Sink
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at Pinterest
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in Flink
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easy
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data Alerts
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial Services
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
 
Welcome to the Flink Community!
Welcome to the Flink Community!Welcome to the Flink Community!
Welcome to the Flink Community!
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
 
Extending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use casesExtending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use cases
 
The top 3 challenges running multi-tenant Flink at scale
The top 3 challenges running multi-tenant Flink at scaleThe top 3 challenges running multi-tenant Flink at scale
The top 3 challenges running multi-tenant Flink at scale
 
Using Queryable State for Fun and Profit
Using Queryable State for Fun and ProfitUsing Queryable State for Fun and Profit
Using Queryable State for Fun and Profit
 
Changelog Stream Processing with Apache Flink
Changelog Stream Processing with Apache FlinkChangelog Stream Processing with Apache Flink
Changelog Stream Processing with Apache Flink
 

Recently uploaded

FIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Munich Seminar: FIDO Tech Principles.pptxFIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Alliance
 
FIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Munich Seminar FIDO Automotive Apps.pptxFIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Alliance
 
Increase Quality with User Access Policies - July 2024
Increase Quality with User Access Policies - July 2024Increase Quality with User Access Policies - July 2024
Increase Quality with User Access Policies - July 2024
Peter Caitens
 
FIDO Munich Seminar Introduction to FIDO.pptx
FIDO Munich Seminar Introduction to FIDO.pptxFIDO Munich Seminar Introduction to FIDO.pptx
FIDO Munich Seminar Introduction to FIDO.pptx
FIDO Alliance
 
Top 12 AI Technology Trends For 2024.pdf
Top 12 AI Technology Trends For 2024.pdfTop 12 AI Technology Trends For 2024.pdf
Top 12 AI Technology Trends For 2024.pdf
Marrie Morris
 
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partesExchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
jorgelebrato
 
Enterprise_Mobile_Security_Forum_2013.pdf
Enterprise_Mobile_Security_Forum_2013.pdfEnterprise_Mobile_Security_Forum_2013.pdf
Enterprise_Mobile_Security_Forum_2013.pdf
Yury Chemerkin
 
Indian Privacy law & Infosec for Startups
Indian Privacy law & Infosec for StartupsIndian Privacy law & Infosec for Startups
Indian Privacy law & Infosec for Startups
AMol NAik
 
"Building Future-Ready Apps with .NET 8 and Azure Serverless Ecosystem", Stan...
"Building Future-Ready Apps with .NET 8 and Azure Serverless Ecosystem", Stan..."Building Future-Ready Apps with .NET 8 and Azure Serverless Ecosystem", Stan...
"Building Future-Ready Apps with .NET 8 and Azure Serverless Ecosystem", Stan...
Fwdays
 
Choosing the Best Outlook OST to PST Converter: Key Features and Considerations
Choosing the Best Outlook OST to PST Converter: Key Features and ConsiderationsChoosing the Best Outlook OST to PST Converter: Key Features and Considerations
Choosing the Best Outlook OST to PST Converter: Key Features and Considerations
webbyacad software
 
Welcome to Cyberbiosecurity. Because regular cybersecurity wasn't complicated...
Welcome to Cyberbiosecurity. Because regular cybersecurity wasn't complicated...Welcome to Cyberbiosecurity. Because regular cybersecurity wasn't complicated...
Welcome to Cyberbiosecurity. Because regular cybersecurity wasn't complicated...
Snarky Security
 
Cracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
Cracking AI Black Box - Strategies for Customer-centric Enterprise ExcellenceCracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
Cracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
Quentin Reul
 
Perth MuleSoft Meetup July 2024
Perth MuleSoft Meetup July 2024Perth MuleSoft Meetup July 2024
Perth MuleSoft Meetup July 2024
Michael Price
 
Retrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with RagasRetrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with Ragas
Zilliz
 
Camunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptxCamunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptx
ZachWylie3
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
Zilliz
 
Finetuning GenAI For Hacking and Defending
Finetuning GenAI For Hacking and DefendingFinetuning GenAI For Hacking and Defending
Finetuning GenAI For Hacking and Defending
Priyanka Aash
 
How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...
DianaGray10
 
Scaling Vector Search: How Milvus Handles Billions+
Scaling Vector Search: How Milvus Handles Billions+Scaling Vector Search: How Milvus Handles Billions+
Scaling Vector Search: How Milvus Handles Billions+
Zilliz
 
The Challenge of Interpretability in Generative AI Models.pdf
The Challenge of Interpretability in Generative AI Models.pdfThe Challenge of Interpretability in Generative AI Models.pdf
The Challenge of Interpretability in Generative AI Models.pdf
Sara Kroft
 

Recently uploaded (20)

FIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Munich Seminar: FIDO Tech Principles.pptxFIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Munich Seminar: FIDO Tech Principles.pptx
 
FIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Munich Seminar FIDO Automotive Apps.pptxFIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Munich Seminar FIDO Automotive Apps.pptx
 
Increase Quality with User Access Policies - July 2024
Increase Quality with User Access Policies - July 2024Increase Quality with User Access Policies - July 2024
Increase Quality with User Access Policies - July 2024
 
FIDO Munich Seminar Introduction to FIDO.pptx
FIDO Munich Seminar Introduction to FIDO.pptxFIDO Munich Seminar Introduction to FIDO.pptx
FIDO Munich Seminar Introduction to FIDO.pptx
 
Top 12 AI Technology Trends For 2024.pdf
Top 12 AI Technology Trends For 2024.pdfTop 12 AI Technology Trends For 2024.pdf
Top 12 AI Technology Trends For 2024.pdf
 
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partesExchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
Exchange, Entra ID, Conectores, RAML: Todo, a la vez, en todas partes
 
Enterprise_Mobile_Security_Forum_2013.pdf
Enterprise_Mobile_Security_Forum_2013.pdfEnterprise_Mobile_Security_Forum_2013.pdf
Enterprise_Mobile_Security_Forum_2013.pdf
 
Indian Privacy law & Infosec for Startups
Indian Privacy law & Infosec for StartupsIndian Privacy law & Infosec for Startups
Indian Privacy law & Infosec for Startups
 
"Building Future-Ready Apps with .NET 8 and Azure Serverless Ecosystem", Stan...
"Building Future-Ready Apps with .NET 8 and Azure Serverless Ecosystem", Stan..."Building Future-Ready Apps with .NET 8 and Azure Serverless Ecosystem", Stan...
"Building Future-Ready Apps with .NET 8 and Azure Serverless Ecosystem", Stan...
 
Choosing the Best Outlook OST to PST Converter: Key Features and Considerations
Choosing the Best Outlook OST to PST Converter: Key Features and ConsiderationsChoosing the Best Outlook OST to PST Converter: Key Features and Considerations
Choosing the Best Outlook OST to PST Converter: Key Features and Considerations
 
Welcome to Cyberbiosecurity. Because regular cybersecurity wasn't complicated...
Welcome to Cyberbiosecurity. Because regular cybersecurity wasn't complicated...Welcome to Cyberbiosecurity. Because regular cybersecurity wasn't complicated...
Welcome to Cyberbiosecurity. Because regular cybersecurity wasn't complicated...
 
Cracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
Cracking AI Black Box - Strategies for Customer-centric Enterprise ExcellenceCracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
Cracking AI Black Box - Strategies for Customer-centric Enterprise Excellence
 
Perth MuleSoft Meetup July 2024
Perth MuleSoft Meetup July 2024Perth MuleSoft Meetup July 2024
Perth MuleSoft Meetup July 2024
 
Retrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with RagasRetrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with Ragas
 
Camunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptxCamunda Chapter NY Meetup July 2024.pptx
Camunda Chapter NY Meetup July 2024.pptx
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
 
Finetuning GenAI For Hacking and Defending
Finetuning GenAI For Hacking and DefendingFinetuning GenAI For Hacking and Defending
Finetuning GenAI For Hacking and Defending
 
How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...
 
Scaling Vector Search: How Milvus Handles Billions+
Scaling Vector Search: How Milvus Handles Billions+Scaling Vector Search: How Milvus Handles Billions+
Scaling Vector Search: How Milvus Handles Billions+
 
The Challenge of Interpretability in Generative AI Models.pdf
The Challenge of Interpretability in Generative AI Models.pdfThe Challenge of Interpretability in Generative AI Models.pdf
The Challenge of Interpretability in Generative AI Models.pdf
 

Simon Laws – Apache Flink Cluster Deployment on Docker and Docker-Compose

  • 1. IBM Confidential 1 Apache Flink Cluster Deployment On Docker and Docker-Compose Simon Laws simon_laws@uk.ibm.com
  • 2. © 2014 IBM Corporation What We’re Going To Build 2 Windows 7 IBM Bluemix VirtualBox 4.3.18 Ubuntu 14.04 Docker 4.3.18 Cygwin ssh Flink Jobmanager container Flink Taskmanager container Cloudfoundry Client Docker Flink image Flink Jobmanager container Flink Taskmanager container Flink image
  • 3. © 2014 IBM Corporation Docker 3 docker.com
  • 4. © 2014 IBM Corporation Docker 4 docker.com/ whatisdocker
  • 5. © 2014 IBM Corporation IBM Bluemix Sign up for a free account and experiment 5 bluemix.net
  • 6. © 2014 IBM Corporation IBM Bluemix Signup Sign up for a free account and experiment Various options for academics, startups etc. Prices here for when you go over free allocation https://console.eu- gb.bluemix.net/pricing/ 6 https://console.ng.bluemix.net/registration/
  • 7. © 2014 IBM Corporation Apache Flink and Docker 7 github.com/apache/ flink/tree/master/ flink-contrib/ docker-flink
  • 8. © 2014 IBM Corporation Install Ubuntu Using VirtualBox 8 Windows 7 IBM Bluemix VirtualBox 4.3.18 Ubuntu 14.04 Docker 4.3.18 Cygwin ssh Flink Jobmanager container Flink Taskmanager container Cloudfoundry Client Docker Flink image Flink Jobmanager container Flink Taskmanager container Flink image
  • 9. © 2014 IBM Corporation Setting Up The Host Operating System  If you’re on Linux you’re probably good to go  If you’re on Windows or OSX you need to run Linux on a VM  As an alternative you could do this on a VM in the new VM service in Bluemix. It’s in Beta at the moment.  Get VirtualBox  Create a Linux VM (I used Ubuntu)  Install Docker  Download Flink Source  Try a Flink example 9
  • 10. © 2014 IBM Corporation Get VirtualBox 10 virtualbox.org
  • 11. © 2014 IBM Corporation Get Linux Distro (I went for Ubuntu 14.04) 11 releases.ubuntu.com/14.04
  • 12. © 2014 IBM Corporation Create VM from ISO in VirtualBox (and set port forwarding) 12 End result is that I can now SSH into the instance of Ubuntu running inside VitualBox. Everything for this point on happens inside this Ubuntu VM To start with make sure that Ubuntu is up to date > sudo su - > apt-get update sudo su - apt-get updatesudo su - apt-get update
  • 13. © 2014 IBM Corporation Install Docker and Flink 13 Windows 7 IBM Bluemix VirtualBox 4.3.18 Ubuntu 14.04 Docker 4.3.18 Cygwin ssh Flink Jobmanager container Flink Taskmanager container Cloudfoundry Client Docker Flink image Flink Jobmanager container Flink Taskmanager container Flink image
  • 14. © 2014 IBM Corporation Install Docker and Docker-Compose 14 github.com/apache/ flink/tree/master/ flink-contrib/ docker-flink
  • 15. © 2014 IBM Corporation Download Flink Source 15 git clone https://github.com/apache/flink.git cd flink/flink-contrib/docker-flink The base Docker image source Builds the “base” and “flink” images The flink Docker image source Docker-Compose configuration
  • 16. © 2014 IBM Corporation Docker Images and Containers 16 Source Docker Image Docker Container docker build docker run What Images Do I have? docker images What Containers Do I have running? Push elsewhere (Docker Hub) To share with others ssh or docker exec docker psDockerfile
  • 17. © 2014 IBM Corporation Dockerfiles – The Recipe for a Docker Image 17
  • 18. © 2014 IBM Corporation Build Docker Images 18 Windows 7 IBM Bluemix VirtualBox 4.3.18 Ubuntu 14.04 Docker 4.3.18 Cygwin ssh Flink Jobmanager container Flink Taskmanager container Cloudfoundry Client Docker Flink image Flink Jobmanager container Flink Taskmanager container Flink image
  • 19. © 2014 IBM Corporation Building The Images From the Docker Files 19 ./build.sh If you look in the script it use the “docker build” command to build a “base” image and a “flink” image This failed for me on the first attempt with the base build reporting chpasswd: (user root) pam_chauthtok() failed, error: System error chpasswd: (line 1, user root) password not changed It turned out I had an old version of Docker so I updated to latest and it worked
  • 20. © 2014 IBM Corporation The Built Images 20
  • 21. © 2014 IBM Corporation Run Docker Containers 21 Windows 7 IBM Bluemix VirtualBox 4.3.18 Ubuntu 14.04 Docker 4.3.18 Cygwin ssh Flink Jobmanager container Flink Taskmanager container Cloudfoundry Client Docker Flink image Flink Jobmanager container Flink Taskmanager container Flink image
  • 22. © 2014 IBM Corporation Running Linked Images Manually (To See What’s Going On) 22 docker run -d -p 48080:8080 -p 48081:8081 --expose 6123 --name jobmanager flink /usr/local/flink/bin/config-flink.sh jobmanager docker run -d --expose 6121 --expose 6122 --link jobmanager --name taskmanager1 flink The job manager Add a task manager This failed at first with a strange “Exec format exception”. I made a local fix by removing the comment from the top of the flink/config-flink.sh file leaving #!/bin/bash As the first line
  • 23. © 2014 IBM Corporation Flink up and Running 23
  • 24. © 2014 IBM Corporation Running a Test 24 I had previously uploaded flink-java-examples-0.9.1-WordCount.jar from my local Windows install of Flink
  • 25. © 2014 IBM Corporation Accessing Containers with Docker Exec 25
  • 26. © 2014 IBM Corporation Making Things Simpler With Docker-Compose 26 docker-compose up –d docker-compose scale taskmanager=3 docker-compose kill
  • 27. © 2014 IBM Corporation Connecting To Bluemix 27 Windows 7 IBM Bluemix VirtualBox 4.3.18 Ubuntu 14.04 Docker 4.3.18 Cygwin ssh Flink Jobmanager container Flink Taskmanager container Cloudfoundry Client Docker Flink image Flink Jobmanager container Flink Taskmanager container Flink image
  • 28. © 2014 IBM Corporation Running the Images On Bluemix 28 Log in to Bluemix: 1.cf login Run the IBM Containers cf CLI plug-in. 2.cf ic login Create a Dockerfile in the root directory of your app source files. Learn more about Dockerfiles. Build an image from your Dockerfile. The command returns an image ID. 3. docker build -t image_name Tag the image with your private namespace in the IBM Containers registry. 4. docker tag image_name registry.stage1.ng.bluemix.net/sluk/image_name:image_tag The image name is optional. If it is not specified, the image is tagged with latest. Push this image to the IBM Containers registry: 5. docker push registry.stage1.ng.bluemix.net/sluk/image_name:image_tag You can create a container from this image in the Bluemix Catalog, or with the following command: 6. cf ic run --name container_name registry.stage1.ng.bluemix.net/sluk/image_name:image_tag
  • 29. © 2014 IBM Corporation Install The Cloud Foundary Client Software 29 In the Ubuntu VM we have been using to run Flink using Docker get and install the Cloud Foundary client tool wget --output-document=cfcli.deb https://cli.run.pivotal.io/stable?release=debian64&version=6.12.4&source=githu b-rel dpkg -i cfcli.deb In the Ubuntu VM we have been using to run Flink using Docker get and install the Cloud Foundary client cf install-plugin https://static-ice.ng.bluemix.net/ibm-containers-linux_x64
  • 30. © 2014 IBM Corporation Log Into Bluemix – Web User Interface 30
  • 31. © 2014 IBM Corporation Log Into Bluemix – Command Line Using CF Tool 31
  • 32. © 2014 IBM Corporation Log Into Bluemix Containers – Command Line Using CF Tool 32
  • 33. © 2014 IBM Corporation Push Image Up To Bluemix 33 Windows 7 IBM Bluemix VirtualBox 4.3.18 Ubuntu 14.04 Docker 4.3.18 Cygwin ssh Flink Jobmanager container Flink Taskmanager container Cloudfoundry Client Docker Flink image Flink Jobmanager container Flink Taskmanager container Flink image
  • 34. © 2014 IBM Corporation Tag and Push Up Our Images 34 docker tag flink registry.ng.bluemix.net/sluk/flink docker push registry.ng.bluemix.net/sluk/flink
  • 35. © 2014 IBM Corporation List Images Now Up On Bluemix 35 cf ic images
  • 36. © 2014 IBM Corporation Run Containers On Bluemix 36 Windows 7 IBM Bluemix VirtualBox 4.3.18 Ubuntu 14.04 Docker 4.3.18 Cygwin ssh Flink Jobmanager container Flink Taskmanager container Cloudfoundry Client Docker Flink image Flink Jobmanager container Flink Taskmanager container Flink image
  • 37. © 2014 IBM Corporation Creating Containers in Bluemix via User Interface 37
  • 38. © 2014 IBM Corporation Creating Containers in Bluemix via CF Command Line 38 Option 1) Leverage this Cloud Foundry IBM Containers plugin without affecting the local docker environment: Example Usage: cf ic ps cf ic images Option 2) Leverage the docker CLI directly. In this shell, override local docker environment to connect to IBM Containers by setting these variables, export DOCKER_HOST=tcp://containers-api.ng.bluemix.net:8443 export DOCKER_CERT_PATH=/root/.ice/certs export DOCKER_TLS_VERIFY=1 Example Usage: docker ps docker images
  • 39. © 2014 IBM Corporation39 Create jobmanager Container in Bluemix via CF Command Line cf ic run -p 22:22 -p 8080:8080 -p 8081:8081 -p 6123:6123 --expose 6123 --name jobmanager registry.ng.bluemix.net/sluk/flink /usr/local/flink/bin/config-flink.sh jobmanager Assign a public IP so you can get to the console
  • 40. © 2014 IBM Corporation40 Create taskmanager Container in Bluemix via CF Command Line cf ic run -p 22:22 -p 6121:6121 -p 6122:6122 --expose 6121 -- expose 6122 --name taskmanager1 --link jobmanager:jobmanager registry.ng.bluemix.net/sluk/flink /usr/local/flink/bin/config- flink.sh taskmanager
  • 41. © 2014 IBM Corporation Running The Flink Cluster 41
  • 42. © 2014 IBM Corporation QUESTIONS? 42