SlideShare a Scribd company logo
1 of 16
Firing up Strom
Md. Shamsur Rahim
Student of MScCS
American International University
Bangladesh
Required Software Package
• Java SDK 6
▫ http://www.oracle.com/technetwork/java/javase/dow
nloads/index.html
• Maven
▫ software dependency management tool and is used to
manage the project's build, reporting, and
documentation.
▫ http://maven.apache.org/download.cgi
• Spring Tool Suite: IDE
▫ is an integrated development environment and is used
to develop applications.
▫ https://spring.io/tools/sts/all
Configuring Spring Tool Suite: IDE
• Go to Windows| Preferences|
Maven| Installations and add
the path of maven-3.0.4, as
shown in the following
screenshot:
• Go to Window| Preferences|
Java| Installed JREs and add the
path of Java Runtime
Environment 6(JRE 6), as shown
in the following screenshot:
Developing a sample topology
Steps to create and execute a sample topology
1. Start your STS IDE and create a Maven project.
2. Select your Workspace location and click “Next”.
3. Now select “org.apache.maven.archtypes” [A Maven Java plugin
dev. project] and click Next.
4. Specify com.learningstorm as Group Id and storm-example as
Artifact Id, as shown in the following screenshot:
Storm components
A Storm cluster
follows a master-
slave model where
the master and
slave processes are
coordinated
through
ZooKeeper.
Storm components: Nimbus
• Nimbus:
▫ is the master in a Storm cluster.
▫ It is responsible for :
 distributing application code across various worker
nodes
 assigning tasks to different machines
 monitoring tasks for any failures
 restarting them as and when required
▫ It is stateless.
▫ Stores all of its data in ZooKeeper.
▫ Only one Nimbus node in a Storm Cluster.
▫ It can be restarted without having any effects on the
already running tasks on the worker nodes.
Storm components: Supervisor nodes
• Supervisor nodes
▫ are the worker nodes in a Storm cluster.
▫ Each supervisor node runs a supervisor daemon that is
responsible for-
 creating,
 Starting and
 Stopping
worker processes to execute the tasks assigned to that
node.
▫ Like Nimbus, a supervisor daemon is also fail-fast and
stores all of its state in ZooKeeper so that it can be
restarted without any state loss.
▫ A single supervisor daemon normally handles multiple
worker processes .
Storm components: The ZooKeeper cluster
• ZooKeeper is an application that:
▫ Coordinates,
▫ Shares some configuration information
Among various processes.
▫ Being a distributed application, Storm also uses a
ZooKeeper cluster to coordinate various processes.
▫ All of the states associated with the cluster and the various
tasks submitted to the Storm are stored in ZooKeeper.
▫ Nimbus and Supervisor Nodes communicate only through
ZooKeeper.
▫ As all data are stored in ZooKeeper, So any time we can kill
Nimbus or supervisor daemons without affecting cluster.
The Storm data model
• Basic unit of data that can be processed by a Storm
application is called a tuple.
• Each tuple consists of a predefined list of fields.
• The value of each field can be a byte, char, integer,
long, float, double, Boolean, or byte array.
• Storm also provides an API to define your own data
types, which can be serialized as fields in a tuple.
• A tuple is dynamically typed, that is, you just need to
define the names of the fields in a tuple and not
their data type.
• Fields in a tuple can be accessed by its name
getValueByField(String) or its positional
index getValue(int).
Definition of a Storm topology
• A topology is an abstraction that
defines the graph of the
computation.
• We create a Storm topology and
deploy it on a Storm cluster to
process the data.
• A topology can be represented by a
direct acyclic graph.
The Components of a Storm topology:
Stream
• Stream:
▫ The key abstraction in Storm is that of a stream.
▫ It is an unbounded sequence of tuples that can be
processed in parallel by Storm.
▫ Each stream can be processed by a single or
multiple types of bolts.
▫ Each stream in a Storm application is given an ID.
▫ The bolts can produce and consume tuples from
these streams on the basis of their ID.
▫ Each stream also has an associated schema for the
tuples that will flow through it.(????)
The Components of a Storm topology:
Spout
• Spout:
▫ A spout is the source of tuples in a Storm topology.
▫ It is responsible for reading or listening to data
from an external source and publishing them—
emitting (into stream).
▫ A spout can emit multiple streams.
▫ Some important methods of spout are:
nextTuple() ack(Object msgId)
open() fail(Object msgId)
The Components of a Storm topology:
Bolt• Bolt:
▫ A bolt is the processing powerhouse of a Storm topology.
▫ It is responsible for transforming a stream.
▫ each bolt in the topology should be doing a simple
transformation of the tuples.
▫ many such bolts can coordinate with each other to exhibit a
complex transformation.
▫ Some important methods of Bolt are:
 execute(Tuple input):
 This method is executed for each tuple that comes through
