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 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
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaJames Wong
 
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

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 

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.