博主学习Hadoop学习到Hive,一开始跟着资料去安装Hive 1.x一点问题也没有,方便快捷啊,但是看了一下官方文档,上面好像说Hive 2.0修复了很多bug,那么我想,我还是用Hive2.0好了。于是我开始按照原来的流程配置Hive2.0,遇到了各种问题,而且由于版本太新,国内网站上的解决方案基本上没有用。查阅各种资料,现在终于配置好了。所以写这篇博文分享,希望减少跟我一样的新手在使用Hive2.0的时候遇到的阻力。



Hive 1.x与2.x

As of June 2015, Hive has two “main lines”, master and branch-1. 
All new feature work and bug fixes in Hive are contributed to the master branch. As of June 2015, releases from master are numbered 2.x. The 2.x versions are not necessarily backwards compatible with 1.x versions. 
branch-1 is used to build stable, backward compatible releases. Releases from this branch are numbered 1.x (where 1.3 will be the first release from it, as 1.2 was released from master prior to the creation of branch-1). Until at least June 2016 all critical bug fixes (crashes, wrong results, security issues) applied to master must also be applied to branch-1. The decision to port a feature from master to branch-1 is at the discretion of the contributor and committer. However no features that break backwards compatibility will be accepted on branch-1.

Requirements

Java 1.7 
Note: Hive versions 1.2 onward require Java 1.7 or newer. Hive versions 0.14 to 1.1 work with Java 1.6 as well. Users are strongly advised to start moving to Java 1.8 (see HIVE-8607). 
Hadoop 2.x (preferred), 1.x (not supported by Hive 2.0.0 onward). 
Hive versions up to 0.13 also supported Hadoop 0.20.x, 0.23.x. 
Hive is commonly used in production Linux and Windows environment. Mac is a commonly used development environment. The instructions in this document are applicable to Linux and Mac. Using it on Windows would require slightly different steps.



上面只是一些了解材料,我就从官方文档上贴了过来,下面进入正题。

1 下载解压

第一步当然是和老版本一样,在官网上下载Hive的最新的稳定版压缩包,在Linux系统下解压。如果你只使用这一个版本的Hive,可以把HIVE_HOME和其bin目录添加到环境变量PATH中去。安装过Hadoop的朋友对这个应该相当熟悉。像我的话,由于想要Hive 1.x和2.x一起使用,所以我没有配置环境变量,这样每次要使用Hive的时候就cd到对应的bin目录下执行就行了。



2 mysql metastore

Hive的元数据是需要一个关系型数据库保存的,它内置了一个deby,但是最好用的无疑还是MySQL,而且安装配置也简单。所以博主建议使用mysql。这一步的详细过程请参考博主的另一篇博文:http://blog.csdn.net/cds86333774/article/details/51132532

然后Hive要连接mysql啊,这个时候熟悉mysql的朋友就一定会意识到:哦!驱动!

对的,安装好mysql并配置好了之后,还要将连接mysql的驱动:mysql-connector-java-5.1.28.jar 拷贝到HiveHome 目录下的lib文件夹中,这样Hive才可能成功连接mysql。



3 配置hive-site.xml

在hive的目录下有一个conf文件夹,里面全是配置文件。

cp hive-default.xml.template hive-site.xml 
  • 1
  • 1

将模板复制并命名为 hive-site.xml,我们要做的配置就是在这个文件中修改一些参数。这一点也和Hadoop类似。

在这个文件中,查找到如下属性,然后修改其中的value到与你的主机相符的配置,例如mysql所在的主机? 端口一般都是3306;hive是用来存元数据的数据库名称;username和password要与你在上一步设置mysql时的一致:

    <property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop00: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>123</value>
<description>password to use against metastore database</description>
</property>

注意事项:

如果你在使用mysql之前启动过Hive,注意使用下面的命令将元数据同步到mysql,不然会报错:

schematool -dbType mysql -initSchema



4 错误1

错误1:忘记启动Hadoop集群了。



5 错误2

这个问题卡得我有点久,因为在百度上没有找到解决方案。后来在stackoverflow上找到了完美解答:

解决后反思一下,我发现自己有一个问题,就是很不喜欢认真看错误信息,其实只要认真看了错误信息,然后到hive-site.xml文件去找出特定字段,然后看description,是可以自己找出解决方案的。国内的网站上还没有出现这个问题的解答,是因为版本太新。而每当一个全新的问题出现,总有一些大牛可以为我们这些小白解决问题,而这种解决全新问题的能力也是我所欠缺的。简单总结为一句话,对我自己说的:【请认真分析错误信息,不要嫌麻烦,不要一遇到问题就百度,不要一看到别人贴出的解决方案,看都不看清楚就直接复制粘贴】。



6 成功

安装HIVE 过程中要注意

1,MySQL 是否正常运行

2.   创建好mysql 用户并分配好相应的访问权限以及数据库端口号等

