使用docker进行spark+hive集成测试

zqdjd7g9  于 2021-05-24  发布在  Spark
关注(0)|答案(0)|浏览(294)

我有Spark+Hive的工作,是工作得很好。
我正在尝试为本地开发和集成测试配置环境:
docker映像到引导配置单元服务器、元存储等
具有spark环境/本地群集的docker映像
现在我有了docker compose for#1,它运行整个环境(包括hive metastore),我可以用beeline工具连接到这个metastore。
我可以运行我的Spark与docker运行使用图像从#2和它正在运行。
我遇到的问题与配置单元有关。每当作业尝试读取sparkcontext中的表时,它都会失败:

[Error] [JvmBridge] java.lang.NoSuchFieldError: HIVE_STATS_JDBC_TIMEOUT

hadoop:2.7.3 spark:2.4.5 hive metastore jar:2.1.1
spark submit参数(/var/lib是正确的路径):

--conf spark.sql.hive.metastore.version=2.1.1 --conf spark.sql.hive.metastore.jars=/var/lib/*

hive-site.xml(添加到配置单元和spark配置文件夹)

<configuration>
    <property><name>hive.metastore.warehouse.dir</name><value>hdfs://localhost:50075</value></property>
    <property><name>hive.metastore.uris</name><value>thrift://localhost:9083</value></property>
    <property><name>spark.sql.uris</name><value>thrift://localhost:9083</value></property>
    <property><name>hive.exec.dynamic.partition.mode</name><value>nonstrict</value></property>
    <property><name>hive.exec.dynamic.partition</name><value>true</value></property>
</configuration>

如何揭开这个错误的神秘面纱?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题