热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于Hadoop集群的Hive安装配置(Derby数据库)

Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据,提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行

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 安装配置后就出现了很多问题,体验极差,像 报错为:

Unabletoinstantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

就属于版本过高导致的,所以,大家尽量下载低版本的。

(1)设置Hive、Derby环境变量

vim/etc/profile

添加HIVE_HOME、DERBY_HOME,如下:

JAVA_HOME=/usr/java/jdk1.8.0_161

JRE_HOME=/usr/java/jdk1.8.0_161/jre

SCALA_HOME=/usr/local/scala

HADOOP_HOME=/usr/local/hadoop

SPARK_HOME=/usr/local/spark

ZOOKEEPER_HOME=/usr/local/zookeeper

HBASE_HOME=/usr/local/hbase

KAFKA_HOME=/usr/local/kafka

HIVE_HOME=/usr/local/hive

DERBY_HOME=/usr/local/derby

PATH=PATH:JAVA_HOME/bin:JRE_HOME/bin:SCALA_HOME/bin:HADOOP_HOME/bin:HADOOP_HOME/sbin:SPARK_HOME/bin:SPARK_HOME/sbin:ZOOKEEPER_HOME/bin:HBASE_HOME/bin:KAFKA_HOME/bin:HIVE_HOME/bin:DERBY_HOME/binCLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:JRE_HOME/lib:DERBY_HOME/lib/derby.jar:DERBY_HOME/lib/derbyclient.jar:DERBY_HOME/lib/derbytools.jar:DERBY_HOME/lib/derbynet.jarexportJAVA_HOME JRE_HOME SCALA_HOME HADOOP_HOME SPARK_HOME ZOOKEEPER_HOME HBASE_HOME KAFKA_HOME HIVE_HOME DERBY_HOME PATH CLASSPATH

使文件生效,运行命令:

source/etc/profile

(2)修改Hive文件夹conf目录下配置文件 hive-env.sh 复制一份 hive-env.sh.template 重命名为 hive-env.sh:

cphive-env.sh.templatehive-env.sh

修改 hive-env.sh 内容:

exportHIVE_CONF_DIR=/usr/local/hive/confexportHADOOP_HOME=/usr/local/hadoop

(3)配置Hive的Metastore配置Metastore意味着,指定要Hive的数据库存储,同样,Hive/conf目录下,复制一份 hive-default.xml.template重命名为 hive-site.xml:

cphive-default.xml.templatehive-site.xml

修改 hive-site.xml 内容,由于里面原内容较多,可通过命令gedit以编辑器模式打开:

gedithive-site.xml

删除所有的配置,替换为:

javax.jdo.option.ConnectionURLjdbc:derby:;databaseName=metastore_db;create=truejavax.jdo.option.ConnectionDriverNameorg.apache.derby.jdbc.EmbeddedDriverhive.metastore.warehouse.dir/usr/local/hive/warehouse

其中,jdbc:derby:;databaseName=metastore_db;create=true 表示使用嵌入式的derby,create为true表示自动创建数据库,数据库名为metastore_db,另一种客服模式大家感兴趣的可以自己看下;org.apache.derby.jdbc.EmbeddedDriver 表示使用嵌入式的derby;warehouse文件夹手动创建。三、验证Hive运行Hive之前,需要创建/tmp文件夹在HDFS独立的Hive文件夹,并给这些新创建的文件夹写权限:

[hadoop@slave01 bin]$ hadoop fs -mkdir /tmp

[hadoop@slave01 bin]$ hadoop fs -chmod g+w /tmp

启动Hive前,先启动Hadoop集群,注意关闭防火墙,再然后启动Hive,首次启动可能会出现一个报错提示:

无法访问/usr/local/spark/lib/spark-assembly-*.jar: 没有那个文件或目录

虽然过了几秒后Hive仍然成功启动,但这个报错信息是怎么回事呢?原因:spark2以后,原有lib目录下的大JAR包被分散成多个小JAR包,原来的spark-assembly-*.jar已经不存在,所以hive没有办法找到这个JAR包。解决办法:进入hive安装路径下的bin目录下,编辑hive,如通过编辑器打开:gedit hive,找到下面的Shell脚本命令:

sparkAssemblyPath=ls${SPARK_HOME}/lib/spark-assembly-*.jar

修改为:

sparkAssemblyPath=ls${SPARK_HOME}/jars/*.jar

好了,让我们再次启动Hive,成功启动如下:

[hadoop@slave01 bin]$ hiveLogging initializedusingconfigurationinjar:file:/usr/local/hive/lib/hive-common-1.2.2.jar!/hive-log4j.propertieshive>

以上就是基于Hadoop集群Hive+derby的安装配置过程,当然对于数据库的选择比如mysql配置过程类似,大家自行参考资料。 要了解学习大数据的可以加群,群号: 834325294,群里有免费的学习资料和视频。希望可以帮助到大家哦。

转:https://juejin.im/post/5b67aa3d5188251aa91dd4e7



推荐阅读
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
  • 本文_大数据之非常详细Sqoop安装和基本操作
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了大数据之非常详细Sqoop安装和基本操作相关的知识,希望对你有一定的参考价值。大数据大数据之 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 本文整理了Java中org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc.getTypeInfo()方法的一些代码示例,展 ... [详细]
  • 11月26日,由中国计算机协会(CCF)主办,CCF大数据专家委员会协办,CSDN承办的Hadoop与大数据技术大会(Hadoop&BigDataTechnology ... [详细]
  • ZooKeeper 学习
    前言相信大家对ZooKeeper应该不算陌生。但是你真的了解ZooKeeper是个什么东西吗?如果别人面试官让你给他讲讲ZooKeeper是个什么东西, ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
  • 《Spark核心技术与高级应用》——1.2节Spark的重要扩展
    本节书摘来自华章社区《Spark核心技术与高级应用》一书中的第1章,第1.2节Spark的重要扩展,作者于俊向海代其锋马海平,更多章节内容可以访问云栖社区“华章社区”公众号查看1. ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • 原创 | 大数据入门基础系列之ClouderaManager版本的Hive安装部署
    添加服务,一 ... [详细]
author-avatar
cocoC陳靜雯具_606
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有