3.   mysql-connector-java-5.1.26-bin.jar  是否放到hive/lib 目录下 建议修改权限为777 (chmod 777 mysql-connector-java-5.1.26-bin.jar)

4. 修改conf/hive-site.xml 中的 “hive.metastore.schema.verification”  值为 false  即可解决 “Caused by: MetaException(message:Version information not found in metastore. )”

5. 调试 模式命令  hive -hiveconf hive.root.logger=DEBUG,console

Hive2.x 版本的安装及配置 以及要注意的事项的更多相关文章

  1. Linux操作系统CentOS7.2发行版本的安装与配置(安装是选择服务器类型)

    原文地址:http://1130739.blog.51cto.com/1120739/1738791 由于CentOS 7出来不久,对于这个版本的系统安装与配置的教程较少,今天就索性介绍一下CentO ...

  2. mysql nonInstall 版本的安装与配置

    最近用到mysql,发现如果想使用最新版本64 bit mysql 需要独特的配置和使用方式 结合最近的研究总结一下安装过程. 首先下载:http://dev.mysql.com/downloads/ ...

  3. Mysql5.7版本编译安装及配置

    配置yum安装方式 1.配置本地yum源 vim /etc/yum.repos.d/rhel-source.repo [rhel-source] name=Red Hat Enterprise Lin ...

  4. MariaDB 在 Windows 下 noinstall 版本的安装和配置

    1. 下载并解压 noinstall 压缩包,假设解压到 D:\APP\mariadb-10.0.17-winx64 目录 下载地址(MariaDB 10.0.17 Stable):llarian.n ...

  5. MySql 5.7.20版本免安装版配置过程

    下载地址为: https://dev.mysql.com/downloads/mysql/ 最下面根据自己的操作系统选择合适的型号 下载完以后解压缩到自定义的路径.这里注意的是路径中不要存在中文. 解 ...

  6. Ubuntu 18.04 LTS版本 GoldenDict安装与配置

    为何安装? GoldenDict是一款Linux下很好用的词典软件,其具有的关于词典的裁剪功能使得用户能够方便地对各种词典进行添加或删除,其具有的屏幕取词功能能够帮助用户方便地进行翻译,其具有的网络源 ...

  7. ceph mimc版本ceph-deploy安装与配置

    系统环境centos7.6 内核5.0.9 YUM源配置 [root@k8s-sys-10-82-4-200 ceph-cluster]# cat /etc/yum.repos.d/ceph.repo ...

  8. 【Apache】2.4.6版本的安装和配置

  9. 简单安装与配置mysql数据库(绿色版)

    目录 绿色版下载 mysql绿色版(5.7版本的安装与配置) 绿色版下载: mysql官网下载地址:https://www.oracle.com/index.html mysql绿色版(5.7版本的安 ...

随机推荐

  1. 《剑指offer》— JavaScript(2)替换空格

    替换空格 题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 实现 ...

  2. (转)ARC指南 - strong、weak指针

    一.简介 ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain.release.autorelease语句.你不再需要担心内存管理,因为编 ...

  3. 使用 nginx 代理 tomcat 服务器

    server { listen 80; server_name wechat-jsp.local; root /usr/local/Cellar/tomcat/9.0.5/libexec/webapp ...

  4. Servlet 介绍

    JSP 的本质就是 Servlet,开发者把编写好的 JSP 页面部署在 Web 容器中后,Web 容器会将 JSP 编译成对应的 Servlet. Servlet 的开发 Servlet 是个特殊的 ...

  5. Linux中怎么终止正在运行的后台程序

    linux 任务管理-后台运行与终止fg.bg.jobs.&.ctrl + z命令一. &加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &,二.ctrl + z ...

  6. 新式类 VS 经典类

    一.概述 Python中支持多继承,也就是一个子类可以继承多个父类/基类.当一个调用一个自身没有定义的属性时,它是按照何种顺序去父类中寻找的呢?尤其是当众多父类中都包含有同名的属性,这就涉及到新式类 ...

  7. 调整的R方_如何选择回归模型

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  8. REST式的web服务

    “REST”是罗伊·菲尔丁(Roy Fielding)在他的博士论文中创造的缩写.菲尔丁论文的第5章勾画出了被称为REST风格或REST式的Web服务的知道原则.他是HTTP1.1规范的主要作者和Ap ...

  9. 子序列 sub sequence问题,例:最长公共子序列,[LeetCode] Distinct Subsequences(求子序列个数)

    引言 子序列和子字符串或者连续子集的不同之处在于,子序列不需要是原序列上连续的值. 对于子序列的题目,大多数需要用到DP的思想,因此,状态转移是关键. 这里摘录两个常见子序列问题及其解法. 例题1, ...

  10. JPA映射持久化对象(Entity)

    推荐阅读:JPA criteria 查询:类型安全与面向对象 来源: http://blog.sina.com.cn/s/blog_49fd52cf0100rzjn.html 一个普通的POJO类通过 ...