Hive hiveserver2 配置运行

原创 2015年03月05日 17:16:32

1:运行

命令行模式:

hive --service hiveserver2 --hiveconf hive.server2.thrift.port=10001

服务模式:

hiveserver2 start

[jifeng@feng01 conf]$ hive --service hiveserver2 --hiveconf hive.server2.thrift.port=10001
Starting HiveServer2
15/03/05 16:59:33 WARN conf.HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer has any effect.  Use hive.hmshandler.retry.* instead


2:权限问题

java jdbc连接报错:

Exception in thread "main" java.sql.SQLException: Error while compiling statement: FAILED: RuntimeException Cannot make directory: hdfs://feng01:9000/tmp/hive-jifeng/hive_2015-03-05_17-04-43_349_5945847416346775092-3
	at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:121)
	at org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:109)
	at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:231)
	at org.apache.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:355)
	at demo.test.Pretest.main(Pretest.java:28)

服务端也看到错误
FAILED: RuntimeException Cannot make directory: hdfs://feng01:9000/tmp/hive-jifeng/hive_2015-03-05_17-04-43_349_5945847416346775092-3
无权限创建目录,修改为管理hadoop的用户和密码

修改后

3:For input string: "5000L"

JDBC连接报:

Exception in thread "main" java.sql.SQLException: For input string: "5000L"
	at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:121)
	at org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:109)
	at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:263)
	at org.apache.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:355)
	at demo.test.Pretest.main(Pretest.java:28)
修改配置:

把hive-site.xml

这个配置文件里hive.server2.long.polling.timeout这个参数是5000L,改成5000

[jifeng@feng01 conf]$ vi hive-site.xml 

  <name>hive.server2.long.polling.timeout</name>
  <value>5000</value>
  <description>Time in milliseconds that HiveServer2 will wait, before responding to asynchronous calls that
 use long polling</description>
</property>
4:JDBC 连接HIVE OK

package demo.test;

import java.sql.*;

public class Pretest {


		    public static void main( String args[] )
		        throws SQLException , ClassNotFoundException {
	    	    String jdbcdriver="org.apache.hive.jdbc.HiveDriver";

	    	    String jdbcurl="jdbc:hive2://feng01:10001";

	    	    String username="jifeng";
	    	    String password="jifeng";		
	    	    Class.forName(jdbcdriver);
	    	    Connection c = DriverManager.getConnection(jdbcurl,username,password); 
		        Statement st = c.createStatement();
		       // select * from firewall where idauto=16600918"));//
		        print( "num should be 1 " , st.executeQuery("select * from course"));
		        //( "select id,name,vip from users order by id limit 5" ) );
		        // TODO indexing
		    }
			 static void print( String name , ResultSet res )
				        throws SQLException {
				        System.out.println( name);
				        ResultSetMetaData meta=res.getMetaData();				        
		                //System.out.println( "\t"+res.getRow()+"条记录");
		                String	str="";
		                for(int i=1;i<=meta.getColumnCount();i++){
		                	str+=meta.getColumnName(i)+"   ";
		                	//System.out.println( meta.getColumnName(i)+"   ");
		                }
		                System.out.println("\t"+str);
		                str="";
				        while ( res.next() ){
				        	for(int i=1;i<=meta.getColumnCount();i++){	
				        		str+= res.getString(i)+"   ";				        	} 
				        	System.out.println("\t"+str);
				        	str="";
				        }
				    }	    
}
运行结果:
	course.id   course.c1   course.c2   course.c3   course.c4   
	1   英语   中文   法文   日文   
	2   中文   法文         
	3   中文   法文   日文      
	4   中文   法文   拉丁      
	5   中文   法文   德文      





Hive学习之HiveServer2服务端配置与启动

在之前的学习和实践Hive中,使用的都是CLI或者hive –e的方式,该方式仅允许使用HiveQL执行查询、更新等操作,并且该方式比较笨拙单一。幸好Hive提供了轻客户端的实现,通过HiveServ...

Hive的内置服务和hiveserver/hiveserver2的比较

两者都允许远程客户端使用多种编程语言,通过HiveServer或者HiveServer2,客户端可以在不启动CLI的情况下对Hive中的数据进行操作,连这个和都允许远程客户端使用多种编程语言如java...

HiveServer2的配置使用

HiveServer2的配置和使用 hive-site.xml配置 hiveserver2的配置 property>     name>hive.support.concurrencyname...

【Hadoop】hiveserver2 不能启动端口 10000 开启服务的相关经验总结

这个问题困扰了我三天,各种查资料踩坑填坑的尝试,终于搞定了不能链接hive2的这个问题。...
  • lsttoy
  • lsttoy
  • 2016年12月06日 17:41
  • 7276

HiveServer2 入门使用

Beeline – 一个新的命令行Shell HiveServer2 supports a new command shell Beeline that works with HiveServer2...

hadoop hive 2.1.1 将Hive启动为服务

我们之前使用的Shell方式与Hive交互只是Hive交互方式中的一种,还有一种就是将Hive启动为服务,然后运行在一个节点上,那么剩下的节点就可以使用客户端来连接它,从而也可以使用Hive的数据分析...

hadoop学习之HIVE(3.2):hadoop2.7.2下配置hiveserver2启动远程连接

./hive只是启动本地客户端,往往用来测试,我们可以启动hive server2服务器用于远程连接,方便开发。 前提是配置好hadoop和hive 1,开启hive server服务:bin...

Hive学习之HiveServer2服务端配置与启动

在之前的学习和实践Hive中,使用的都是CLI或者hive –e的方式,该方式仅允许使用HiveQL执行查询、更新等操作,并且该方式比较笨拙单一。幸好Hive提供了轻客户端的实现,通过HiveServ...
  • vfgbv
  • vfgbv
  • 2016年03月30日 11:20
  • 2477

Hive学习之HiveServer2服务端配置与启动

Hive提供了轻客户端的实现,通过HiveServer或者HiveServer2,客户端可以在不启动CLI的情况下对Hive中的数据进行操作,两者都允许远程客户端使用多种编程语言如Java、Pytho...

Hive的内置服务和hiveserver/hiveserver2的比较

一:Hive的几种内置服务              执行bin/Hive --service help  如下:       [html] view plain ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hive hiveserver2 配置运行
举报原因:
原因补充:

(最多只允许输入30个字)