the subscribed input streams.
 prepare(Map stormConf, TopologyContext
context, OutputCollector collector):
 In this method, you should make sure the bolt is properly
configured to execute tuples now.
Operation modes
Operation modes indicate how the topology is
deployed in Storm.
• The local mode:
▫ Storm topologies run on the local machine in a
single JVM.
• The remote mode:
▫ we will use the Storm client to submit the topology
to the master along with all the necessary code
required to execute the topology.
Slide #2: How to Setup Apache STROM

More Related Content

Viewers also liked

Vishvas resume template-18-cmmaao-pmi
Vishvas resume template-18-cmmaao-pmiVishvas resume template-18-cmmaao-pmi
Vishvas resume template-18-cmmaao-pmivishvasyadav45
 
Meeting the needs of working parents - Vidhya Alakeson
Meeting the needs of working parents - Vidhya AlakesonMeeting the needs of working parents - Vidhya Alakeson
Meeting the needs of working parents - Vidhya AlakesonResolutionFoundation
 
Cmmaao decision-log-pmi-pmp
Cmmaao decision-log-pmi-pmpCmmaao decision-log-pmi-pmp
Cmmaao decision-log-pmi-pmpvishvasyadav45
 
Tips for Effective Real Estate Listing
Tips for Effective Real Estate ListingTips for Effective Real Estate Listing
Tips for Effective Real Estate ListingRE/MAX Andhra Pradesh
 
WordPress Web Design in Birmingham (Infographic)
WordPress Web Design in Birmingham (Infographic)WordPress Web Design in Birmingham (Infographic)
WordPress Web Design in Birmingham (Infographic)Opace Web Design
 
Customer readiness signoff v1b cmmaao pmi pmp
Customer readiness signoff v1b cmmaao pmi pmpCustomer readiness signoff v1b cmmaao pmi pmp
Customer readiness signoff v1b cmmaao pmi pmpvishvasyadav45
 
Cmmaao timesheet-totals-pmi-pmp
Cmmaao timesheet-totals-pmi-pmpCmmaao timesheet-totals-pmi-pmp
Cmmaao timesheet-totals-pmi-pmpvishvasyadav45
 
Ch 7 Capstone Case
Ch 7 Capstone CaseCh 7 Capstone Case
Ch 7 Capstone Casemcajnh
 
Pmi pmbok-resume template-16
Pmi pmbok-resume template-16Pmi pmbok-resume template-16
Pmi pmbok-resume template-16vishvasyadav45
 
Design blueprint v1b cmmaao pmi pmp
Design blueprint v1b cmmaao pmi pmpDesign blueprint v1b cmmaao pmi pmp
Design blueprint v1b cmmaao pmi pmpvishvasyadav45
 
Research summary and recommendations v1b cmmaao pmi pmp
Research summary and recommendations v1b cmmaao pmi pmpResearch summary and recommendations v1b cmmaao pmi pmp
Research summary and recommendations v1b cmmaao pmi pmpvishvasyadav45
 
Pmi pmbok-resume template-4
Pmi pmbok-resume template-4Pmi pmbok-resume template-4
Pmi pmbok-resume template-4vishvasyadav45
 
