waterdrop使用cdh的spark2提交任务

有的公司使用的是cdh集群,用waterdrop同步数据的时候会遇到spark版本太低,需要切换到spark2去。
特此记录一下切换过程以及遇到的问题。

  1. 更改waterdrop的bin目录下的start-waterdrop.sh文件,更改spark-submit为spark2-submit
    waterdrop使用cdh的spark2提交任务
  2. 更改waterdrop的config目录下的waterdrop-env.sh文件,更改SPARK_HOME的配置。
    waterdrop使用cdh的spark2提交任务
    如果环境变量中配置了SPARK_HOME,首先检查环境变量中的SPARK_HOME

问题:

  1. Exception in thread “main” java.lang.NoSuchFieldError: INSTANCE
    原因是CDH版本Spark自带的 httpclient.jar 版本较低,而ClickHouse JDBC基于的httpclient版本为4.5.2,包版本冲突。解决方法是用 httpclient-4.5.2 版本替换掉 CDH 自带的jar包。
    我放的路径(路径不统一,根据自己搭建的路径改,不清楚的可以查看spark任务日志中加载的路径):
    waterdrop使用cdh的spark2提交任务
上一篇:单机Hadoop CDH搭建


下一篇:CDH平台yarn下发送邮件中文乱码