登录 |  注册
首页 >  云计算&大数据 >  Hive数据仓库 >  Hive安装与启动、环境变量配置

Hive安装与启动、环境变量配置

一、准备工作

搭建hadoop伪分布式环境;见 hadoop伪分布式搭建

下载hive安装包;下载路径 http://archive.apache.org/dist/hive/

二、设置环境变量

将安装包解压到/opt目录下

$ tar xvzf apache-hive-0.13.0-bin.tar.gz

设置环境变量

在/etc/profile中添加

export HIVE_HOME=/opt/hive-0.13.1
export PATH=$PATH:$HIVE_HOME/bin

运行指令:source /etc/profile使配置文件生效

三、配置hive

    只需配置hive-env.sh

    $ cd $HIVE_HOME/conf
    $ cp hive-env.sh.template hive-env.sh

    编辑hive-env.sh

hive1.jpg

    输入HADOOP_HOME=/opt/hadoop-2.7.3,保存退出。

四、在hdfs中创建hive使用的文件夹

    需要创建在hdfs中创建/tmp和/user/hive/warehouse文件夹给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
    $ show databases;

六、安装mysql来存储hive的元数据

    hive的元数据需要数据库来存储,第四步结束是使用自带的derby数据库来存储元数据。这种情况有个限制,即同时只能有一个hive客户端使用数据库,否则会报错。使用MySQL数据库可解决这个限制。下面介绍安装MySQL数据库及配置方法。

安装mysql5.6.x以上的包

安装完后修改root密码

set password=password('123456')
# 查询用户信息
mysql>select User,Host,Password from user;
# 更新用户信息        
mysql> update user set Host='%' where User = 'root' and Host='localhost' ;
# 删除其他用户信息(不删除有影响)
mysql> delete from user where user='root' and host='127.0.0.1';
# 刷新信息
mysql> flush privileges;

2. 拷贝MySQL驱动jar包到Hive安装目录下的lib文件夹中

    $ cp mysql-connector-java-5.1.27-bin.jar /opt/hive-0.13.1/lib/

3.修改hive配置文件

编辑hive-site.xml文件,并添加以下信息,检查一下hive-site.xml有没有配好jdbc:

<configuration>
    <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>
</configuration>

配置完成,启动hive即可

hive启动常见报错>>


小结:

hive是基于hadoop的数据仓工具,能提供类SQL的查询语句,其本质是将HQL语句转换为MapReduce程序。本文记录hive环境搭建过程,为后续学习HQL语句做基础。

上一篇: Hive简介
下一篇: Hive常见异常及解决方法
推荐文章
  • MD5(Message-DigestAlgorithm5)是一种广泛使用的散列函数(哈希函数),由美国密码学家罗纳德·李维斯特(RonaldL.Rivest)在1991年设计。MD5的作用是对任意长度的信息生成一个固定长度(128位,即32个十六进制字符)的“指纹”或“消息摘要”,并且几乎不可能找到
  • 循环冗余校验(CyclicRedundancyCheck,CRC)是一种用于检测数据传输和存储过程中发生错误的技术,属于一种基于数学原理的错误检测编码(ErrorDetectionCoding)方法。它通过在原始数据上附加一个固定长度的校验码,使得接收端可以通过同样的计算规则对收到的数据进行校验,确
  • AES(AdvancedEncryptionStandard)是一种广泛使用的对称密钥加密算法,它是美国国家标准与技术研究院(NIST)于2001年制定的加密标准,用于替代原有的DES(DataEncryptionStandard)。AES算法以其高效性、安全性和可靠性而著称,在众多应用领域中被广泛
  • RSA(Rivest-Shamir-Adleman)是一种广泛应用的非对称加密算法,由RonRivest、AdiShamir和LenAdleman在1977年提出。其安全性基于数学上的大数因子分解难题,即对于足够大的两个素数p和q而言,已知它们的乘积很容易,但想要从这个乘积中恢复原始的素数则异常困难
  • 最小生成树(MinimumSpanningTree,MST)是一种图论算法,用于在一个带权重的无向连通图中找到一棵包括所有顶点且总权重尽可能小的树。常见的最小生成树算法有两种:Prim算法和Kruskal算法。Prim算法原理:Prim算法是一种贪心算法,它从图中的一个顶点开始,逐步增加边,每次都添
  • 关于最短路径算法的Java实现,这里简述一下几种常用的算法及其基本原理,并给出一个Dijkstra算法的基本实现框架。Dijkstra算法(适用于无负权边的图)Dijkstra算法用于寻找图中一个顶点到其他所有顶点的最短路径。它维护了一个距离表,用来存储从源点到各个顶点的已知最短距离,并且每次都会选
学习大纲