Resume template 18-cmmaao-pmi
Resume template 18-cmmaao-pmiResume template 18-cmmaao-pmi
Resume template 18-cmmaao-pmivishvasyadav45
 

Viewers also liked (20)

Vishvas resume template-18-cmmaao-pmi
Vishvas resume template-18-cmmaao-pmiVishvas resume template-18-cmmaao-pmi
Vishvas resume template-18-cmmaao-pmi
 
Meeting the needs of working parents - Vidhya Alakeson
Meeting the needs of working parents - Vidhya AlakesonMeeting the needs of working parents - Vidhya Alakeson
Meeting the needs of working parents - Vidhya Alakeson
 
Cmmaao decision-log-pmi-pmp
Cmmaao decision-log-pmi-pmpCmmaao decision-log-pmi-pmp
Cmmaao decision-log-pmi-pmp
 
Tips for Effective Real Estate Listing
Tips for Effective Real Estate ListingTips for Effective Real Estate Listing
Tips for Effective Real Estate Listing
 
WordPress Web Design in Birmingham (Infographic)
WordPress Web Design in Birmingham (Infographic)WordPress Web Design in Birmingham (Infographic)
WordPress Web Design in Birmingham (Infographic)
 
Cmmaao cba-pmi-pmp
Cmmaao cba-pmi-pmpCmmaao cba-pmi-pmp
Cmmaao cba-pmi-pmp
 
2010 halloween
2010 halloween2010 halloween
2010 halloween
 
Customer readiness signoff v1b cmmaao pmi pmp
Customer readiness signoff v1b cmmaao pmi pmpCustomer readiness signoff v1b cmmaao pmi pmp
Customer readiness signoff v1b cmmaao pmi pmp
 
Cmmaao timesheet-totals-pmi-pmp
Cmmaao timesheet-totals-pmi-pmpCmmaao timesheet-totals-pmi-pmp
Cmmaao timesheet-totals-pmi-pmp
 
Ch 7 Capstone Case
Ch 7 Capstone CaseCh 7 Capstone Case
Ch 7 Capstone Case
 
Pmi pmbok-resume template-16
Pmi pmbok-resume template-16Pmi pmbok-resume template-16
Pmi pmbok-resume template-16
 
Resume template 17
Resume template 17Resume template 17
Resume template 17
 
Cmmaao pvt-ltd-pmi
Cmmaao pvt-ltd-pmiCmmaao pvt-ltd-pmi
Cmmaao pvt-ltd-pmi
 
Design blueprint v1b cmmaao pmi pmp
Design blueprint v1b cmmaao pmi pmpDesign blueprint v1b cmmaao pmi pmp
Design blueprint v1b cmmaao pmi pmp
 
Research summary and recommendations v1b cmmaao pmi pmp
Research summary and recommendations v1b cmmaao pmi pmpResearch summary and recommendations v1b cmmaao pmi pmp
Research summary and recommendations v1b cmmaao pmi pmp
 
Pmi pmbok-resume template-4
Pmi pmbok-resume template-4Pmi pmbok-resume template-4
Pmi pmbok-resume template-4
 
LOVE VERSUS POLITICS
LOVE VERSUS POLITICSLOVE VERSUS POLITICS
LOVE VERSUS POLITICS
 
Resume template 18-cmmaao-pmi
Resume template 18-cmmaao-pmiResume template 18-cmmaao-pmi
Resume template 18-cmmaao-pmi
 
Public Sector Enterprises Newsletter, January 2014
Public Sector Enterprises Newsletter, January 2014Public Sector Enterprises Newsletter, January 2014
Public Sector Enterprises Newsletter, January 2014
 
A Glimpse into India's Future
A Glimpse into India's FutureA Glimpse into India's Future
A Glimpse into India's Future
 

Similar to Slide #2: How to Setup Apache STROM

Slide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormSlide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormMd. Shamsur Rahim
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Uri Cohen
 
