~kos.tsakalozos/charms/trusty/hdp-storm/trunk

« back to all changes in this revision

Viewing changes to README.md

  • Committer: amir sanjar
  • Date: 2014-09-17 00:31:34 UTC
  • Revision ID: amir.sanjar@canonical.com-20140917003134-qzvpp37bw9rghw0h
Review update

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# Overview
2
2
 
3
3
Hortonworks (HDP 2.1.3) Apache Storm is a free and open source distributed 
4
 
realtime computation system. Storm makes it easy to reliably process unbounded
5
 
streams of data, doing for realtime processing what Hadoop did for batch processing
6
 
 
7
 
Storm has many use cases: realtime analytics, online machine learning, continuous
 
4
real-time computation system. Storm makes it easy to reliably process unbounded
 
5
streams of data, doing for real-time processing what Hadoop did for batch processing
 
6
Storm has many use cases: real-time analytics, on-line machine learning, continuous
8
7
computation, distributed RPC, ETL, and more. Storm is fast: a benchmark clocked 
9
8
it at over a million tuples processed per second per node. It is scalable, 
10
9
fault-tolerant, guarantees your data will be processed, and is easy to set up 
11
10
and operate.
12
 
 
13
 
This charm will build a storm cluster consistant of:
14
 
1) Nimbus master node with following daemons will configured and loaded:
15
 
        storm-drpc
16
 
        storm-logviewer
17
 
        storm-nimbus
18
 
        storm-ui
19
 
2) Storm worker node(s) with following daemons will configured and loaded:
20
 
        storm-logviewer
21
 
        storm-supervisor 
22
 
# deployment 
23
 
 
24
 
start a 3 node Hortonworks zookeeper quorum:
25
 
        juju deploy hdp-zookeeper hdp-zookeeper
26
 
       juju add-unit -n 2 hdp-zookeeper
27
 
 
28
 
        NOTE: Zookeeper must be loaded and active, to verify:
29
 
                $ echo ruok | nc {hdp-zookeeper/0 IP address} 2181
30
 
                imok   # I'm ok must be the reply
31
 
                $ echo stat | nc {hdp-zookeeper/0 IP address} 2181
32
 
                Node count: 4 # check for node count 
33
 
start Apache Storm:
34
 
        juju deploy hdp-storm nimbus-server
35
 
        juju deploy hdp-storm storm-worker
36
 
        juju add-relation nimbus-server:zookeeper hdp-zookeeper:zookeeper
37
 
        juju add-relation storm-worker:zookeeper hdp-zookeeper:zookeeper
38
 
        juju add-relation nimbus-server:nimbus storm-worker:slave
39
 
 
40
 
        To varify a successful deployment:
41
 
        http://{nimbus-server ip address}:8080
42
 
        
43
 
        
44
 
## Scale out Usage
45
 
        Example, adding 5 more worker nodes
46
 
        juju add-unit -n 5 storm-worker
47
 
        
48
 
        To varify a successful scale:
49
 
        http://{nimbus-server ip address}:8080
50
 
 
51
 
# Realtime usage
 
11
This charm will build a storm cluster consistent of:
 
12
 1. Nimbus master node with following daemons will configured and loaded  
 
13
 
 
14
>  storm-drpc 
 
15
>  storm-logviewer
 
16
>  storm-nimbus
 
17
>  storm-ui
 
18
 
 
19
 1. Storm worker node(s) with following daemons will configured and loaded:
 
20
 
 
21
> storm-logviewer       
 
22
> storm-supervisor
 
23
 
 
24
# Deployment 
 
25
 
 
26
**start a 3 node Hortonworks zookeeper quorum:**        
 
27
 
 
28
    juju deploy hdp-zookeeper hdp-zookeeper
 
29
    juju add-unit -n 2 hdp-zookeeper    
 
30
 
 
31
 NOTE: Zookeeper must be loaded and active, to verify:   
 
32
 
 
33
     $echo ruok | nc {hdp-zookeeper/0 IP address} 2181
 
34
 
 
35
 imok   # I'm ok must be the reply      
 
36
 
 
37
    $ echo stat | nc {hdp-zookeeper/0 IP address} 2181
 
38
 
 
39
   Node count: 4 # check for node count
 
40
 
 
41
**start Apache Storm:**
 
42
 
 
43
    juju deploy hdp-storm nimbus-server         
 
