CDH6.3.2集成Spark3.X

准备工作

java 8,maven3.4以上

开始编译

  1. 从gitee上面拉取对应的分支
  1. git clone -b v3.1.2 https://gitee.com/apache/Hudi.git
  2. # 编译
  3. ./dev/make-distribution.sh --name 3.0.0-cdh6.3.2 --tgz -Pyarn -Phadoop-3.0 -Phive -Phive-thriftserver -Dhadoop.version=3.0.0-cdh6.3.2 -X --settings=/root/software/settings.xml
  1. 修改pom文件
    增加cloudera maven仓库
    1. <repositories>
    2. <repository>
    3. <id>central</id>
    4. <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution -->
    5. <name>Maven Repository</name>
    6. <url>https://repo1.maven.org/maven2</url>
    7. <releases>
    8. <enabled>true</enabled>
    9. </releases>
    10. <snapshots>
    11. <enabled>false</enabled>
    12. </snapshots>
    13. </repository>
    14. <repository>
    15. <id>cloudera</id>
    16. <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    17. </repository>
    18. </repositories>


修改pom文件中的hadoop版本

  1. 默认是带的hadoop 3.2 ,需要将 hadoop.version 属性改为 3.0.0-cdh6.3.2


注意3:如果scala 版本为2.10.x ,需要进行

./dev/change-scala-version.sh 2.10


如果为2.11.x,需要进行

./dev/change-scala-version.sh 2.11


注意4:
CDH6.3.2集成Spark3.X - 图1
推荐使用一下命令编译:

./dev/make-distribution.sh --name 3.0.0-cdh6.3.2 --tgz  -Pyarn -Phadoop-3.0 -Phive -Phive-thriftserver -Dhadoop.version=3.0.0-cdh6.3.2 -X


我们用的是spark的make-distribution.sh脚本进行编译,这个脚本其实也是用maven编译的,

  • –tgz 指定以tgz结尾
  • –name后面跟的是我们Hadoop的版本,在后面生成的tar包我们会发现名字后面的版本号也是这个(这个可以看make-distribution.sh源码了解)
  • -Pyarn 是基于yarn
  • -Dhadoop.version=3.0.0-cdh6.3.2 指定Hadoop的版本。

spark-3.1.2-bin-3.0.0-cdh6.3.2.tgz

部署

tar -zxvf spark-3.1.2-bin-3.0.0-cdh6.3.2.tgz -C /opt/spark3/
cp /etc/spark/conf/spark-env.sh /opt/spark3/conf/
vim /opt/spark3/conf/spark-env.sh

CDH6.3.2集成Spark3.X - 图2

ln -s /etc/hive/conf/hive-site.xml ./conf/hive-site.xml

测试 CDH6.3.2集成Spark3.X - 图3