美文网首页
Centos7上安装Hive-1.2.2

Centos7上安装Hive-1.2.2

作者: algernoon | 来源:发表于2019-11-05 23:32 被阅读0次

    安装Hive时默认已经安装好MySQL和Hadoop集群。

    下载hive-1.2.2安装包:

    国内镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-1.2.2/
    官方镜像:http://archive.apache.org/dist/hive/hive-1.2.2/

    解压hive压缩包到安装目录

    tar -xvzf apache-hive-1.2.2-bin.tar.gz -C /opt/module/
    cd /opt/module
    mv apache-hive-1.2.2-bin hive-1.2.2
    

    配置hive环境变量

    export HIVE_HOME=/opt/module/hive-1.2.2
    export PATH=${HIVE_HOME}/bin:$PATH
    

    hive的metastore采用MySQL存储,下载MySQL的JDBC驱动jar包并放到hive安装目录的lib包目录下

    mysql-connector-java-5.1.46.jar

    编写hive配置文件hive-site.xml

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <property>
            <name>javax.jdo.option.ConnectionURL</name>
            <value>jdbc:mysql://ip:port/hive_metastore_db?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionDriverName</name>
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionUserName</name>
            <value>MySQL用户</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionPassword</name>
            <value>MySQL密码</value>
        </property>
        <property>
            <name>hive.metastore.warehouse.dir</name>
            <value>/user/hive/warehouse</value>
        </property>
    </configuration>
    

    HDFS上创建hive目录

    hadoop fs -mkdir /tmp
    hadoop fs -mkdir -p /user/hive/warehouse
    hadoop fs -chmod g+w /tmp
    hadoop fs -chmod g+w /user/hive/warehouse
    

    启动hive

    $HIVE_HOME/bin/hive 
    Logging initialized using configuration in jar:file:/opt/module/hive-1.2.2/lib/hive-common-1.2.2.jar!/hive-log4j.properties
    hive> show databases;
    OK
    default
    Time taken: 1.161 seconds, Fetched: 1 row(s)
    hive>
    

    注意:安装过程如果遇到类似如下报错,是hadoop中jline-2.12.jar包版本问题,把hive lib目录下的该jar包拷贝到/opt/module/hadoop-2.6.1/share/hadoop/yarn/lib目录覆盖原来的jline包,问题即可解决,其他问题根据报错排查问题,MySQL连接坑可能会多点

    [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:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
    
    Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
        at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
        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:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
    

    相关文章

      网友评论

          本文标题:Centos7上安装Hive-1.2.2

          本文链接:https://www.haomeiwen.com/subject/qxhybctx.html