==============================================================
In this guide we will shows how to use our tested framework:
===============================================================
I:Batch Mode
**************************Flink******************************
To run a Flink project, please follow the following steps:

 1-  Start a YARN session with 9 Task Managers (each with 8 GB of Heapspace):
     /home/hduser/flink/bin/yarn-session.sh -n 9 -jm 4096 -tm 8192 -m yarn-cluster
     We notice that /home/hduser/flink contains Flink installation files.
 2- submit or execute  our jar file :
-------------------------------------
     Wordcount workload :
-------------------------------------
    /home/hduser/flink/bin/flink run -m yarn-cluster -c [com.flink.App]   [flink-bach-1.0-SNAPSHOT.jar] [data in hdfs] [size of data] [number of nodes in   cluster]
-------------------------------------
    Kmeans workload :
-------------------------------------
     /home/hduser/flink/bin/flink run -c com.flink.exp.KMeans -m yarn-cluster
     FlinkIterativeProcessing.jar
     --points [path on HDFS]
     --centroids [path on HDFS]
     --output [path on HDFS ]
     --iterations [number of iterations]
-------------------------------------
    PageRank workload :
-------------------------------------
    /home/hduser/flink/bin/flink run -c com.flink.exp.PageRank -m yarn-cluster
     FlinkIterativeProcessing.jar
     --pages [path on HDFS ]
     --links [path on HDFS ]
     --output [path on HDFS ]
     --numPages [number of pages]
     --iterations [number of iterations]

**************************Hadoop******************************

To run the Hadoop project, please follow the following steps:
   1-  start your Hadoop cluster using this command:
         /home/hduser/hadoop/sbin/start-all.sh
         We notice that /home/hduser/hadoop contains Hadoop installation files
   2- submit your jar file :
-------------------------------------
     Wordcount workload :
-------------------------------------
hadoop jar [wordcounth-1.0-SNAPSHOT.jar] [com.hadoop.App] [input HDFS] [output HDFS] [size of data] [number of nodes in cluster]))

-------------------------------------
    Kmeans workload :
-------------------------------------
        hadoop jar [KmeansHadoop.jar]
        com.kmeans.JobKmeans.JobKmeans
        [path of input data]
        [Path of output]
        [number of class]
        [number of iteration]
        [Dataset name]
-------------------------------------
    PageRank workload :
-------------------------------------
        hadoop jar [PageRankHadoop.jar]

        --input [path on HDFS ]
        --output [path on HDFS ]
        --count [number of iterations]

**************************Spark******************************

To run a Spark project, please follow the following steps:
    1- start your Spark cluster (using command: /home/hduser/spark/sbin/start-all.sh
       We notice that /home/hduser/spark contains Spark installation files.
    2- submit your jar file :
-------------------------------------
     Wordcount workload :
-------------------------------------   

/home/hduser/spark/spark-submit --class [com.spark.App] [--master spark://master:7077]  [sparkbatch-1.0-SNAPSHOT.jar]  [input HDFS] [output HDFS] [size of data] [number of nodes in cluster])

-------------------------------------
    Kmeans workload :
-------------------------------------

 /home/hduser/spark/spark-submit
        --class  com.spark.Kmeans
        --master yarn
        -- deploy-mode cluster
        Sparkiterativeprocessing.jar
        [input dataset]
        [number of class]
        [number of iterations]
        [Dataset name]

-------------------------------------
    PageRank workload :
-------------------------------------

 /home/hduser/spark/spark-submit
        --class com.spark.JavaPageRank
        --master yarn
        -- deploy-mode cluster
        Sparkiterativeprocessing.jar
        [input DataSet]
        [number of iterations]
        [Dataset name]
=============================================================================
II:Stream Mode
**************************Flink******************************
To run a Flink project, please follow the following steps:
    1-  start your Flink cluster using this command:
        /home/hduser/flink/bin/start-cluster.sh
    2- submit your jar file
       /home/hduser/flink/bin/flink run -c [com.flink.App] -m yarn-cluster   [flink-bach-1.0-SNAPSHOT.jar]  [zookeper nodes ] [Kafka topic] 

**************************Storm******************************
To run a Storm project, please follow the following steps:
    1-  start the nimbus deamon using this command:
       /home/hduser/storm/bin/storm nimbus
    2-  start a supervisor deamon in all slave nodes
       using this command /home/hduser/storm/bin/storm supervisor
    3- submit your jar file (home/hduser/storm/bin/storm jar [storm-1.0-SNAPSHOT-jar-with-dependencies.jar] [com.storm.Topologie] [zookeeper node]  [Kafka topic] 
**************************Spark******************************
    To run a Spark project, please follow the following steps:
    1-  start your Spark cluster using this command:
        /home/hduser/spark/sbin/start-all.sh)
    2- submit your jar file (/home/hduser/spark/spark-submit --class [com.spark.App] [--master yarn] [--deploy-mode cluster]  [sparkbatch-1.0-SNAPSHOT.jar] [zookeeper node]  [kafka topics]
**************************Samza******************************
    To run a Samza project, please follow the following steps:
    1-  start your yarn cluster using this command:
        /home/hduser/hadoop/sbin/start-yarn.sh
    2- write a configure file to set main class of our job, set of kafka topic used by this job and the application name and save it in the samza deploy directory
    
    3- submit your jar file /bin/run-job.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path= our config file

