HiveServer2的配置使用

HiveServer2的配置和使用

hive-site.xml配置

hiveserver2的配置

<property>

    <name>hive.support.concurrency</name>

    <description>Enable Hive's TableLock Manager Service</description>

    <value>true</value>

</property>

<property>

    <name>hive.zookeeper.quorum</name>

    <description>

       Zookeeper quorum used by Hive's Table Lock Manager

    </description>

    <value>

       e3basestorage1:2181,e3basestorage2:2181,e3basestorage3:2181

    </value>

</property>

<property>

    <name>hive.server2.thrift.bind.host</name>

    <value>172.21.3.170</value>

    <description>

       Bind host on which to run the HiveServer2 Thrift interface.Can

       be overridden by setting $HIVE_SERVER2_THRIFT_BIND_HOST

    </description>

</property>

远程访问元数据的配置

       <property>

  <name>hive.metastore.uris</name>

  <value>thrift://172.21.1.56:9083</value>

  <description>Thrift uri for the remote metastore. Used by metastoreclient to connect to remote metastore.</description>

</property>

<property>

  <name>hive.metastore.local</name>

  <value>false</value>

  <description>this is local store .</description>

</property>

shell交互

bin/beeline

!connectjdbc:hive2://localhost:10000 e3base e3base123 org.apache.hive.jdbc.HiveDriver  (红字为当前的用户名和密码

)

Jdbc连接

远程启动元数据服务:

nohup bin/hive --servicemetastore&

 

启动hiveserver2服务

nohup bin/hive --servicehiveserver2  &  以后台进程的方式启动

 

Java客户端访问

示例代码:

package com.sitech;

 

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

import org.apache.log4j.Logger;

 

public class T1 {

   private static Logger log = Logger.getLogger(T1.class);

 

   private static String driverName = "org.apache.hive.jdbc.HiveDriver";

 

   public boolean run() {

 

      try {

        Class.forName(driverName);

        Connection con = null;

        con = DriverManager.getConnection(

              "jdbc:hive2://172.21.3.170:10000/hivedb", "", "");

        Statement stmt = con.createStatement();

        ResultSet res = null;

 

        String sql = "selectcount(*) from test";

 

        System.out.println("Running:" + sql);

        res = stmt.executeQuery(sql);

        System.out.println("ok");

        while (res.next()) {

           System.out.println(res.getString(1));

 

        }

        return true;

      } catch (Exception e) {

        e.printStackTrace();

        log.error("Connection:" + e.getMessage());

        System.out.println("error");

        return false;

      }

 

   }

 

   public static void main(String[] args) throws SQLException {

      HiveJdbcClienthiveJdbcClient = new HiveJdbcClient();

      hiveJdbcClient.run();

   }

 

}

 

posted @ 2015-03-13 17:52  JamesFan  阅读(2469)  评论(0编辑  收藏  举报