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

Hadoop之hive安装配置

hive安装配置介绍Hadoop环境mysql环境准备安装hivehive配置hive-site.xml配置mysql驱动复制环境变量添加启动hive遇见问题介绍hive是在Ha

hive安装配置

  • 介绍
    • Hadoop环境
    • mysql环境准备
  • 安装hive
    • hive配置
      • hive-site.xml配置
      • mysql驱动复制
      • 环境变量添加
    • 启动hive
  • 遇见问题


介绍

hive是在Hadoop中非常重要的角色。hive在1.2.0之前可以将编写的SQL翻译为MapReduce程序,在2.0版本后将程序翻译为Spark程序。安装前提

  1. Hadoop环境(hive不存储实际的业务数据,数据存储在HDFS上)
  2. mysql(此处hive中元数据存储在mysql)

Hadoop环境

不在赘述,可以参考博文: Hadoop之Hadoop安装

mysql环境准备


  1. 此处安装mysql版本为5.7
  2. 允许远程登录,不在赘述,可以参考博文: mysql允许root远程登录
    注意: 如果正式环境,在了解真正的风险前,还请不要允许root远程登录。
  3. 创建数据库

mysql> CREATE DATABASE `hive_db` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';

建库

安装hive

与linux下其他软件一样,下载,解压、配置。
如果不清楚兼容那个版本的Hadoop建议根据CDH提供的版本进行安装。如果资源足够使用,使用CDH安装和管理Hadoop更为简易快捷。
CDH官方版本配置

hive配置


hive-site.xml配置

[gugu@master ~]$ vim ~/application/apache-hive-2.3.6-bin/conf/hive-site.xml

添加以下内容

<?xml version&#61;"1.0"?>
<?xml-stylesheet type&#61;"text/xsl" href&#61;"configuration.xsl"?>
<configuration><property><name>hive.metastore.local</name><value>true</value></property>
<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://master:3306/hive_db?characterEncoding&#61;UTF-8&amp;useSSL&#61;false</value><!-- 指定元数据数据库jdbc链接&#xff0c;注意原来链接地址上的&要修改成&amp;否者会提示&后面必须要“;”的错误 --></property><property><name>hive.metastore.schema.verification</name><value>false</value><!-- 初始化的时候设置检查版本&#xff0c;否者有可能初始化错误 --></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><!-- 指定元数据数据库驱动类型 --></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><!-- 元数据数据库用户名 --></property><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value><!-- 元数据数据库密码 --></property><property><name>datanucleus.schema.autoCreateAll</name><value>true</value></property><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value><!-- hive在HDFS存储路径 --></property>
</configuration>

mysql驱动复制

在hive-site.xml中指定了驱动是mysql&#xff0c;我们需要将mysql的驱动复制到hive的lib下&#xff0c;hive才能连接mysql

[gugu&#64;master ~]$ cp file/mysql-connector-java-5.1.47.jar ~/application/apache-hive-2.3.6-bin/lib/

环境变量添加

[gugu&#64;master ~]$ vim .bash_profile

添加下面内容

# hiveexport HIVE_HOME&#61;/home/gugu/application/apache-hive-2.3.6-binexport PATH&#61;$PATH:$HIVE_HOME/bin

启动hive

hive的启动可以包含以下方式

  1. hive直接以交互式启动


[gugu&#64;master ~]$ hive

  1. 将hive启动为一个服务
    可以在任意一台机器上使用beeline客户端连接hive服务&#xff0c;进行交互式查询

# 启动元数据服务
[gugu&#64;master ~] nohup hive --service metastore >> /home/gugu/application/apache-hive-2.3.6-bin/log/metastore/metastore.log 2>&1 &
# 启动hiveserver2
[gugu&#64;master ~] nohup hive --service hiveserver2 >> /home/gugu/application/apache-hive-2.3.6-bin/log/hiveserver/hiveserver.log 2>&1 &

上面命令的介绍
"nohup"可以防止终端的session关闭时&#xff0c;服务退出
“>>” 表示输出重定向&#xff0c;且以追加的方式&#xff0c;后面的路径是标准输出的输出路径&#xff0c;
“2>&1” 2表示的是错误输出&#xff0c;&1指标准输出&#xff0c;合起来就是将错误输出和标准输出到同一个文件
“&”最后面的指这条命令运行在后台

linux输出输入扩展

设备设备文件名文件描述符类型
键盘/dev/stdin0标准输入
显示器/dev/stdout1标准输出
显示器/dev/stdout2错误输出

遇见问题
  1. 启动时因为xml中&转义报错
    错误信息如下&#xff1a;

[Fatal Error] hive-site.xml:10:80: The reference to entity "useSSL" must end with the &#39;;&#39; delimiter.
Exception in thread "main" java.lang.RuntimeException: org.xml.sax.SAXParseException; systemId: file:/home/gugu/application/apache-hive-2.3.6-bin/conf/hive-site.xml; lineNumber: 10; columnNumber: 80; The reference to entity "useSSL" must end with the &#39;;&#39; delimiter.

在这里插入图片描述
出现原因&#xff1a;xml中&需要转义
解决方法&#xff1a;将hive-site.xml中的"&“改成”&"
在这里插入图片描述

  1. 启动时校验版本报错
    错误如下:

MetaException(message:Version information not found in metastore. )at org.apache.hadoop.hive.metastore.RetryingHMSHandler.(RetryingHMSHandler.java:83)at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:92)at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6896)at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6891)at org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:7149)at org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:7076)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.hadoop.util.RunJar.run(RunJar.java:239)at org.apache.hadoop.util.RunJar.main(RunJar.java:153)

在这里插入图片描述
解决方法&#xff1a;
在hive-site.xml中添加

hive.metastore.schema.verificationfalse


推荐阅读
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
author-avatar
深圳中诚环球发展有限公司
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有