一、Hive将元数据存储在RDBMS中,有三种模式可以连接到数据:

1、single User Mode:此模式连接到一个In-memory的数据库Derby,一般用于Unit Test。

2、Multi User Mode:通过网络连接到一个数据库中,是最经常使用到的模式。

3、Remote Server Mode:用于非Java客户端访问元数据库,在服务器端启动一个MetaStoreServer,客户端利用Thrift协议通过MetaStoreServer访问元数据库。

二、暂略

三、暂略

四、MySQL做元数据库模式

1、解压hive的压缩包

2、把mysql-connector-java-5.1.10-bin.jar包复制到hive的lib目录下

[hadoop@node3 lib]$ ll mysql-connector-java-5.1.10-bin.jar
-rw-r--r-- 1 root root 724225 Sep 17 17:03 mysql-connector-java-5.1.10-bin.jar
[hadoop@node3 lib]$ pwd
/app/hive/lib

3、配置hive

----将hive-default.xml.template拷贝成hive-site.xml
----修改hive-site.xml文件
----添加、修改如下信息:
----Mysql连接
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.1.152:3306/jack?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property> ----Mysql连接驱动:
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property> ----登陆Mysql的用户名:
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>jack</value>
<description>username to use against metastore database</description>
</property> ----登陆Mysql的用户jack的密码:
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>jack</value>
<description>password to use against metastore database</description>
</property> ----指定本地登陆mysql还是远程:(我这里是远程)
<property>
<name>hive.metastore.local</name>
<value>false</value>
<description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description>
</property> ----Hive表数据存放目录,自带默认值:
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property> ----Hive临时文件存放目录,使用默认值即可:
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive-${user.name}</value>
<description>Scratch space for Hive jobs</description>
</property>

4、安装配置mysql并且创建jack的用户和数据库

5、最后对hive进行测试

五、hive的元数据存储在mysql后,报错的解决方法

当在hive中drop table 时如果报以下错时

   FAILED: Error in metadata: javax.jdo.JDODataStoreException: Error(s) were found while auto-creating/validating the datastore for classes. The errors are printed in the log, and are attached to this exception.
NestedThrowables:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

解决的方法是到mysql中的hive数据库里执行 alter database hive character set latin1;改变Hive元数据库的字符集。

Install Hive的更多相关文章

  1. mac OSX 上 brew install hive

    本文介绍brew install hive并修改默认的metastore存储方案,改Derby数据库为mysql的方法以及可能遇到的问题的解决方案. 1. 通过homebrew安装hive 1 bre ...

  2. Hive remote install mode (mysql) step by step

    Prerequisite: Hadoop cluster is avalable; Mysql installed on namenode; Step1: download the latest hi ...

  3. Mac上Hive环境搭建

    本文介绍在Mac上搭建Hive环境. 建议首先配置好Hadoop,搭建与配置可以参考我之前的博文Mac Hadoop的安装与配置. 当然你也可以选择使用Docker搭建环境,本文不作介绍. 安装 对于 ...

  4. how to install mapr sandbox

    Sometimes we need a standalone envrionment to test Hadoop and Spark, mapr is a choice to do that in ...

  5. Impala 安装笔记2一hive和mysql安装

    l   安装hive,hive-metastore hive-server $ sudo yum install hive hive-metastore hive-server l   安装mysql ...

  6. hbase、pig、hive配置与应用

    ------------------HBASE---------- [root@iClient~]#sudo yum install hbase #iClient安装Hbase客户端 [root@cM ...

  7. yum install hadoop related client

    yum list avaliable hadoop\* yum list installed yum repolist repo is in /etc/yum.repos.d yum install ...

  8. hadoop-ha QJM 架构部署

    公司之前老的hadoop集群namenode有单点风险,最近学习此链接http://www.binospace.com/index.php /hdfs-ha-quorum-journal-manage ...

  9. 使用yum安装CDH Hadoop集群

    使用yum安装CDH Hadoop集群 2013.04.06 Update: 2014.07.21 添加 lzo 的安装 2014.05.20 修改cdh4为cdh5进行安装. 2014.10.22  ...

随机推荐

  1. swift 同步加载图片

    import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: ...

  2. SQL Server中使用正则表达式

    SQL Server 2005及以上版本支持用CLR语言(C# .NET.VB.NET)编写过程.触发器和函数,因此使得正则匹配,数据提取能够在SQL中灵活运用,大大提高了SQL处理字符串,文本等内容 ...

  3. Test4J与Jtester单元测试常用注解比较

    package com.alibaba.ceres.catalog.biz.product.impl; import org.junit.After; import org.junit.Before; ...

  4. Java基础之线程——使用执行器(UsingExecutors)

    控制台程序. 在这个版本的银行示例中,把借款和贷款事务创建为在不同线程中执行的任务,它们把事务提交给职员.创建事务的任务是Callable<>任务,因为它们需要返回已为每个账户创建的借款或 ...

  5. Java String.split()

    在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用“.”作为分隔的话,必须是如下写法,String.split( ...

  6. ps 简介

    1. ps 简介ps 命令就是最根本相应情况下也是相当强大地进程查看命令.运用该命令可以确定有哪些进程正在运行和运行地状态. 进程 是否结束.进程有没有僵死.哪些进程占用了过多地资源等等.总之大部分信 ...

  7. ASP.NET的一般处理程序对图片文件的基本操作

    以一个小项目为例: 验证码: public class VerifyCodeHelper { public VerifyCodeHelper() { this.ran = new Random(); ...

  8. ini,config文件的读取修改

    修改ini配置文件 // 声明INI文件的写操作函数 WritePrivateProfileString() [System.Runtime.InteropServices.DllImport(&qu ...

  9. paper 13:计算机视觉研究群体及专家主页汇总

    做机器视觉和图像处理方面的研究工作,最重要的两个问题:其一是要把握住国际上最前沿的内容:其二是所作工作要具备很高的实用背景.解决第一个问题 的办法就是找出这个方向公认最高成就的几个超级专家(看看他们都 ...

  10. WCF和Web Service的 区(guan)别(xi)

    参考文献:http://social.microsoft.com/Forums/zh-CN/c06420d1-69ba-4aa6-abe5-242e3213b68f/wcf-webservice 之前 ...