spark sql 无法访问 hive metastore问题解决

Spark SQL on Hive是Shark的一个分支,是HIVE执行分析引擎的一个重要利器。在Spark 1.5.1的时候,可以非常简单地在spark shell中进行Hive的访问,然而到了Spark 1.5.2时,发现进入Spark Shell的时候,总是出现报错,其原因总是无法访问hive的metastore,从而无法进行各种操作,相当的烦人的。

看了说明,说是要配置hive thrift服务,然而总是报各种失败! 困扰了很多天,终于搞定了。于是在这边将过程写下来。


(1)进行HIVE的配置

在HIVE配置中

<property>
                <name>hive.metastore.warehouse.dir</name>
                <value>hdfs://master:9000/user/hive/warehouse</value>
        </property>

    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://IP:3306/hive?createDatabaseIfNotExist=true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>ndscbigdata</value>
    </property>


在spark目录下配置,得添加

<property>
      <name>hive.metastore.uris</name>
      <value>thrift://IP:9083</value>
    </property>


(2) 开启hive服务
 

hive --service metastore


(3) 开启thrift服务

./sbin/start-thriftserver.sh


(4)测试:beeline,进行连接,输入用户名和密码,轻松搞定!



版权声明:本文为sparkexpert原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。