Hive 是一个数据仓库基础工具在 Hadoop 中用来处理结构化数据, 提供简单的 sql 查询功能, 可以将 sql 语句转换为 MapReduce 任务进行运行(具体的 Hive 架构大家自行搜索). 接下来主要讲下 Hadoop 集群下 Hive 的安装配置, 并搭载 Derby 数据库(一款小巧的数据库, 用于测试, 不推荐开发使用, 具体大家自行百度), 进行一些基本的数据库操作, 好了, 让我们开始吧.
一, 环境: 同样的启用三个节点, 分别是虚拟机 slave01,slave02,slave03, 基于之前已经搭建好的环境, 包括 JDK,Zookeeper,Hadoop
二, Hive,Derby 配置(自行解压)
这里推荐下载版本较低的 Hive, 本人经验教训告诉大家: 高版本易出现问题, 比如说我的 Hadoop 2.7.6, 下载 Hive 2.2.0 安装配置后就出现了很多问题, 体验极差, 像 报错为:
就属于版本过高导致的, 所以, 大家尽量下载低版本的.
(1)设置 Hive,Derby 环境变量
添加 HIVE_HOME,DERBY_HOME, 如下:
使文件生效, 运行命令:
(2)修改 Hive 文件夹 conf 目录下配置文件 hive-env.sh
复制一份 hive-env.sh.template 重命名为 hive-env.sh:
修改 hive-env.sh 内容:
(3)配置 Hive 的 Metastore
配置 Metastore 意味着, 指定要 Hive 的数据库存储, 同样, Hive/conf 目录下, 复制一份 hive-default.xml.template 重命名为 hive-site.xml:
修改 hive-site.xml 内容, 由于里面原内容较多, 可通过命令 gedit 以编辑器模式打开:
删除所有的配置, 替换为:
其中,<value>jdbc:derby:;databaseName=metastore_db;create=true</value> 表示使用嵌入式的 derby,create 为 true 表示自动创建数据库, 数据库名为 metastore_db, 另一种客服模式大家感兴趣的可以自己看下;<value>org.apache.derby.jdbc.EmbeddedDriver</value> 表示使用嵌入式的 derby;warehouse 文件夹手动创建.
三, 验证 Hive
运行 Hive 之前, 需要创建 / tmp 文件夹在 HDFS 独立的 Hive 文件夹, 并给这些新创建的文件夹写权限:
启动 Hive 前, 先启动 Hadoop 集群, 注意关闭防火墙, 再然后启动 Hive, 首次启动可能会出现一个报错提示:
虽然过了几秒后 Hive 仍然成功启动, 但这个报错信息是怎么回事呢?
原因: spark2 以后, 原有 lib 目录下的大 JAR 包被分散成多个小 JAR 包, 原来的 spark-assembly-*.jar 已经不存在, 所以 hive 没有办法找到这个 JAR 包.
解决办法: 进入 hive 安装路径下的 bin 目录下, 编辑 hive, 如通过编辑器打开: gedit hive, 找到下面的 Shell 脚本命令:
修改为:
好了, 让我们再次启动 Hive, 成功启动如下:
以上就是基于 Hadoop 集群 Hive+derby 的安装配置过程, 当然对于数据库的选择比如 MySQL 配置过程类似, 大家自行参考资料. 接下来就是 Hive 对数据库的操作了, 敬请期待吧!
对大数据的概念都是模糊不清的, 大数据是什么, 能做什么, 学的时候, 该按照什么线路去学习, 学完往哪方面发展, 想深入了解
想学习的同学欢迎加入大数据学习 qq 群: 458345782, 有大量干货 (零基础以及进阶的经典实战) 分享给大家
并且有清华大学毕业的资深大数据讲师给大家免费授课, 给大家分享目前国内最完整的大数据高端实战实用学习流程体系 .
来源: http://www.jianshu.com/p/802368f2f047