十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Direct 方式的优缺点分析:
创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元义马做网站,已为上家服务,为义马各地企业和个人服务,联系电话:18982081108
介绍:他能够在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上