文档章节

Hive-1.2.2安装(本地模式)

K_Zhiqiang
 K_Zhiqiang
发布于 2017/06/14 20:16
字数 756
阅读 46
收藏 0

Hive-1.2.2安装(本地模式)

  • 必要条件
    • Java 1.7 (Hive 1.2 及以上版本需要 Java 1.7 或更高版本)
    • Hadoop 2.x (推荐), 1.x (不支持 Hive 2.0.0 以上版本).
    • 配置好环境变量HADOOP_HOME=<hadoop-install-dir>,或HADOOP_PREFIX=<hadoop-install-dir>,或添加<hadoop-install-dir>/bin至PATH中

使用一个稳定发行版安装包安装 Hive

  1. 安装配置MySQL-server,用于存储Hive metadata

    1. 安装mySQL-server,省略
    2. 创建database:hive_meta,user:hive,password:hive
      create database hive_meta;
      create user hive;
      grant all on hive_meta.* to hive@'%' identified by 'hive';
      flush privileges;
      
  2. 从官网下载hive-1.2.2安装包

    wget http://apache.fayea.com/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz
    
  3. 解压

    tar -zxvf apache-hive-1.2.2-bin.tar.gz
    
  4. 设置环境变量HIVE_HOME指向hive安装目录,添加$HIVE_HOME/bin至环境变量PATH中

    vi /etc/profile
    # 添加以下两行内容
    export HIVE_HOME=<hive-install-dir>
    export PATH=$HIVE_HOME/bin:$PATH
    
  5. 配置hive-site.xml

    # 进入hive安装目录
    cd $HIVE_HOME
    # conf文件夹下的hive-default.xml.template文件仅作为文档查看,要更改hive的默认配置,需要在conf文件夹下新建文件hive-site.xml
    vi conf/hive-site.xml
    # 增加以下内容(具体配置项要根据具体环境作相应修改)
    <configuration>
      <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
        <description>location of default database for the warehouse</description>
      </property>
      <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>Driver class name for a JDBC metastore</description>
      </property>
      <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://172.16.117.61:3306/hive_meta?createDatabaseIfNotExist=true</value>
        <description>JDBC connect string for a JDBC metastore</description>
      </property>
      <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
        <description>Username to use against metastore database</description>
      </property>
      <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hive</value>
        <description>password to use against metastore database</description>
      </property>
    </configuration>
    
  6. 添加MySQL JDBC驱动包到$HIVE_HOME/lib文件夹中

    1. 下载MySQL JDBC驱动包
      wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.42.tar.gz
      
    2. 解压
      tar -zxvf mysql-connector-java-5.1.42.tar.gz
      
    3. 拷贝MySQL JDBC驱动包到$HIVE_HOME/lib文件夹中
      cp mysql-connector-java-5.1.42/mysql-connector-java-5.1.42-bin.jar $HIVE_HOME/lib
      
  7. 进入hive-Cli

    hive
    

FAQ

  1. 异常信息:
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
at jline.TerminalFactory.create(TerminalFactory.java:101)
at jline.TerminalFactory.get(TerminalFactory.java:158)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
  • 异常原因:$HIVE_HOME/lib/jline-*.jar与$HADOOP_HOME/share/hadoop/yarn/lib/jline-*.jar冲突
  • 解决办法:使用高版本jline替换掉低版本jar
    rm -f $HADOOP_HOME/share/hadoop/yarn/lib/jline-0.9.94.jar
    cp $HIVE_HOME/lib/jline-2.12.jar $HADOOP_HOME/share/hadoop/yarn/lib/
    
  1. 异常信息:
ERROR [main]: exec.DDLTask (DDLTask.java:failed(520)) - org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:file:/user/hive/warehouse/test is not a directory or unable to create one)
at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:720)
at org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:4135)
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:306)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:160)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:88)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1676)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1435)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1218)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1082)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1072)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:213)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:165)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:376)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:736)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
  • 解决办法:配置环境变量 HADOOP_DEV_HOME=<hadoop-install-dir>

© 著作权归作者所有

K_Zhiqiang
粉丝 0
博文 24
码字总数 13488
作品 0
海淀
程序员
私信 提问
Hive系列(二)Hive环境安装

由于之前的Hadoop集群是用Docker搭建的,所以后面整个大数据环境,本人都会采用Docker构建,Hive环境安装需在之前的Hadoop基础上构建,参考文章如下: Hadoop系列(一)Docker部署Hadoop集群 ...

u012834750
2018/05/29
0
0
Spark集群运行详解

Spark集群权威指南 Spark运行模式 Spark部署模式主要有四种:最简单就是Local模式(单机本地模式)、当然 Spark 还有自带的Standalone模式(使用Spark自带的简单集群管理器)。还有单机伪分布式模...

GeekSeattle的博客
2017/12/22
0
0
Hive自定义函数与JDBC连接

自定义函数 编写代码 1.创建一个普通Java工程 2.导入hive安装目录下lib中所有以hive打头的jar包 3.写代码实现一个ToUpper类 4.导入jar包 5.上传jar包到hive安装目录下的lib中 注册函数 1.添加...

特拉仔
2018/05/22
75
0
hive-mysql的关系(Hive集成Mysql作为元数据)

Hive是一个基于Hadoop的数据仓库平台。通过hive,我们可以方便地进行ETL的工作。hive定义了一个类似于SQL的查询语言:HQL,能 够将用户编写的QL转化为相应的Mapreduce程序基于Hadoop执行。 ...

cookqq
2014/01/04
6.9K
0
hadoop集群配置之hive1.2.0安装部署(远程mysql)

hadoop的版本是2.6.0 根据hive的源数据不同分为三种模式 1、内嵌模式,使用自带的derby 2、本地独立模式,本地mysql库 3、远程模式,远程mysql库 这里主要将第三种模式 #假设hadoop2.6.0已经...

尚浩宇
2015/05/22
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
723
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
26
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
75
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
74
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部