zoukankan      html  css  js  c++  java
  • HIVE 2.1.0 安装教程。(数据源mysql)

     

    前期工作

    1. 安装JDK
    2. 安装Hadoop
    3. 安装MySQL

    安装Hive

    下载Hive安装包

    可以从 Apache 其中一个镜像站点中下载最新稳定版的 Hive, apache-hive-2.1.0-bin.tar.gz。

    解压安装Hive

    使用以下命令安装 Hive:

    sudo mv apache-hive-2.1.0-bin.tar.gz /opt
    cd /opt
    sudo tar -xzvf apache-hive-2.1.0-bin.tar.gz    ##解压
    sudo ln -s apache-hive-2.1.0-bin hive    ##创建软链接
    

    设置 Hive环境变量

    编辑 .bash_profile 文件, 在其中添加以下内容:

    # Hive Env
    export HIVE_HOME=/opt/hive
    export PATH=$PATH:$HIVE_HOME/bin
    

    使环境变量生效:

    source .bash_profile
    

    配置Hive

    配置文件重命名

    在运行 Hive 之前需要使用以下命令修改配置文件:

    cd /opt/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
    

    修改hive-env.sh

    因为 Hive 使用了 Hadoop, 需要在 hive-env.sh 文件中指定 Hadoop 安装路径:

    export JAVA_HOME=/opt/java    ##Java路径
    export HADOOP_HOME=/opt/hadoop   ##Hadoop安装路径
    export HIVE_HOME=/opt/hive    ##Hive安装路径
    export HIVE_CONF_DIR=/opt/hive/conf    ##Hive配置文件路径
    

    修改hive-site.xml

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

    <property>
        <name>hive.exec.scratchdir</name>
        <value>/tmp/hive-${user.name}</value>
        <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>
      </property>
      <property>
        <name>hive.exec.local.scratchdir</name>
        <value>/tmp/${user.name}</value>
        <description>Local scratch space for Hive jobs</description>
      </property>
      <property>
        <name>hive.downloaded.resources.dir</name>
        <value>/tmp/hive/resources</value><description>Temporary local directory for added resources in the remote file system.</description></property><property><name>hive.querylog.location</name><value>/tmp/${user.name}</value><description>Location of Hive run time structured log file</description></property><property><name>hive.server2.logging.operation.log.location</name><value>/tmp/${user.name}/operation_logs</value><description>Top level directory where operation logs are stored if logging functionality is enabled</description></property>

    配置Hive Metastore

    默认情况下, Hive的元数据保存在了内嵌的 derby 数据库里, 但一般情况下生产环境使用 MySQL 来存放 Hive 元数据。

    1. 将 mysql-connector-java-5.1.39.jar 放入 $HIVE_HOME/lib 下。
    2. hive-site.xml 中配置 MySQL 数据库连接信息
      <property>
       <name>javax.jdo.option.ConnectionURL</name>
       <value>jdbc:mysql://localhost:3306/hive?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>root</value>
      </property>
      <property>
       <name>javax.jdo.option.ConnectionPassword</name>
       <value>123456</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
    

    为Hive建立相对应的Mysql账户,并赋予足够的权限

    Java代码  收藏代码
    1. CREATE USER 'root' IDENTIFIED BY '123456';  
    2. GRANT ALL PRIVILEGES ON *.* TO 'root@'%' WITH GRANT OPTION;  
    3. flush privileges; 

    将mysql-connector-java-5.1.30-bin.jar 放入 $HIVE_HOME/lib下 

    运行Hive

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

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

    schematool -dbType mysql -initSchema
    

    执行成功后,可以使用 Sequel Pro 查看元数据库 hive 是否已经创建成功。

    hive-metastore

    要使用 Hive CLI(Hive command line interface), 可以在终端输入以下命令:

    hive
    

    启动信息如下:

    hive-start

    使用 show tables 来显示所有的表:

    hive-sql

  • 相关阅读:
    2016第17周四
    2016第17周三
    2016第17周二
    OSGI框架学习
    2016年第16周日
    2016第16周六
    如何培养技术洞见力
    2016第15周四
    深入浅出ClassLoader
    Linux智能小开关rfkill
  • 原文地址:https://www.cnblogs.com/duking1991/p/6070254.html
Copyright © 2011-2022 走看看