hadoop安装hive及java调用hive

   1、安装hive

    在安装hive前,请确保已经安装好了hadoop,如未安装,请参考centoos 安装hadoop集群进行安装;

    1.1、下载,解压

      下载hive2.1.1:http://mirror.bit.edu.cn/apache/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz

       将下载好的hive包解压到/usr/local中

        tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/local/

       进入到/usr/local目录下,将解压后的文件重命名为hive
        mv apache-hive-2.1.1-bin/ hive 

    1.2、设置hive环境变量

      vi ~/.bashrc

      在文件尾部添加

        export HIVE_HOME=/usr/local/hive
        export PATH=$PATH:$HIVE_HOME/bin

      让配置生效

        source ~/.bashrc

  2、安装mysql

     安装mysql可参考

     yum 安装mysql数据库

  3、下载mysql驱动包

    下载MySQL驱动,本机使用的版本是mysql-connector-java-5.1.35.jar;

     拷贝包到hive/lib中

      cp mysql-connector-java-5.1.35.jar /usr/local/hive/lib

  4、修改hive配置

    3.1、修改日志配置

      cp hive/conf/hive-log4j2.properties.template hive-log4j2.properties

      vim hive/conf/hive-log4j2.properties

      修改

        property.hive.log.dir = /usr/local/hive-2.1.1/logs/

    3.2、修改hive-site.xml

      cp hive/conf/hive-default.xml.template hive/conf/hive-site.xml

      vim  hive/conf/hive-site.xml

      删除里面的所有内容(未添加的会使用hive-default.xml.template中的默认配置),添加如下配置

<configuration>  <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://H30: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>root</value>
  </property></configuration>

      其中H30为安装hive的主机名;

  5、启动hive 

     启动hive之前,请确保hadoop和mysql已经启动

     执行schematool命令进行初始化

      schematool -dbType mysql -initSchema

     初始化完成后执行hive命令即可进入hive的命令行界面

      

    如果出现如下错误

      

    则需要在mysql中grant对连接进行授权;

  6、使用java api调用hive

    6.1、修改hive-site.xml配置

      在hive/conf/hive-site.xml的 <configuration></configuration>中添加如下配置

<property>
  <name>hive.server2.thrift.bind.host</name>
  <value>192.168.3.238</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.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>

      6.2、启动HiveServer2服务

        hive --service metastore &

    6.3、启动hiveserver2服务    

        hive --service hiveserver2 &

      通过下述命令查看hiveserver2是否已经开启

        netstat -nl |grep 10000

      如出现错误请查看hive/logs;

    6.4、编写java API

      首先列出本程序依赖的Jar包:

        hadoop-2.2.0/share/hadoop/common/hadoop-common-2.7.1.jar
        $HIVE_HOME/lib/hive-exec-0.11.0.jar
        $HIVE_HOME/lib/hive-jdbc-0.11.0.jar
        $HIVE_HOME/lib/hive-metastore-0.11.0.jar
        $HIVE_HOME/lib/hive-service-0.11.0.jar
        $HIVE_HOME/lib/libfb303-0.9.0.jar
        $HIVE_HOME/lib/commons-logging-1.0.4.jar
        $HIVE_HOME/lib/slf4j-api-1.6.1.jar 

      项目代码可在下载http://url.cn/4EvRdbw下载

       如果项目运行出现错误

   java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException):
User root is not allowed to impersonate anonymous  

      则可在hadoop的master服务器core-site.xml 配置中添加

