HIVE2的安装过程以及问题解决

在安装HIVE的时候遇到了很多问题,在网上也查了很多资料但是有些问题没有明确的解决方法,所以决定自己写一篇关于HIVE安装过程以及我在遇到安装失败时是如何解决的文章。

HIVE安装步骤:
在安装HIVE之前,java环境、hadoop以及mysql都应该已经部署完成,在这里不做过多介绍,接下来直入主题。

  1. 下载apache-hive-2.1.1-bin.tar.gz(下载地址)并执行命令
    tar -xzvf apache-hive-2.1.1-bin.tar.gz进行解压缩操作。

  2. 设置hive环境变量,执行命令vim /etc/profile,设置环境变量

    export HIVE_HOME=/opt/apache-hive-2.1.1-bin(hive解压的目录下)
    export PATH=$HADOOP_HOME/bin:$PATH:$HIVE_HOME/bin

    source /etc/profile

  3. 重命名hive配置文件

    cd /opt/apache-hive-2.1.1-bin/conf/(到hive安装目录的conf下)
    执行命令

    cp hive-env.sh.template hive-env.sh
    cp hive-default.xml.template hive-site.xml
    cp hive-log4j2.properties.template hive-log4j2.properties
    cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
  4. 修改配置文件
    修改hive-env.sh

    export JAVA_HOME=/usr/java/jdk1.7.0_71/
    export HIVE_HOME=/opt/apache-hive-2.1.1-bin
    export HADOOP_HOME=/opt/hadoop-2.7.3
    export HIVE_CONF_DIR=/opt/apache-hive-2.1.1-bin/conf 

    修改hive-site.xml

    配置Hive Metastore,我用的是mysql来存放 Hive 元数据。将 mysql-connector-java-5.1.39.jar 放入 $HIVE_HOME/lib 下。

    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    </property>
      <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>1234</value>
    </property>

    替换hive-site.xml文件中的 system:java.io.tmpdir {system:user.name}

    <property>
        <name>hive.exec.local.scratchdir</name>
        <value>/opt/apache-hive-2.1.1-bin/tempdir</value>
    </property>
    <property>
        <name>hive.downloaded.resources.dir</name>
        <value>/opt/apache-hive-2.1.1-bin/tempdir/resource</value>
    </property>
    <property>
        <name>hive.querylog.location</name>
        <value>/opt/apache-hive-2.1.1-bin/tempdir/resources/tmp</value>
        <description>Location of Hive run time structured log file</description>
    </property>
    <property>
        <name>hive.server2.logging.operation.log.location</name>
        <value>/opt/apache-hive-2.1.1-bin/tempdir/resources/operation_logs</value>
    </property>

    为Hive创建HDFS目录

    在 Hive 中创建表之前需要使用以下 HDFS 命令创建 /tmp 和 /user/hive/warehouse (hive-site.xml 配置文件中属性项 hive.metastore.warehouse.dir 的默认值) 目录并给它们赋写权限。

    hdfs dfs -mkdir /tmp
    hdfs dfs -mkdir /usr/hive/warehouse
    hdfs dfs -chmod g+w /tmp
    hdfs dfs -chmod g+w /usr/hive/warehouse
  5. 运行Hive

    在命令行运行 hive 命令时必须保证 HDFS 已经启动。可以使用 start-dfs.sh 来启动 HDFS。

    从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作。

    schematool -dbType mysql -initSchema

    运行hive命令

运行hive命令

如果出现如上信息说明hive部署已经完成了。

出现的问题

Caused by: java.lang.IllegalArgumentException: URI: true does not have a scheme

这里写图片描述

出现该问题经过查看系统源码,发现原来是hive-site.xml文件中hive.metastore.uris属性错误,正常应该设置为空值,否则会出现以上错误。

参考资料
https://my.oschina.net/jackieyeah/blog/735424
http://apache.fayea.com/hive/stable-2/apache-hive-2.1.1-src.tar.gz (hive源码地址)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值