Real-Time Inverted Search NYC ASLUG Oct 2014
Real-Time Inverted Search NYC ASLUG Oct 2014Real-Time Inverted Search NYC ASLUG Oct 2014
Real-Time Inverted Search NYC ASLUG Oct 2014Bryan Bende
 
Hadoop cluster performance profiler
Hadoop cluster performance profilerHadoop cluster performance profiler
Hadoop cluster performance profilerIhor Bobak
 
Metasploit (Module-1) - Getting Started With Metasploit
Metasploit (Module-1) - Getting Started With MetasploitMetasploit (Module-1) - Getting Started With Metasploit
Metasploit (Module-1) - Getting Started With MetasploitAnurag Srivastava
 
Real-time Inverted Search in the Cloud Using Lucene and Storm
Real-time Inverted Search in the Cloud Using Lucene and StormReal-time Inverted Search in the Cloud Using Lucene and Storm
Real-time Inverted Search in the Cloud Using Lucene and Stormlucenerevolution
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaLuis Goldster
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaJames Wong
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaHarry Potter
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaYoung Alista
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaTony Nguyen
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaFraboni Ec
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaHoang Nguyen
 
Multi threading
Multi threadingMulti threading
Multi threadinggndu
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Vinay Kumar
 

Similar to Slide #2: How to Setup Apache STROM (20)

Slide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormSlide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache Storm
 
1 storm-intro
1 storm-intro1 storm-intro
1 storm-intro
 
Storm
StormStorm
Storm
 
Apache Storm
Apache StormApache Storm
Apache Storm
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014
 
Real-Time Inverted Search NYC ASLUG Oct 2014
Real-Time Inverted Search NYC ASLUG Oct 2014Real-Time Inverted Search NYC ASLUG Oct 2014
Real-Time Inverted Search NYC ASLUG Oct 2014
 
01 oracle architecture
01 oracle architecture01 oracle architecture
01 oracle architecture
 
Hadoop cluster performance profiler
Hadoop cluster performance profilerHadoop cluster performance profiler
Hadoop cluster performance profiler
 
Metasploit (Module-1) - Getting Started With Metasploit
Metasploit (Module-1) - Getting Started With MetasploitMetasploit (Module-1) - Getting Started With Metasploit
Metasploit (Module-1) - Getting Started With Metasploit
 
Real-time Inverted Search in the Cloud Using Lucene and Storm
Real-time Inverted Search in the Cloud Using Lucene and StormReal-time Inverted Search in the Cloud Using Lucene and Storm
Real-time Inverted Search in the Cloud Using Lucene and Storm
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Multi threading
Multi threadingMulti threading
Multi threading
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
 
Introduction java programming
Introduction java programmingIntroduction java programming
Introduction java programming
 

