ITPub博客

首页 > 大数据 > 数据分析 > Hadoop2.7实战v1.0之Eclipse+Hive2.0.0的JDBC案例(最详细搭建)

Hadoop2.7实战v1.0之Eclipse+Hive2.0.0的JDBC案例(最详细搭建)

原创 数据分析 作者:hackeruncle 时间:2016-06-09 18:07:01 0 删除 编辑


一.环境搭建(Hadoop+Hive)

window7:  eclipse4.5.1

linux: hadoop-01    192.168.33.01

Hadoop-2.7.2+zookeeper-3.4.6完全分布式环境搭建(HDFS、YARN HA) 

Hadoop2.7实战v1.0之Hive-2.0.0+MySQL远程模式安装

Hadoop2.7实战v1.0之Hive-2.0.0的Hiveserver2服务和beeline远程调试 

 

hadoop-01  要有 Hdfs namenode(active),Yarn resourcemanager(active),Hive metastore 和hiveserver2进程.


二.启动hive metastore和hiveserver2服务命令

[root@hadoop-01 bin]# hive --service metastore &

[root@hadoop-01 bin]# hive --service hiveserver2 &


三.搭建

1.下载解压hadoop和hive

hadoop-2.7.2.tar.gz到window7的D:\Hadoop\hadoop-2.7.2
apache-hive-2.0.0-bin.tar.gz 到window7的D:\Hadooop\apache-hive-2.0.0-bin
 

2.启动eclipse,新建工程HiveCaseProject,导入需要的jar包

 a.导入hive的lib文件夹下所有的包

 b.导入hadoop的D:\Hadoop\hadoop-2.7.2\share\hadoop\common\hadoop-common-2.7.2.jar

 

3.新建hiveserver2Test.class文件

   

4.hiveserver2Test.class示例代码

点击(此处)折叠或打开

  1. package com.hadoop.hive;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7.  
  8. public class hiveserver2Test {
  9.        public boolean run() {
  10.               Connection con=null;
  11.               Statement stmt =null;
  12.               ResultSet rs=null;
  13.               String tableName="studentinfo";//表名
  14.              
  15.               try {
  16.                    String driver="org.apache.hive.jdbc.HiveDriver";//Hive的驱动字符串
  17.                    Class.forName(driver); //加载Hive驱动
  18.                       con = DriverManager.getConnection("jdbc:hive2://192.168.33.01:10000", "root", "");//获取hive2的jdbc连接,注意默认的数据库是default
  19.                       stmt = con.createStatement();
  20.                       rs=stmt.executeQuery("select * from "+tableName+" ");//查询所有,直接运行
  21.                            while(rs.next()){
  22.                            System.out.println("id:"+rs.getString(1)+" "+"name:"+rs.getString(2)+" "+"age:"+rs.getString(3)+" "+"tel:"+rs.getString(4)+" ");
  23.                            }
  24.                   
  25.                    System.out.println("查询成功!");
  26.                    stmt.close();
  27.                       con.close();
  28.                          
  29.                      return true;
  30.               } catch (Exception e) {
  31.                      e.printStackTrace();
  32.                      System.out.println("error");
  33.                      return false;
  34.              
  35.               }
  36.        }
  37.  
  38.        public static void main(String[] args) throws SQLException {
  39.               hiveserver2Test hiveJdbcClient = new hiveserver2Test();
  40.               hiveJdbcClient.run();
  41.        }
  42.  
  43. }

5.第一次调试--Error

错误1: StaticLoggerBinder.class冲突,移除log4j-slf4j-impl-2.4.1.jar即可

错误2: ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

这句意思就是没有找到log4j2的配置文件

6.配置log4j2文件 

http://www.cnblogs.com/morvenhuang/p/3958086.html

a.由于hive的lib目录有log4j2相关包,在第2.2步已经导入,无需再导入


b.创建resources文件夹,然后在resources文件夹下创建log4j2.xml文件

log4j2.xml文件

点击(此处)折叠或打开

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Configuration status="warn">
  3.             <Appenders>
  4.                         <Console name="Console" target="SYSTEM_OUT">
  5.                                     <PatternLayout pattern="%m%n" />
  6.                         </Console>
  7.             </Appenders>
  8.             <Loggers>
  9.                         <Root level="INFO">
  10.                                     <AppenderRef ref="Console" />
  11.                         </Root>
  12.             </Loggers>
  13. </Configuration>

c. 把resources文件夹添加到class中

7.第二次调试--Success


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30089851/viewspace-2117921/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
主要从事大数据平台产品的技术工作; 负责基于Spark、Flink生产开发及性能调优; 负责对公司的集群的部署、监控、调优和运营; 主导我司的数据平台0到1及实时中间件项目开发; 此外,精通Java、Shell、Python编程; 且荣获2016年IBM的Spark大赛全球第四名,中国区域第一名。

注册时间:2015-01-03

  • 博文量
    187
  • 访问量
    396034