44
    juju deploy hdp-storm storm-worker
 
45
    juju add-relation nimbus-server:zookeeper hdp-zookeeper:zookeeper
 
46
    juju add-relation storm-worker:zookeeper hdp-zookeeper:zookeeper
 
47
    juju add-relation nimbus-server:nimbus storm-worker:slave
 
48
 
 
49
**To verify a successful deployment:**
 
50
 
 
51
    http://{nimbus-server ip address}:8080     
 
52
 
 
53
# Real-time usage
52
54
Sample use-case - Deploying and Managing Apache Storm Topologies:
53
55
Use the command-line interface to deploy a Storm topology after packaging it in
54
56
a jar. For example, use the following command to deploy WordCount Topology from 
55
57
the storm-starter. WordCount Spout randomly generates data
56
 
streams that get processed by wordCount Bolts.
57
 
 
58
 
  1) juju ssh nimbus-server/0
59
 
  2) storm jar /usr/lib/storm/contrib/storm-starter/storm-starter-0.9.1.2.1.3.0-563-jar-with-dependencies.jar storm.starter.WordCountTopology WordCount
60
 
  Note: #2 will deploy the topology (Storm application) into cluster
61
 
  3) verify "Topology summary" : http://{nimbus-server ip address}:8080
62
 
  4) under "Topology summary", click on "WordCount"
63
 
  5) notice Spouts & Bolts tasks
64
 
## Scale out Usage
 
58
streams that get processed by wordCount Bolts.  
 
59
 
 
60
     - $juju ssh nimbus-server/0
 
61
     - $storm jar /usr/lib/storm/contrib/storm-starter/storm-starter-0.9.1.2.1.3.0-563-jar-with-dependencies.ja        storm.starter.WordCountTopology WordCount
 
62
     - Note: #2 will deploy the topology (Storm application) into cluster
 
63
     - Verify "Topology  summary" : http://{nimbus-server ip address}:8080   
 
64
     - Under "Topology  summary", click on "WordCount"  
 
65
     - Monitor Spouts & Bolts tasks
 
66
 
 
67
# Scale out usage
65
68
  Example, adding 5 more worker nodes
66
 
  1) juju add-unit -n 5 storm-worker
67
 
  To verify a successful scale:
68
 
  2) http://{nimbus-server ip address}:8080
69
 
  3) under "Topology summary", click on "WordCount"
70
 
  4) Click on "Spout" link in "Spouts (All time)" section
71
 
  5) Note "Host" list under "Executors (All time)" section
72
 
  6) Go back to "Topology summary"
73
 
  7) Click on "Rebalance" in "Topology actions" section
74
 
  8) Click on "Spout" link in "Spouts (All time)" section
75
 
  9) refresh, notice rebalancing of job as more storm-worker threads become available 
76
 
## Known Limitations and Issues
77
 
 
78
 
 
 
69
 
 
70
     juju add-unit -n 5 storm-worker
 
71
 
 
72
 
 
73
   To verify a successful scale:
 
74
 
 
75
     - http://{nimbus-server ip address}:8080
 
76
     - Under "Topology summary", click on "WordCount"
 
77
     - Click on "Spout" link in "Spouts (All time)" section
 
78
     - Note "Host" list under "Executors (All time)" section
 
79
     - Go back to "Topology summary"
 
80
     - Click on "Rebalance" in "Topology actions" section
 
81
     - Click on "Spout" link in "Spouts (All time)" section
 
82
     - Refresh, notice re-balancing of job as more storm-worker threads become available
79
83
 
80
84
# Contact Information
81
 
amir sanjar <amir.sanjar@canonical.com>
82
 
 
83
 
## Upstream Project Name
84
 
 
85
 
- Upstream website: http://hortonworks.com/
86
 
- Upstream bug tracker https://storm.incubator.apache.org/
 
85
Amir Sanjar <amir.sanjar@canonical.com>
 
86
 
 
87
## Apache & Hortonworks Storm 
 
88
 
 
89
- [Hortonworks website](http://hortonworks.com)
 
90
- [Hortonworks Storm documentation](http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.1.3/bk_installing_manually_book/content/ch_rpm_storm.html)
 
91
- [Apache Storm upstream bug tracker](https://storm.incubator.apache.org)
 
92
- [Apache Storm documentation](https://storm.incubator.apache.org/documentation/Home.html)
 
93