我们是否需要在客户端计算机上运行hiveserver2才能访问hive Metastore?

时间:2017-08-11 07:26:30

标签: hadoop hive apache-spark-sql

我正在使用spark-java来访问hive Metastore。在我的机器上只安装了火花而没有别的。我没有hadoop目录或Hive文件夹。我在hive-site.xml目录中创建了hdfs-site.xmlcore-site.xmlyarn-site.xmlspark/conf。我的hive Metastore是在另一台机器上设置的,它是hadoop集群的一部分,是namenode。我可以从桌面上的spark/bin/beelinespark/bin/spark-shell访问hive Metastore,但是当我尝试从java-api访问hive-Metoreore时,我得到metastore_db文件夹和derby.log文件在我的项目中创建,这意味着我无法访问hive Metastore。

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();

当我在桌面上启动thrift服务器(即客户机)时,我得到了这个日志thriftserver.log 其中spark.sql.warehouse.dir设置为my local file system path,即hdfs,而实际仓库位于何处 /spark/conf/core-site.xml
/spark/conf/hive-site.xml

0 个答案:

没有答案