标签:两种 direct 推荐 指定 parallel 创建 自动启动 大量 集群
(1)SparkStreaming 整合 kafka 两种方式对比Direct 方式的优缺点分析 :
介绍:他能够在driver失败的时候,通过读取checkpoint目录下的元数据,恢复当前streamingContext对象的状态;它能够察觉到driver进程异常退出之后,自动重启。
具体流程:当第一次运行程序时,发现checkpoint中没有数据,则根据定义的函数来第一次创建StreamingContext对象,当程序异常退出的时候,此时会根据checkpoint中的元数据恢复一个StreamingContext对象,达到异常退出之前的状态,而实现异常退出并自动启动则是sparkStreaming应用程序对driver进行监控,并且在他失败的时候感知,并进行重启。
必要条件:
- spark-submit提交作业的时候,必须是集群模式(cluster),并且必须在spark-standalong下。
spark-submit --class com.aura.mazh.spark.streaming.kafka.SparkStreamDemo_Direct //这里只能使用spark的standalong模式,所以配置为spark集群
--master spark://hadoop02:7077,hadoop04:7077 --driver-memory 512m --total-executor-cores 3 --executor-memory 512m #这句代码一定要加,他可以使异常退出的driver程序,重新启动
--supervise \
--name SparkStreamDemo_Direct --jars /home/hadoop/lib/kafka_2.11-0.8.2.1.jar,/home/hadoop/lib/metrics-core-2.2.0.jar,/home/hadoop/lib/spark-streaming_2.11-2.3.2.jar,/home/hadoop/lib/spark-streaming-kafka-0-8_2.11-2.3.2.jar,/home/hadoop/lib/zkclient-0.3.jar /home/hadoop/original-spark-1.0-SNAPSHOT.jar spark://hadoop02:7077,hadoop04:7077
- 需要添加--supervise \,才能实现失败自启动
- 需要配置checkpoint目录,并且是存储在hdfs上,jar也要放置在hdfs上
标签:两种 direct 推荐 指定 parallel 创建 自动启动 大量 集群
原文地址:http://blog.51cto.com/14048416/2339933