1. spark 是什么?
>Apache Spark 是一个类似hadoop的开源快速集群运算环境 与后者不同的是,spark更快(官方的说法是快近100倍)。提供高层JAVA,Scala,PythonI ,R API接口.并且提tools:Spark SQL for SQL 处理结构化数据, MLlib for machine learning, GraphX for graph processing, and Spark Streaming.
2. spark streaming
Spark Streaming: 构建在Spark上处理Stream数据的框架,基本的原理是将Stream数据分成小的时间片断(几秒),以类似batch批量处理的方式来处理这小部分数据。Spark Streaming构建在Spark上,一方面是因为Spark的低延迟执行引擎(100ms+),虽然比不上专门的流式数据处理软件,也可以用于实时计算,另一方面相比基于Record的其它处理框架(如Storm),一部分窄依赖的RDD数据集可以从源数据重新计算达到容错处理目的。
3. build spark:
1) 安装 scala
scala 语言很简洁,属于函数式语言。其简洁度令人吃惊(代码量只有java的十分之一)值得学习。
http://www.scala-lang.org/download/
下载,解压 :tar -zxvf filename loaction
修改环境变量:vim /etc/profile 在PATH后加入scala解压后文件位置。
> export SCALA_HOME = $/opt/scala/scala-2.11.7
> export SPARK_HOME=$opt/spark/spark-1.4.1
> export PATH=$SCALA_HOME/bin:$PATH:$SPARK_HOME/bin
update( very important or you may failed to change the path) > source /etc/profile
检测: scala -version
2)安装 spark streaming
下载这个版本: spark-1.4.1-bin-hadoop2.6.tgz (一定不要选source code 需要自己编译)
http://spark.apache.org/downloads.html
解压: tar -zxvf filemname location (文件名太长善用 tab键)
3)几个命令
启动Spark
在Spark运行之前,首先需要让Spark集群启动,如果需要用到hadoop的HDFS的话,也需要把HDFS启动起来。
./stop-master.sh
以及 ./start-master.sh
>cd /docker/opt/spark-1.4.0-bin-hadoop2.6/sbin;
在SPARK_HOME/sbin目录:
- sbin/start-master.sh-在机器上执行脚本,启动 master .
- sbin/start-slaves.sh- 启动conf/slaves中指定的每一个slave .
- sbin/start-all.sh- 同时启动master 以及 上面所说文件中指定的slave
- sbin/stop-master.sh- 停止通过bin/start-master.sh脚本启动的master
- sbin/stop-slaves.sh- 停止通过bin/start-slaves.sh启动的slave .
- sbin/stop-all.sh- 停止上述的两种启动脚本启动的master和slave