Hive | Hive 安装详解

作者: Ada54 | 来源:发表于2019-02-18 19:33 被阅读238次

    一、Hive 介绍

    二、准备工作

    三、Hive下载

    四、Hive 安装

    五、Hive 启动


    一、Hive 介绍

    Hive 是构架在 hadoop 之上的 数据仓库工具,提供简单的 sql 查询功能,被称为HiveQL 或 HQL,然后将 sql 语句转换为 MapReduce 任务进行运行,来处理结构化数据

    优点:

    1)操作接口采用类SQL语法,容易上手

    2)避免了用 Java 写 MapReduce,降低开发人员的学习成本;通过SQL可轻松访问数据,从而实现数据仓库任务,如提取-转换-加载(ETL),报告和数据分析

    3)统一的元数据管理,可与 impala/spark 等共享元数据

    4)数据的离线处理,如日志分析,海量结构化数据离线分析

    缺点:

    1)Hive执行延迟比较高,因此 hive 常用于数据分析的,不适合实时性要求高的场景

    2)因为Hive的执行延迟比较高,对于处理小数据没有优势,适合处理大数据

    二、准备工作

    1.  检查Java JDK 是否安装

    输入    java   -version

    若显示以上信息,则说明有安装;若没有安装,先进行 jdk 的安装

    Java JDK 下载和安装过程链接:https://www.jianshu.com/p/cff2b88883e4

    2.  检查 Hadoop 是否安装

    输入    hadoop  version

    本人安装了 hadoop 2.2.0,若没有安装hadoop,则安装以下步骤进行 hadoop 的下载和部署:

    step1:  Linux系统Hadoop下载

    step2:  Hadoop伪分布式模式部署

    3.  检查 Mysql 是否安装

    输入   yum  list  installed  |  grep  mysql

    安装Mysql链接:CentOS7系统下 Mysql 的安装

    三、Hive下载

    1. 官网下载 Hive

    Hive官网链接:http://hive.apache.org/downloads.html

    step1:在DOWNLOADS下点击 Download a release now! 进入

    step2:在 HTTP 下可看到多个下载 Hive 的链接,选择一个进入

    step3:点击需要下载的版本,进入

    step4:选择 apache-hive-bin.tac.gz 下载到本地

    注:

    xx-bin.tac.gz 是 class 文件,java 已编译过

    xx-src.tac.gz 是 java 文件,是 java源代码

    .tac.gz 是 linux 下的安装包

    2. 将本地下载的 Hive 安装包上传到 Linux 上

    本人是通过 Xshell 的 lrzsz 软件上传文件

    step5:Xshell 连接 linux服务器 ,进入放置该文件的目录

    本人将文件上传到  /opt/software 目录下

    输入    cd   /opt/software          进入到该目录

    输入    rz          运行该命令,弹出一个文件选择窗口,则从本地选择文件上传到服务器

    上传完毕后,可在指定目录下,看到上传的 hive 安装包

    四、Hive 安装

    1. 安装Hive

    step1:创建存放 hive 目录

    进入到本人存放软件的目录 /opt/modules

    输入    mkdir hive           创建hive目录

    step2:解压 hive 安装包到 hive目录下

    输入    tar  -zxf  /opt/software/apache-hive-1.2.2-bin.tar.gz  -C    /opt/modules/hive

    将存放在 /opt/software/ 目录下的安装包 apache-hive-1.2.2-bin.tar.gz 解压到 /opt/modules/hive  目录下

    2. 加载 mysql 驱动包

    链接:mysql-connector-java驱动包下载地址

    step3: 下载 mysql 驱动包后,放入到 hive安装目录的 lib 目录下

    输入    cd  /hive/apache-hive-1.2.2-bin/lib            进入到 lib 目录

    输入    rz             弹出一个文件选择窗口,从本地选择mysql 驱动包上传到服务器

    上传完毕后,可在 lib 目录下,看到上传的 mysql-connector-java-5.1.27.jar 包

    3. 配置 Hive 环境变量

    step4:进入 /etc/profile 文件,配置环境变量

    输入:sudo   vim   /etc/profile         进入到 profile 配置文件

    输入   i 键       进入编辑模式

    输入    export  HIVE_HOME=/opt/modules/hive/apache-hive-1.2.2-bin

               export  PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf

    /opt/modules/hive/apache-hive-1.2.2-bin 路径是hive安装的目录路径

    输入   Esc 键,输入 :wq    保存并退出

    step5:重新执行 profile 文件

    输入   source  /etc/profile        重新执行 profile 文件使其生效

    4. 修改 Hive 的 hive-env.sh 、hive-site.xml 和 hive-log4j.proprties 配置文件

    step6:进入到 hive安装目录的 /conf 目录下

    问题一:/conf 目录下木有hive-env.sh 、 hive-site.xml 和 hive-log4j.proprties,但是看到 hive-env.sh.template 、 hive-default.xml.template 和 hive-log4j.properties.template 文件

    解决方法:可直接复制,并分别重命名为 hive-env.sh 、 hive-site.xml 和 hive-log4j.proprties

    输入    cp  hive-env.sh.template  hive-env.sh

    输入    cp  hive-default.xml.template  hive-site.xml

    同上创建 hive-log4j.proprties 文件

    step7:修改 hive-env.sh 文件

    输入    vim  hive-env.sh        编辑 hive-env.sh文件

    输入  i 键  进入编辑模式

    输入   export  JAVA_HOME=/usr/local/java/jdk1.8.0_181

              export  HADOOP_HOME=/opt/modules/hadoop-2.2.0

              export  HIVE_HOME=/opt/modules/hive/apache-hive-1.2.2-bin

    分别添加你安装的 java jdk 路径、hadoop路径和hive路径

    输入  Esc 键,输入 :wq   保存并退出

    输入     source   hive-env.sh         重新执行 hive-env.sh 文件使其生效

    step8:在修改 hive-site.xml 前,先创建warehouse、tmp、log目录

    进入到hive的安装目录下,本文是进入到  /opt/modules/hive/apache-hive-1.2.2-bin

    输入     mkdir  warehouse         存储表数据

                mkdir   tmp             存储临时文件

                mkdir   log              存储日志文件

    step9:修改 hive-site.xml 文件

    进入到 conf 目录下

    输入    vim  hive-site.xml           编辑 hive-site.xml  文件

    输入  i 键 进入编辑模式

    1)首先添加以下信息,配置 mysql 数据库相关内容

    <property>

        <name>javax.jdo.option.ConnectionURL</name>

        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true;characterEncoding=UTF-8

        </value>

        <description>JDBC connect string for a JDBC metastore</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.ConnectionUserName</name>

        <value>root</value>

        <description>username to use against metastore database</description>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>mysql数据库登录密码</value>

        <description>password to use against metastore database</description>

    </property>

    2)修改 hive.metastore.warehouse.dir 配置

    搜索   hive.metastore.warehouse.dir

    先按 Esc 键退出编辑模式,然后输入   /hive.metastore.warehouse.dir

    定位到 hive.metastore.warehouse.dir 位置,按 i 键进入编辑

    修改 value 值,填写你所创建的 warehouse 的路径,配置数据目录

    3)修改 hive.exec.scratchdir 配置

    按 2)的修改步骤,修改临时文件路径

    4)修改 hive.querylog.location 配置

    按 2)修改步骤,修改日志路径

    5)修改 system:java.io.tmpdir 的路径

    搜索 system:java.io.tmpdir ,定位到多处含有 system:java.io.tmpdir 的地方(搜索功能按小写 n可切换到下一处;按小写 N 可切换到上一处)

    全部替换成 /opt/modules/hive/apache-hive-1.2.2-bin/tmp(这个是我存放临时文件的路径,替换成你所创建的)

    修改完以上全部内容后,输入  Esc 键,输入 :wq   保存并退出

    step10:修改 hive-log4j.proprties 文件

    输入    vim  hive-log4j.properties

    修改 log.dir 属性,配置存放log文件路径,其他属性默认即可

    hive.log.dir=/opt/modules/hive/apache-hive-1.2.2-bin/log/${username}

    五、Hive 启动

    step11: 启动 hadoop

    输入    start-all.sh

    输入    jps           查看是否启动成功

    step12: 启动 mysql

    输入    service mysqld start

    step13: 启动 hive

    输入    hive

    启动 hive 后,就可以进行操作了

    注:hive操作命令基本与mysql一致

    参考链接:hadoop之hive的安装与部署

                      Linux 开发环境安装总结6-(Hive安装)

    相关文章

      网友评论

        本文标题:Hive | Hive 安装详解

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