百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

分布式数据仓库Hive 2.3.7详细安装步骤和配置参数

qiyuwang 2024-10-09 17:42 29 浏览 0 评论

本文安装和配置的Hive版本为 2.3.7,和Hadoop 3.x有比较好的兼容。

在正式开始安装Hive之前,先简要说明一下已经预装好的相关系统的版本号:

(1)JDK版本:JDK 1.8.0

(2)Hadoop版本:Hadoop 3.1.2

(3)Hive版本:Hive 2.3.7

(4)MySQL版本:MySql 5.7.27

(5)Linux 版本:CentOS 7.4

默认环境中JDK 1.8已经正常安装,Hadoop 3.1.2 集群正常启动。如果对Hadoop 3.1.2 详细安装过程有兴趣,可以访问《Hadoop v3.1大数据技术快速入门》技术专栏

Hive 2.x的安装略显复杂,安装下面的详细步骤一步步操作,就可以安装成功了。

一、查看Hadoop版本

安装Hive的前提条件是Hadoop 已经安装好了。另外,Hive的版本和Hadoop的版本必须匹配。

[root@centos-103 local]# hadoop version

Hadoop 3.1.2

Source code repository https://github.com/apache/hadoop.git -r 1019dde65bcf12e05ef48ac71e84550d589e5d9a

Compiled by sunilg on 2019-01-29T01:39Z

Compiled with protoc 2.5.0

From source with checksum 64b8bdd4ca6e77cce75a93eb09ab2a9

This command was run using /usr/local/hadoop/hadoop-3.1.2/share/hadoop/common/hadoop-common-3.1.2.jar


二、下载并解压Hive安装包

访问Apache国内镜像站点,获取Hive安装包。

https://mirror.bit.edu.cn/apache/hive/hive-2.3.7/

通过wget命令,获取hive压缩包。

wget https://mirror.bit.edu.cn/apache/hive/hive-2.3.7/apache-hive-2.3.7-bin.tar.gz


解压到指定的目录/usr/local。

tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /usr/local

如图所示,解压后的目录为apache-hive-2.3.7-bin。


使用mv命令重命名解压后的文件夹apache-hive-2.3.7-bin为 hive-2.3.7,如下所示。

mv apache-hive-2.3.7-bin/ hive-2.3.7


然后将Hive的安装目录 /usr/local/hive-2.3.7 配置到 /etc/profile 的PATH环境变量中,如下所示。

# hive setting 2.3.7

export HIVE_HOME=/usr/local/hive-2.3.7

export PATH=$HIVE_HOME/bin:$PATH


执行 source /etc/profile 命令使上述配置生效。

执行 hive --version,查看hive版本号。下面有hive的版本显示,安装成功!

三、配置Hive

(1)hive-default.xml 配置文件

重命名hive/conf下的hive-default.xml 配置文件

下面命令是将hive-default.xml.template重命名为hive-default.xml。

mv conf/hive-default.xml.template conf/hive-default.xml


(2)hive-site.xml 配置文件

使用vim编辑器新建一个配置文件hive-site.xml,命令如下:

cd $HIVE_HOME/conf

vim hive-site.xml

在配置文件中添加如下配置,包括连接MySQL的字符串、驱动、用户名和密码等等。

<configuration>

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://192.168.56.103:3306/hive_2_3?useSSL=false&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>hive</value>

<description>username to use against metastore database</description>

</property>

<property>

<name>javax.jdo.option.ConnectionPassword</name>

<value>hive</value>

<description>password to use against metastore database</description>

</property>

</configuration>


(3)hive-env.sh 配置文件

修改hive-env.sh 文件,使用cp命令复制文件:

cp hive-env.sh.template hive-env.sh

然后,编辑该文件,设置一些配置项,如图所示。

vim hive-env.sh


四、安装和配置MySQL

这里MySQL环境已经安装完成了,具体安装步骤可以参考《Hadoop v3.1大数据技术快速入门》技术专栏。


(1)Hive连接MySQL的驱动文件

MySQL JDBC包,可以自行下载。下载完成之后,解压,然后将mysql-connector-java-5.1.49-bin.jar拷贝到/usr/local/hive-2.3.7/lib目录下。

cp mysql-connector-java-5.1.49.jar /usr/local/hive-2.3.7/lib


(2)创建和配置Hive元数据库

可以在MySQL的client端工具,如Navicat,执行如下SQL命令。

// 创建Hive元数据库,需要和前面hive-site.xml 配置文件中的连接保持一致

create database hive_2_3;

// 设置MySQL密码验证策略,简单一点

set global validate_password_policy=0;

set global validate_password_length=1;

// 将hive_2_3 数据库的所有表的所有权限赋给hive用户

grant all on hive_2_3.* to hive@'%' identified by 'hive';

上述命令简要说明:grant 权限类型 on 数据库名.表名 to '用户名'@'ip地址' identified by '用户密码',给用户hive分配权限。


// 刷新MySQL系统权限关系表

FLUSH PRIVILEGES;


五、初始化Hive数据库

Hive现在包含一个用于 Hive Metastore schema操作的工具,名为 schematool。此工具可用于初始化当前 Hive 版本的 Metastore schema。此外,其还可处理从较旧版本到新版本的架构升级。

重新初始化schema:

schematool -dbType mysql -initSchema

如图所示,显示metastore元数据初始化完成。


如果在初始化过程中出现类似如下的异常信息:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user 'hive'@'localhost

那是因为用户hive没有权限访问 hive_2_3 数据库。仔细检查前面的前面的SQL 脚本有没有正确执行。

可以通过Navicat工具,连接MySQL 服务器,查看初始化完成之后的元数据hive_2_3,如图所示。


六、启动Hive

(1)启动Hadoop

在启动Hive之前,先启动Hadoop,使用jps命令验证Hadoop的5个进程都已经成功启动。

start-all.sh 启动Hadoop进程;

jps -l 查看已经启动的Hadoop进程;


(2)启动Hive

现在可以hive了,如图所示。

最后一段输出信息:

Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. tez, spark) or using Hive 1.X releases.

大致意思:在Hive 2.0后在Mapreduce的框架上将不再支持,希望考虑使用其它的执行引擎(如tez, spark等)。

在hive交互式命令行,执行命令:

hive> set hive.execution.engine;

hive.execution.engine=mr

可以看到当前正在使用的计算引擎为MapReduce。


在hive交互式命令行中,输入show databases; 命令,查看hive中的数据库。

如果要退出Hive交互式执行环境,可以输入如下命令:【quit; 或者exit;】。

(此处已添加圈子卡片,请到今日头条客户端查看)

相关推荐

基于Docker方式安装与部署Camunda流程引擎

1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...

宝塔Linux面板如何部署Java项目?(宝塔面板 linux)

通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...

浪潮服务器如何用IPMI安装Linux系统

【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...

Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)

由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...

Hadoop高可用集群搭建及API调用(hadoop高可用原理)

NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...

使用Wordpress搭建一个属于自己的网站

现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...

Centos 安装 Jenkins(centos 安装ssh)

1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...

Java教程:gitlab-使用入门(java中的git)

1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...

Dockerfile部署Java项目(docker部署java应用)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

Java路径-02-Java环境配置(java环境搭建及配置教程)

1Window环境配置1.1下载...

35.Centos中安装python和web.py框架

文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...

《我的世界》服务器搭建(我的世界服务器如何搭建)

1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...

CentOS 7 升级 GCC 版本(centos7.4升级7.5)

1.GCC工具介绍GCC编译器:...

Linux安装Nginx详细教程(linux安装配置nginx)

环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...

取消回复欢迎 发表评论: