hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

一、hive安装

1、官网下载地址:http://hive.apache.org/downloads.html

下载后解压到指定目录,例如 /usr/local/hive

# tar -xvf apache-hive-2.0.0-bin.tar.gz  ;  mv apache-hive-2.0.0-bin /usr/local/hive

2、配置环境变量

# vim /etc/profile

export  HIVE_HOME=/usr/local/hive/

export  PATH=$HIVE_HOME/bin:$PATH

# source /etc/profile

3、创建Hive在HDFS中所需的目录

# cd /usr/local/hadoop/bin
# ./hadoop fs -mkdir /tmp
# ./hadoop fs -mkdir /user/hive/warehouse
# ./hadoop fs -chmod g+w /tmp
# ./hadoop fs -chmod g+w /user/hive/warehouse

 

二、配置hive

Hive配置文件介绍:

hive-site.xml      hive的配置文件
hive-env.sh        hive的运行环境文件
hive-default.xml.template  默认模板
hive-env.sh.template        hive-env.sh默认配置
hive-exec-log4j.properties.template    exec默认配置
hive-log4j.properties.template              log默认配置
 
vim hive-env.sh
HADOOP_HOME=/usr/local/hadoop
export HIVE_CONF_DIR=/usr/local/hive/conf
export HIVE_HOME=/usr/local/hive
export HADOOP_HEAPSIZE=

vim hive-site.xml    主要修改:连接字符串、驱动、用户名、密码等几处

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property> <property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://mysqlserver:3306/hive_data?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>hive</value>
</property> <property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>a367Nx52ixeorqmx5OaZ</value>
</property> <property>
<name>hive.metastore.local</name>
<value>false</value>
</property> <property>
<name>hive.metastore.uris</name>
<value>thrift://dataMaster30:9083</value>
</property> <property>
<name>hive.querylog.location</name>
<value>/data/logs/hive/query</value>
</property> </configuration>

hive日志默认放在/tmp/${user.name}目录下

可以通过配置 hive-log4j2.properties 来进行log相关的设置

property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}

 

三、安装配置MySQL

create database hive;
grant all on hive.* to hive@'%'  identified by 'hive';  
flush privileges;  
下载mysql驱动,并将驱动复制到$HIVE_HOME/lib类库,下载地址: http://dev.mysql.com/downloads/connector/j/
mysql-connector-java-5.1.31-bin.jar
 
 
三、启动测试hive
1、启动hadoop后,执行hive命令,如果不报错,表明基于独立元数据库的 Hive 已经安装成功了
# hive
hive> show databases;
OK
default
Time taken: 0.907 seconds, Fetched: 1 row(s)
 
2、在Hive中创建一张测试表test1
hive> create table test1(name string, age int);
hive> show tables;
hive> desc test1
 
3、登录mysql,访问hive数据库
从 MySQL 数据库上查看元数据信息用到的 SQL 语句:
use hive;                 //使用 hive 数据库库
show tables;            //显示 hive 数据库中的数据表
select * from TBLS;  //查看 hive 的元数据信息
通过以上的步骤,我们完整的安装了一个Hive,并通过添加和删除一张数据库表的演示,来展示了Hive和Mysql元数据库之间的关系操作
到此Hive集成Mysql作为元数据已完成。
 
四、元数据mysql远程模式配置
<property>
                <name>hive.metastore.uris</name>
                <value>thrift://192.168.223.129:9083</value> 
                <description>运行hive的主机地址及端口(特别重要ip不要弄错)</description>
</property>
 
启动元数据服务:
bin/hive --service metastore &    (默认监听端口是:
 
 
启动hive报错时可以参照以下方法排除:
配置 hive.metastore.uris 
        a.不启动metastore和hiveserver服务
          直接命令行hive进入hive shell环境,然后执行show databases  报错如下:
          ERROR ql.Driver: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate    org.apache.hadoop.hive.metastore.HiveMetaStoreClient
      b.第二种种情况
          1.配置 hive.metastore.uris 
          2.启动metastore服务  hive  --service metastore
          然后直接命令行hive进入hive shell环境,然后执行show databases

c:第三种情况
           1.注释配置项 hive.metastore.uris 
           2.不启动metastore服务
           然后直接命令行hive进入hive shell环境,然后执行show databases
    

 
 
参考资料:http://blog.csdn.net/blueheart20/article/details/38460541
 
 

Hive安装与配置--- 基于MySQL元数据的更多相关文章

  1. CentOS6安装各种大数据软件 第八章:Hive安装和配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  2. Hive安装与配置详解

    既然是详解,那么我们就不能只知道怎么安装hive了,下面从hive的基本说起,如果你了解了,那么请直接移步安装与配置 hive是什么 hive安装和配置 hive的测试 hive 这里简单说明一下,好 ...

  3. 【Hive一】Hive安装及配置

    Hive安装及配置 下载hive安装包 此处以hive-0.13.1-cdh5.3.6版本的为例,包名为:hive-0.13.1-cdh5.3.6.tar.gz 解压Hive到安装目录 $ tar - ...

  4. 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器

    #!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...

  5. 基于MySQL元数据的Hive的安装和简单測试

    引言: Hive是一种强大的数据仓库查询语言,类似SQL,本文将介绍怎样搭建Hive的开发測试环境. 1. 什么是Hive? hive是基于Hadoop的一个数据仓库工具,能够将结构化的数据文件映射为 ...

  6. 基于Hadoop集群搭建Hive安装与配置(yum插件安装MySQL)---linux系统《小白篇》

    用到的安装包有: apache-hive-1.2.1-bin.tar.gz mysql-connector-java-5.1.49.tar.gz 百度网盘链接: 链接:https://pan.baid ...

  7. Hive安装与配置——深入浅出学Hive

    第一部分:软件准备与环境规划 Hadoop环境介绍 •Hadoop安装路径 •/home/test/Desktop/hadoop-1.0.0/ •Hadoop 元数据存放目录 •/home/test/ ...

  8. Hive安装、配置和使用

    Hive概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能. Hive本质是:将HQL转化成MapReduce程序. Hive处理的数据存储 ...

  9. Hive安装与部署集成mysql

    前提条件: 1.一台配置好hadoop环境的虚拟机.hadoop环境搭建教程:稍后补充 2.存在hadoop账户.不存在的可以新建hadoop账户安装配置hadoop. 安装教程: 一.Mysql安装 ...

随机推荐

  1. Android 使用自定义字体

    整个项目要使用第三方字体首先将字体文件放到assets文件夹下 因为整个项目要用第三方字体这里我重写了 TextView Button EditText 三个控件 以TextView 为例代码如下   ...

  2. [UE4]哪些数据可以保存

    基本类型的数据都可以保存(整型,浮点型等等)和容器类型(数组.结构体.Maps(字典表)). 复杂数据类型可以使用结构体把要保存的数据提出出来,通过保存结构体,达到保存复杂数据类型的目的.

  3. 解决DevExpress10.2.4版本在VS2012工具箱控件不显示的问题

    DevExpress10.2.4支持vs2010,安装vs2010或找一台装有vs2010的机器安装DevExpress10.2.4 执行DevExpress10.2.4的工具ToolboxCreat ...

  4. zabbix_agentd.conf配置文件详解

    Alias key的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户I ...

  5. UE4 Sockets多线程TCP通信

    转自:https://blog.csdn.net/zilisen/article/details/75007447 一.简介 UE4引擎是提供了Sockets模块和Networking模块的,博主在研 ...

  6. MySQL架构之keepalived+haproxy+mysql 实现MHA中slave集群负载均衡的高可用(原创)

    MySQL的高可用方案一般有如下几种:keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC. HAProxy是一款 ...

  7. C#窗体嵌入SetParent的用法

    模块化的开发,将模块合并到一起的时候,遇到了Mdi不能添加到其它窗口下的问题. 分两种情况: 将mdi窗口A设成普通窗口B的子控件,需要将A的TopLevel设置成false,但是Mdi窗口的TopL ...

  8. CF865D Buy Low Sell High

    /* 贪心来选择, 如果能找到比当前小的, 就用最小的来更新当前的 优先队列即可 */ #include<cstdio> #include<algorithm> #includ ...

  9. Struts2学习:interceptor(拦截器)的使用

    对于需要登陆验证.权限验证等功能的网站,每一次请求,每一个action都写一段验证的代码,未免显得冗余且不易维护.struts2提供了拦截器interceptor,为这些页面提供一个切面,或者说公共组 ...

  10. MyBatis批量增删改查操作

      前文我们介绍了MyBatis基本的增删该查操作,本文介绍批量的增删改查操作.前文地址:http://blog.csdn.net/mahoking/article/details/43673741 ...