• 在apache hadoop2.6 上部署hive 并将hive数据源存储于Mysql


    集成hive 的前提是apache hadoop 集群能够正常启动。

    hadoop 版本 apach2.6.0  hive 版本:1.2.1

    1、安装mysql 并赋予权限:

     1.1:创建hive 用户和密码:

    Create user  ‘hive’ identified by ‘123456’

    1.2:创建数据库:create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    1.3:授权允许远程登陆:grant all privileges on *.* to 'user'@'hostname' identified by 'passwd' with grant option;

    flush privileges;

    1.4 将mysql 驱动复制到 hive/lib 目录下

      mysql-connector-java-5.1.38-bin.jar

     

    2、hive 配置文件在conf 目录下:hive-env.sh

    cp hive-env.sh.template hive-env.sh

    最后添加如下配置:

    export JAVA_HOME=/usr/java/jdk1.7.0_79
    export HIVE_HOME=/home/hadoop/hive-1.2.1-bin
    export HADOOP_HOME=/home/hadoop/hadoop-2.6.0

    3、hive-site.xml

    3.1hdfs 上的文件需要事先创建,如果出现权限问题修改对应的权限即可:hadoop dfs -chmod -R 777 hdfs://node17:9000/hive/scratchdir

    3.2需要将下述jar文件复制到hive/lib目录下
    home/hadoop/hive-1.2.1-bin/lib/hive-hbase-handler-1.2.1.jar
    file:///home/hadoop/hive-1.2.1-bin/lib/protobuf-java-2.5.0.jar,
    file:///home/hadoop/hive-1.2.1-bin/lib/hbase-client-1.0.0.jar,
    file:///home/hadoop/hive-1.2.1-bin/lib/hbase-common-1.0.0.jar,
    file:///home/hadoop/hive-1.2.1-bin/lib/zookeeper-3.4.6.jar,
    file:///home/hadoop/hive-1.2.1-bin/lib/guava-12.0.1.jar

    <configuration>
    <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>hdfs://node17:9000/hive/warehouse</value>
    </property>
    <property>
    <name>hive.exec.scratchdir</name>
    <value>hdfs://node17:9000/hive/scratchdir</value>
    </property>
    <property>
    <name>hive.querylog.location</name>
    <value>/home/hadoop/hive-1.2.1-bin/logs</value>
    </property>
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://node15: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>123456</value>
    </property>

    <property>
    <name>hive.aux.jars.path</name>
    <value>file:///home/hadoop/hive-1.2.1-bin/lib/hive-hbase-handler-1.2.1.jar ,file:///home/hadoop/hive-1.2.1-bin/lib/protobuf-java-2.5.0.jar,file:///home/hadoop/hive-1.2.1-bin/lib/hbase-client-1.0.0.jar,file:///home/hadoop/hive-1.2.1-bin/lib/hbase-common-1.0.0.jar,file:///home/hadoop/hive-1.2.1-bin/lib/zookeeper-3.4.6.jar,file:///home/hadoop/hive-1.2.1-bin/lib/guava-12.0.1.jar</value>
    </property>

    <property>
    <name>hive.metastore.uris</name>
    <value>thrift://node17:9083</value>       
    </property>

      <property>
        <name>hive.exec.local.scratchdir</name>
        <value>/home/hadoop/hive-1.2.1-bin/tmp</value>
      </property>

    </configuration>


    出现问题:

    Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677)
        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)
    Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    解决办法:

    启动metastore service服务即可。

    ./hive --service metastore

    解决办法:

    删除 yarn 下的 jline-0.9.94.jar jar 包即可。

    ./hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar

  • 相关阅读:
    Message "'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。" 解决办法 EntityFrameworkCore
    关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法
    EntityFrameworkCore Db First 生成Model时出错 PowerShell 版本过低
    八大排序算法详解(动图演示 思路分析 实例代码java 复杂度分析 适用场景)
    Loadrunner12 使用谷歌浏览器录制脚本时打不开网页-解决办法
    Loadrunner12 在谷歌浏览器录制https协议的脚本时,提示不是私密链接-解决办法
    loadrunner回放https请求时报connect 时发生ssl协议错误--解决办法
    百度2020春招 笔试算法题第一题 需要买多少瓶果汁
    美团2020春招 笔试算法题 双行道
    美团2020春招 笔试算法题 最好一样
  • 原文地址:https://www.cnblogs.com/zhanggl/p/5250706.html
Copyright © 2020-2023  润新知