zoukankan      html  css  js  c++  java
  • hive安装

    hive简介

    hive是一个数据仓库,可以看做是Hadoop的客户端,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,也可以将sql语句转换为MapReduce任务进行运行。要注意的是,hive并不是一个数据库,也不存储实际数据,实际数据都存储在hdfs中,hive只是简化了对数据的操作。

    1.下载hive安装包并配置环境变量

    这里下载hive版本apache-hive-2.3.3-bin.tar.gz,最新版本是hive 3.0.0(如果是安装该版本,下方的解压改成tar -zxvf apache-hive-3.0.0-bin.tar.gz),你也可以安装该版本,方法是一样的。下载完成后解压,重命名为hive,并剪切到/usr/local目录下。

    1].解压

    tar -zxvf apache-hive-2.3.3-bin.tar.gz

    2].重命名

    mv apache-hive-2.3.3-bin hive

    3].移动

    mv hive /usr/local

    4].配置环境变量

    vim /root/.bashrc

    5].增加

    HIVE

    export HIVE_HOME=/usr/local/hive

    export PATH=PATH:PATH:PATH:HIVE_HOME/bin

    6].使配置生效

    source ~/.bashrc

    2.安装MySQL

    虽然hive并不存储实际的业务数据,但是hive要管理hdfs中的数据就要对这些数据建立一些类似于索引、映射的玩意,以便于hive识别哪个数据在哪一块,这些映射的数据成为元数据(metadata)。hive中自带的存储元数据的关系型数据库是Derby,但是这个数据库极其不稳定,因此安装MySQL来代替Derby存储元数据。在Ubuntu上安装MySQL十分简单。

    1].安装,在安装过程中会提示输入root密码

    apt-get install mysql-server

    2].配置MySQL

    mysql_secure_installation

    3].测试

    mysql -u root -p

    在mysql命令行下输入show databases;应该会看到如图所示的内容。

    3.配置hive

    1].将/conf文件夹下的hive-default.xml.template 改为 hive-default.xml,将hive-env.sh.template改为hive-env.sh

    cp hive-default.xml.template hive-default.xml

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

    2].修改hive环境文件hive-env.sh,在其中按实际情况添加以下三句话:

    <1>.Hadoop的位置:

    export HADOOP_HOME=/usr/local/hadoop

    <2>.hive的conf目录位置:

    export HIVE_CONF_DIR=/usr/local/hive/conf

    <3>.hive的lib目录位置:

    export HIVE_AUX_JARS_PATH=/usr/local/hive/lib

    3].你要是开心也可以添加jdk的安装目录。下面修改配置文件hive-env.sh,主要是和MySQL有关的四项。

    <property>

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

    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</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>root</value>

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

    </property>

    4].以上四项顾名思义分别是MySQL的URL地址、MySQL驱动的名字、MySQL的用户名、MySQL的密码。然后要修复一些隐藏的坑。在hive下新建一个文件夹tmp,然后在hive-site.xml中增加下面配置。没有这个配置在启动hive时会报错。

    <property>

    <name>system:java.io.tmpdir</name>

    <value>/usr/local/hive/tmp</value>

    </property>

    <property>

    <name>system:user.name</name>

    <value>root</value>

    </property>

    4.相关且必须的工作

    下载一个mysql的连接jdbc jar包到hive的lib目录下,下载地址

    在hdfs上建立一些hive-site.xml中配置的仓库地址并授权

    bin/hadoop fs -mkdir -p /user/hive/warehouse

    bin/hadoop fs -mkdir -p /user/hive/tmp

    bin/hadoop fs -mkdir -p /user/hive/log

    bin/hadoop fs -chmod -R 777 /user/hive/warehouse

    bin/hadoop fs -chmod -R 777 /user/hive/tmp

    bin/hadoop fs -chmod -R 777 /user/hive/log

    5.初始化

    在hive的bin目录下

    schematool -initSchma -dbType mysql

    如果执行不报错,会显示completed,此时查看MySQL的数据库会多出来一个hive,hive数据库中会有很多表,这些就是hive初始化的表。

    6.启动hive

    必须要先启动Hadoop且没有错误,在hive/bin目录中输入hive,就会进入hive命令行,输入show databases;没有抛出异常说明hive安装成功并且成功启动。

  • 相关阅读:
    kafka 订单应用需求
    Centos7快速搭建博客
    Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
    5G关键技术评述
    ganglia安装
    zookeeper安装
    hadoop安装过程
    redis持久化的操作和介绍
    windows下的anacond使用pip安装组件操作
    Java客户端连接Hbase,并创建表(超详细)
  • 原文地址:https://www.cnblogs.com/timlong/p/9805303.html
Copyright © 2011-2022 走看看