我们是否需要在客户端计算机上运行hiveserver2来访问hive元存储?

iugsix8n  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(165)

我正在使用spark java访问hive元存储。在我的机器上只安装了spark,其他什么都没有。我没有hadoop目录或配置单元文件夹。我创造了 hive-site.xml , hdfs-site.xml , core-site.xml 以及 yarn-site.xml 内部 spark/conf 目录。我的hivemetastore安装在另一台机器上,它是hadoop集群的一部分,是namenode。我可以从 spark/bin/beeline 以及 spark/bin/spark-shell 在我的桌面上,但是当我尝试从javaapi访问hivemetastore时 metastore_db 文件夹和 derby.log 在我的项目中创建的文件,这意味着我无法访问配置单元元存储。

SparkSession spark = SparkSession
                .builder()
                .appName("Java Spark SQL basic example")
                .enableHiveSupport()
                .config("spark.sql.warehouse.dir", "hdfs://bigdata-namenode:9000/user/hive/warehouse")
                .config("mapred.input.dir.recursive", true)
                .config("hive.mapred.supports.subdirectories", true)
                .config("spark.sql.hive.thriftServer.singleSession", true)
                .config("hive.exec.dynamic.partition.mode", "nonstrict")
                .master("local")
                .getOrCreate();
spark.sql("show databases").show();

当我在我的桌面上启动thriftserver(即客户机)时,我得到一个日志thriftserver.log,上面写着 spark.sql.warehouse.dir 设置为 my local file system path i、 e不是实际仓库所在的hdfs。
/spark/conf/core-site.xml文件
/spark/conf/hive-site.xml

暂无答案!

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

相关问题