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

Hadoop——Hadoop3.X安装配置Hive3.1.2

目录一、安装环境二、下载Hive三、解压gzip包四、创建mysqlhadoop用户五、配置mysqlconnector依赖六、Hive配置七、初始化Hive元数据八、检查Hive

目录

      • 一、安装环境
      • 二、下载Hive
      • 三、解压gzip包
      • 四、创建mysql hadoop用户
      • 五、配置mysql connector依赖
      • 六、Hive配置
      • 七、初始化Hive元数据
      • 八、检查Hive安装结果
      • 九、遇到的问题


一、安装环境

系统版本:CentOS 7.3
系统账户:hadoop账户(之前安装hadoop使用的账户)
mysql版本:5.7.30
hadoop:3.2.1
Hive版本:3.1.2

二、下载Hive

Hive默认使用derby库,但实际使用数据库常为mysql,因此使用mysql作为hive元数据库,因此需先安装mysql。可参考Linux —— CentOS 7 安装并配置mysql5.7。

下载Hive镜像,Hive镜像站:https://mirrors.cnnic.cn/apache/hive/

可以下载完后使用 lrzsz 上传也可以直接wget下载我使用的是直接下载后上传的方式,下面是使用wget的方式。
选中想要下载的Hive版本,这里下载的是hive-3.1.2,然后拼接下载url。
在这里插入图片描述
在这里插入图片描述

将文件名拼接到url后即为所需下载url地址。

wget https://mirrors.cnnic.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

三、解压gzip包

#将其解压到hadoop用户工作区
tar -zxvf apache-hive-3.1.2-bin.tar.gz
#进入Hive根目录
cd apache-hive-3.1.2-bin/

四、创建mysql hadoop用户

#进入mysql,之后需输入root账户的密码
mysql -u root -p
#允许本地访问,密码为hadoop
grant all on *.* to hadoop@'localhost' identified by 'hadoop';
#允许远程访问,密码为hadoop
grant all on *.* to hadoop@'%' identified by 'hadoop';
#允许master机访问,密码为hadoop
grant all on *.* to hadoop@'master' identified by 'hadoop';
#刷新权限
flush privileges;
#创建Hive库
create database hive_13;
#退出mysql
quit;

Tips:这里可能会出现一下情况,解决方法参考 九、遇到的问题——第2小点

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

五、配置mysql connector依赖

mysql java connector:官网下载地址
在这里插入图片描述
下载完后使用 lrzsz的rz命令 上传到linux服务器,然后解压。

#解压压缩包
tar -zxvf mysql-connector-java-5.1.49.tar.gz
#复制mysql-connector-java.jar包到hive根目录lib目录下
cd mysql-connector-java-5.1.49/
#hive根目录记得修改为自己安装的地址
sudo cp mysql-connector-java-5.1.49.jar /home/hadoop/apache-hive-3.1.2-bin/lib

六、Hive配置


  1. hive-site.xml配置

#在hive根目录下进入hive配置文件夹
cd conf/
#创建配置文件
vim hive-site.xml

#将以下内容加入到hive-site.xml中
<?xml version&#61;"1.0" encoding&#61;"UTF-8" standalone&#61;"no"?>
<?xml-stylesheet type&#61;"text/xsl" href&#61;"configuration.xsl"?>
<configuration><property><name>datanucleus.schema.autoCreateAll</name><value>true</value></property><property><name>hive.metastore.local</name><value>true</value></property><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://master:3306/hive_13?characterEncoding&#61;UTF-8&amp;useSSL&#61;false</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>hadoop</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>hadoop</value></property>
</configuration>

  1. hive-log4j2.properties配置

#在hive根目录/conf下
cp hive-log4j2.properties.template hive-log4j2.properties
#在hive根目录下创建日志目录
mkdir /home/hadoop/apache-hive-3.1.2-bin/logs

#修改
vim hive-log4j2.properties
#修改日志输出目录为指定目录
hive.log.dir&#61;/home/hadoop/apache-hive-3.1.2-bin/logs

  1. hive-env.sh配置

#复制模板文件
cp hive-env.sh.template hive-env.sh
vim hive-env.sh