Recently uploaded

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Recently uploaded (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Slide #2: How to Setup Apache STROM

  • 1. Firing up Strom Md. Shamsur Rahim Student of MScCS American International University Bangladesh
  • 2. Required Software Package • Java SDK 6 ▫ http://www.oracle.com/technetwork/java/javase/dow nloads/index.html • Maven ▫ software dependency management tool and is used to manage the project's build, reporting, and documentation. ▫ http://maven.apache.org/download.cgi • Spring Tool Suite: IDE ▫ is an integrated development environment and is used to develop applications. ▫ https://spring.io/tools/sts/all
  • 3. Configuring Spring Tool Suite: IDE • Go to Windows| Preferences| Maven| Installations and add the path of maven-3.0.4, as shown in the following screenshot: • Go to Window| Preferences| Java| Installed JREs and add the path of Java Runtime Environment 6(JRE 6), as shown in the following screenshot:
  • 5. Steps to create and execute a sample topology 1. Start your STS IDE and create a Maven project. 2. Select your Workspace location and click “Next”. 3. Now select “org.apache.maven.archtypes” [A Maven Java plugin dev. project] and click Next. 4. Specify com.learningstorm as Group Id and storm-example as Artifact Id, as shown in the following screenshot:
  • 6. Storm components A Storm cluster follows a master- slave model where the master and slave processes are coordinated through ZooKeeper.
  • 7. Storm components: Nimbus • Nimbus: ▫ is the master in a Storm cluster. ▫ It is responsible for :  distributing application code across various worker nodes  assigning tasks to different machines  monitoring tasks for any failures  restarting them as and when required ▫ It is stateless. ▫ Stores all of its data in ZooKeeper. ▫ Only one Nimbus node in a Storm Cluster. ▫ It can be restarted without having any effects on the already running tasks on the worker nodes.
  • 8. Storm components: Supervisor nodes • Supervisor nodes ▫ are the worker nodes in a Storm cluster. ▫ Each supervisor node runs a supervisor daemon that is responsible for-  creating,  Starting and  Stopping worker processes to execute the tasks assigned to that node. ▫ Like Nimbus, a supervisor daemon is also fail-fast and stores all of its state in ZooKeeper so that it can be restarted without any state loss. ▫ A single supervisor daemon normally handles multiple worker processes .
  • 9. Storm components: The ZooKeeper cluster • ZooKeeper is an application that: ▫ Coordinates, ▫ Shares some configuration information Among various processes. ▫ Being a distributed application, Storm also uses a ZooKeeper cluster to coordinate various processes. ▫ All of the states associated with the cluster and the various tasks submitted to the Storm are stored in ZooKeeper. ▫ Nimbus and Supervisor Nodes communicate only through ZooKeeper. ▫ As all data are stored in ZooKeeper, So any time we can kill Nimbus or supervisor daemons without affecting cluster.
  • 10. The Storm data model • Basic unit of data that can be processed by a Storm application is called a tuple. • Each tuple consists of a predefined list of fields. • The value of each field can be a byte, char, integer, long, float, double, Boolean, or byte array. • Storm also provides an API to define your own data types, which can be serialized as fields in a tuple. • A tuple is dynamically typed, that is, you just need to define the names of the fields in a tuple and not their data type. • Fields in a tuple can be accessed by its name getValueByField(String) or its positional index getValue(int).
  • 11. Definition of a Storm topology • A topology is an abstraction that defines the graph of the computation. • We create a Storm topology and deploy it on a Storm cluster to process the data. • A topology can be represented by a direct acyclic graph.
  • 12. The Components of a Storm topology: Stream • Stream: ▫ The key abstraction in Storm is that of a stream. ▫ It is an unbounded sequence of tuples that can be processed in parallel by Storm. ▫ Each stream can be processed by a single or multiple types of bolts. ▫ Each stream in a Storm application is given an ID. ▫ The bolts can produce and consume tuples from these streams on the basis of their ID. ▫ Each stream also has an associated schema for the tuples that will flow through it.(????)
  • 13. The Components of a Storm topology: Spout • Spout: ▫ A spout is the source of tuples in a Storm topology. ▫ It is responsible for reading or listening to data from an external source and publishing them— emitting (into stream). ▫ A spout can emit multiple streams. ▫ Some important methods of spout are: nextTuple() ack(Object msgId) open() fail(Object msgId)
  • 14. The Components of a Storm topology: Bolt• Bolt: ▫ A bolt is the processing powerhouse of a Storm topology. ▫ It is responsible for transforming a stream. ▫ each bolt in the topology should be doing a simple transformation of the tuples. ▫ many such bolts can coordinate with each other to exhibit a complex transformation. ▫ Some important methods of Bolt are:  execute(Tuple input):  This method is executed for each tuple that comes through the subscribed input streams.  prepare(Map stormConf, TopologyContext context, OutputCollector collector):  In this method, you should make sure the bolt is properly configured to execute tuples now.
  • 15. Operation modes Operation modes indicate how the topology is deployed in Storm. • The local mode: ▫ Storm topologies run on the local machine in a single JVM. • The remote mode: ▫ we will use the Storm client to submit the topology to the master along with all the necessary code required to execute the topology.