升级前任务

在某些情况下,必须在升级之前完成任务。

升级到Spark 2.1或更高版本

Data Collector版本3.3.0引入了集群流模式,该模式支持Kafka安全功能,例如使用Spark 2.1或更高版本以及Kafka 0.10.0.0或更高版本的SSL / TLS和Kerberos身份验证。

但是,这意味着从3.2.0.0版开始,不建议将Spark 1.x用于集群流模式、Spark Evaluator处理器和Spark执行器。在版本3.3.0中删除了对Spark 1.x的支持。如果使用集群流模式、Spark Evaluator处理器或Spark执行器,则必须升级到Spark 2.1或更高版本。此外,如果您为Kafka使用集群流模式,则还必须升级到Kafka 0.10.0.0或更高版本。

注意:您可以继续在独立管道中使用Kafka 0.9.0.0。或者,您可以继续使用早期版本的Data Collector在群集管道中使用Kafka 0.9.0.0,直到可以升级Kafka。
由于不再支持Spark 1.x,并且群集管道中不再支持Kafka 0.9.0.0,因此以下阶段库已更改:

类别 舞台图书馆
新阶段库 以下新的阶段库包括用于集群模式管道的Kafka Consumer源:

  • streamets-datacollector-cdh-spark_2_1-lib
  • streamets-datacollector-cdh-spark_2_2-lib
  • streamets-datacollector-cdh-spark_2_3-lib
已更改的阶段库 以下阶段库不再包含集群模式管道的Kafka Consumer源:

  • streamets-datacollector-hdp_2_4-lib
以下阶段库已升级为使用Spark 2.1:

  • streamets-datacollector-hdp_2_6-lib
  • streamets-datacollector-mapr_5_2-lib
  • streamets-datacollector-mapr_6_0-mep4-lib
已删除的阶段库 删除了以下阶段库:

  • streamets-datacollector-cdh_5_8-cluster-cdh_kafka_2_0-lib
  • streamets-datacollector-cdh_5_9-cluster-cdh_kafka_2_0-lib
  • streamets-datacollector-cdh_5_10-cluster-cdh_kafka_2_1-lib
  • streamets-datacollector-cdh_5_11-cluster-cdh_kafka_2_1-lib
  • streamets-datacollector-cdh_5_12-cluster-cdh_kafka_2_1-lib
  • streamets-datacollector-cdh_5_13-cluster-cdh_kafka_2_1-lib
  • streamets-datacollector-cdh_5_14-cluster-cdh_kafka_2_1-lib

在升级过程中,这些已删除的阶段库将被新的streamsets-datacollector-cdh-spark_2_1-lib阶段库替换。

删除的旧式阶段库 删除了以下旧式阶段库:

  • streamets-datacollector-cdh_5_4-cluster-cdh_kafka_1_2-lib
  • streamets-datacollector-cdh_5_4-cluster-cdh_kafka_1_3-lib
  • streamets-datacollector-cdh_5_5-cluster-cdh_kafka_1_3-lib
  • streamets-datacollector-cdh_5_7-cluster-cdh_kafka_2_0-lib
更改的旧式阶段库 以下旧式阶段库不再包含Spark Evaluator处理器:

  • streamets-datacollector-cdh_5_4-lib
  • streamets-datacollector-cdh_5_5-lib
要继续使用集群流模式,您必须升级到较新的Cloudera CDH或Hortonworks Hadoop发行版以及Kafka 0.10.0.0或更高版本。Hadoop的主要发行商为Spark 1.x和Spark 2.x共存于同一集群中提供了一种方法,因此您可以在集群中使用这两个版本。Data Collector为Hadoop发行商支持以下Spark 2.x版本:

  • Cloudera-支持Spark 2.1版本1或更高版本的Cloudera Distribution。有关更多信息,请参见Spark 2要求
  • Hortonworks -Hortonworks数据平台(HDP)2.6或更高版本包括Spark 2.2.0。有关更多信息,请参见HDP 2.6发行说明
  • MapR-支持带有MapR Expansion Pack 3.0或更高版本的MapR。有关更多信息,请参阅MapR Core版本的MEP支持

然后,您必须配置升级的管道以与升级的系统一起使用,如使用升级的外部系统中所述。

除了为连接到升级的CDH,HDP或Kafka系统的每个阶段选择升级的阶段库版本之外,您可能还需要为以下阶段执行其他任务:

  • Spark Evaluator处理器 -如果以前使用Spark 2.0或更早版本构建了Spark应用程序,则必须使用Spark 2.1重建它。或者,如果您使用Scala编写自定义Spark类,并且应用程序是用Scala 2.10编译的,则必须使用Scala 2.11重新编译它。
  • Spark执行器 -如果Spark应用程序以前是使用Spark 2.0或更早版本构建的,则必须使用Spark 2.1和Scala 2.11重建它。

验证安装要求

各个版本对Data Collector的最低要求可能有所不同。在升级到新的Data Collector版本之前,请确保机器满足安装要求中所述的最新最低要求。

迁移至Java 8

Data Collector版本2.5.0.0需要Java8。如果以前的Data Collector版本在Java 7上运行,则必须迁移到Java 8,然后才能升级到最新的Data Collector版本。

使用Data Collector JAR文件的所有服务也必须在Java 8上运行。这意味着,如果您正在使用集群管道,Spark Executor或MapReduce Executor,则Hadoop集群必须在Java 8上运行。

要迁移到Java 8,在升级到最新的Data Collector 版本之前,请完成以下步骤:

  1. 关闭Data Collector
  2. Data Collector计算机上安装Java 8 。
  3. 如果您在SDC_JAVA7_OPTS环境变量中自定义了Java配置选项,并且这些选项在Java 8中有效,则将这些自定义项迁移到SDC_JAVA8_OPTS环境变量中。
  4. 重新启动Data Collector并验证它是否按预期工作。
  5. 如果有任何管道包括JavaScript Evaluator处理器,请打开管道并在Java 8上验证脚本。

升级群集流传输管道

如果使用在集群流模式下运行的群集管道,并且要从2.3.0.0之前的版本升级,则必须先升级到Data Collector 2.3.0.0版,然后再升级到最新版本。

在2.3.0.0之前的版本中,Data Collector使用Spark检查点机制在发生故障后恢复群集管道。从2.3.0.0版本开始,Data Collector无需依赖Spark检查点即可维护集群管道的状态。

警告:如果您从2.3.0.0之前的版本直接升级到最新版本-如果没有先升级到2.3.0.0版本-启动时群集管道将失败。
在升级到最新版本之前,请完成以下常规任务:

  1. 升级到Data Collector版本2.3.0.0。
  2. 启动升级的Data Collector版本2.3.0.0并运行集群管道,以便它们处理一些数据。

验证成功升级到Data Collector 2.3.0.0版后,请升级到最新版本。