#export JAVA_HOME,忘记具体位置可用 echo $JAVA_HOME
export JAVA_HOME&#61;XXXXXXXX
#Hadoop目录,可用whereis hadoop查找
HADOOP_HOME&#61;XXXXXXX
#hive配置目录
export HIVE_CONF_DIR&#61;hive根目录/conf

在这里插入图片描述

  1. hive-exec-log4j2.properties配置

#复制模板文件
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
#

  1. 环境变量配置

vim ~/.bash_profile

#加入以下内容
export HIVE_HOME&#61; hive根目录XXXX
export PATH&#61;$PATH:$HIVE_HOME/bin

七、初始化Hive元数据

#在hive根目录/bin下
./schematool -initSchema -dbType mysql

在这里插入图片描述

Tips:
如果出现org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver&#xff0c;请检查connector jar包是否已放入hive根目录/lib下。
如果出现Error: Syntax error: Encountered “” at line 1, column 64. (state&#61;42X01,code&#61;30000)&#xff0c;请检查 hive-site.xml 命名是否正确。

八、检查Hive安装结果

#在hive根目录下执行提供&#xff0c;sudo所有权限&#xff0c;记得先开启 hdfs
sudo bin/hive

启动成功命令行将变为 hive>
输入 show databases; 显示结果如下代表安装完成。
在这里插入图片描述

九、遇到的问题


  1. wget下载卡住
    由于中途网络波动导致wget卡在79%处。
    在这里插入图片描述
    解决方法&#xff1a;crtl &#43; z&#xff08;不要输成crtl &#43; c&#xff09;之后下使用 wget -c url地址 进行断点续传。

  2. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    在这里插入图片描述
    这主要是mysql5.7默认密码策略要求密码为字母&#43;数字&#43;特殊字符且长度8位或以上&#xff0c;解决方法参考https://blog.csdn.net/weixin_41485724/article/details/105843885——文章第6点

  3. 遇到java.lang.NoSuchMethodError
    请参考这篇文章&#xff1a;http://www.bubuko.com/infodetail-3286965.html

  4. 使用Hive中出现一堆 SSL 相关 WARN

WARN: Establishing SSL connection without server&#39;s identity verification is not recommended. According to MySQL 5.5.45&#43;, 5.6.26&#43; and 5.7.6&#43; requirements SSL connection must be established by default if explicit option isn&#39;t set.
For compliance with existing applications not using SSL the verifyServerCertificate property is set to &#39;false&#39;.
You need either to explicitly disable SSL by setting useSSL&#61;false, or set useSSL&#61;true and provide truststore for server certificate verification.

由于mysql5.5.45&#43;,5.6.25&#43;,5.7.6&#43;需要SSL连接&#xff0c;如果不设置mysql连接参数useSSL&#61;false就会不断出现&#xff0c;解决方法为在mysql连接url后面加上useSSL&#61;false参数。

  1. Unexpected character ‘&#61;’ (code 61); expected a semi-colon after the reference for entity &#39;useUnicode
    Xml文件中不能使用&&#xff0c;要使用他的转义 & amp;&#xff08;去掉&与a间空格&#xff09;来代替&#xff0c;在hive-site.xml中将&修改为 & amp;&#xff08;去掉&与a间空格&#xff09;。

推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • Oracle主从同步、双向同步的配置
    (本教程展示了Windows环境的oracle数据库主从同步,Linux环境一样也可以)(把主数据库obpm和从数据库orcl用实际的数据库名给替换掉)(配置主从同步后,再配置双向同步,可 ... [详细]
  • Maven构建Hadoop,
    Maven构建Hadoop工程阅读目录序Maven安装构建示例下载系列索引 序  上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • 作者表示自己最近工作非常忙碌,无法抽出时间写作。他计划在未来的几天内写关于namespace与C#的名字解析以及数据库内容转化为excel文件下载的知识。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • oracle恢复失败,RMAN数据库恢复失败解决一例
    问题:这是一个从RAC环境的数据库的RAMN备份恢复到一个单机数据库的操作。当恢复数据文件和恢复正常,但在open数据库时出报下面的错误。--rman备 ... [详细]
  • Jmeter对RabbitMQ压力测试
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Jmeter对RabbitMQ压力测试相关的知识,希望对你有一定的参考价值。Jm ... [详细]
author-avatar
Sheen2602906613
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有