<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

      其中root表示项目中连接hive的mysql数据库用户名

   

  hive常用操作

     1、新建表 t_hive, "," 作为列分隔符
       CREATE TABLE t_hive (a int, b int, c int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,‘;

     2、导入数据 t_hive.txt,t_hive.txt中的数据要以列","作为分隔符
       LOAD DATA LOCAL INPATH ‘/home/cos/demo/t_hive.txt‘ OVERWRITE INTO TABLE t_hive ;

     3、查看表和数据
       show tables  --查看库中所有的表
       show tables ‘*t*‘  -- 通过正则表达式查找库中的表
       select * from t_hive  -- 查看t_hive表中的数据
       desc t_hive;    -- 查看t_hive的表结构

     4、修改
        ALTER TABLE t_hive ADD COLUMNS (new_col String); --增加new_col字段
        ALTER TABLE t_hive RENAME TO t_hadoop; -- 修改t_hive表名为t_hadoop
     5、删除
        DROP TABLE t_hive; -- 删除
        truncate TABLE t_hive -- 删除t_hive表中的所有数据

时间: 2024-08-04 01:26:04

hadoop安装hive及java调用hive的相关文章

Alex 的 Hadoop 菜鸟教程: 第11课 Hive的Java调用

声明 本文基于Centos 6.x + CDH 5.x 说到Hive就一定要说到写程序的时候怎么调用Hive.以下我通过一个例子说明如果通过java来调用hive查询数据 数据准备 建立一个文本文件叫 a.txt,内容是 1,terry 2,alex 3,jimmy 4,mike 5,kate 并上传到hive服务器的  /data/ 目录下 JDBC调用方法 加载Driver 加载driver (只说hive2的jdbc) Class.forName("org.apache.hive.jdbc

zookeeper-kafka(集群版)安装部署以及java调用工具类

Kafka安装部署文档 ■ 文档版本 V1.0 ■ 操作系统 CentOS Linux release 7.3.1611 ■ 编写人员 闫立雄 ■ 文档日期 2019-01-06 一.  概述 该文档详细描述了在Linux环境下安装Kafka和ZooKeeper的全过程,文档中以kafka_2.11-1.1.0.tgz和zookeeper-3.4.12.tar.gz为例. 二.  安装ZooKeeper 2.1  下载ZooKeeper 方式1   http://mirrors.shu.edu.

Java 调用Hive 自定义UDF

Hive 具有一个可选的组件叫做HiveServer,它允许通过在一定的端口访问Hive. 将自定义的UDF的jar拷贝到安装的hive服务器中(如 /home/hadoop下) 具体的不啰嗦了,看代码吧!. package com.hive.client; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; impo

Redis(Windows安装方法与Java调用实例 &amp; 配置文件参数说明 &amp; Java使用Redis所用Jar包 &amp; Redis与Memcached的区别)

Windows下Redis的安装使用 0.前言 因为是初次使用,所以是在windows下进行安装和使用,参考了几篇博客,下面整理一下 1.安装Redis 官方网站:http://redis.io/ 官方下载:http://redis.io/download 可以根据需要下载不同版本 windows版:https://github.com/MSOpenTech/redis github的资源可以ZIP直接下载的(这个是给不知道的同学友情提示下) 下载完成后 可以右键解压到 某个硬盘下 比如D:\R

linux系统下安装redis以及java调用redis

关系型数据库:MySQL  Oracle 非关系型数据库:Redis 去掉主外键等关系数据库的关系性特性 1)安装redis编译的c环境,yum install gcc-c++ 2)将redis-2.6.16.tar.gz上传到Linux系统中 3)解压到/usr/local下  tar -xvf redis-2.6.16.tar.gz  -C /usr/local 4)进入redis-2.6.16目录 使用make命令编译redis 5)在redis-2.6.16目录中 使用make PREF

Hadoop那些事儿(五)---Hive安装与配置

我在安装Hive的过程中遇到了好多问题,捣鼓了好久,所以下面的有些操作可能不是必要的操作. 1.配置YARN YARN 是从 MapReduce 中分离出来的,负责资源管理与任务调度.YARN 运行于 MapReduce 之上,提供了高可用性.高扩展性. 伪分布式环境不启动YARN也可以,一般不影响程序运行,所以在前边的Hadoop安装与配置中没有配置YARN. 我在安装Hive的过程中,由于一个异常牵扯到了yarn下的jar,所以我觉得还是有必要先把yarn配置一下(这步可能不是必要的) 找到

centos7中基于hadoop安装hive(CentOS7+hadoop2.8.0+hive2.1.1)

1下载hive 下载地址:http://hive.apache.org/downloads.html 点击上图的Download release now! 如图: 点击上图的某个下载地址,我点击的是国内的这个地址:http://mirror.bit.edu.cn/apache/hive/ 如图: 点击进入: apache-hive-2.1.1-bin.tar.gz 2安装 2.1上载和解压缩 在opt目录下新建一个名为hive的目录,将apache-hive-2.1.1-bin.tar.gz拷贝

hadoop安装部署3------安装hive

安装mysql mysql装在了master节点上 1)卸载系统自带的mysql相关安装包,仅卸载 mysql 开头的包 rpm -qa|grep -i mysql -i 作用是不区分大小写 可以看到有两个安装包 MySQL-server-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-client-5.6.19-1.linux_glibc2.5.x86_64.rpm 删除这两个服务(去掉后缀) rpm -e MySQL-client-5.6.19-1.linu

大数据技术之_08_Hive学习_01_Hive入门+Hive安装、配置和使用+Hive数据类型

第1章 Hive入门1.1 什么是Hive1.2 Hive的优缺点1.2.1 优点1.2.2 缺点1.3 Hive架构原理1.4 Hive和数据库比较1.4.1 查询语言1.4.2 数据存储位置1.4.3 数据更新1.4.4 索引1.4.5 执行1.4.6 执行延迟1.4.7 可扩展性1.4.8 数据规模第2章 Hive安装.配置和使用2.1 Hive安装地址2.2 Hive安装部署2.3 将本地文件导入Hive案例2.4 MySql安装2.4.1 安装包准备2.4.2 安装MySql服务器2.