当前位置:   article > 正文

Hive数据仓库的安装配置_hive需要分发给其他 hadoop服务器吗

hive需要分发给其他 hadoop服务器吗


HIve安装配置

一、Hive的安装模式简介

Hive 的安装模式分为3种,分别是嵌入模式、本地模式和远程模式。下面针对这3种模式进行介绍。

(1)嵌入模式:使用内嵌的Derby数据库存储元数据,这种方式是Hive的默认安装方式,配置简单,但是一次只能连接一个客户端,适合用来测试,不适合生产环境。

(2)本地模式:采用外部数据库存储元数据,该模式不需要单独开启 Metastore服务,因为本地模式使用的是和 Hive在同一个进程中的Metastore服务。

(3)远程模式:与本地模式一样,远程模式也是采用外部数据库存储元数据。不同的是,远程模式需要单独开启 Metastore服务,然后每个客户端都在配置文件中配置连接该Metastore 服务。远程模式中,Metastore 服务和 Hive 运行在不同的进程中。

二、远程模式安装

本地和远程模式安装配置方式大致相同,本质上是将Hive默认的元数据存储介质由自带的Derby数据库替换为MySQL数据库。

MySQL前面已经安装过了。这里不在赘述。

1.下载安装包

下载地址:https://dlcdn.apache.org/hive/

image-20221208122740366

image-20221208122845728

image-20230107181947145

2.上传

image-20221208123446905

3. 解压

将hive安装包解压到/export/servers/目录下

tar zvxf apache-hive-3.1.2-bin.tar.gz -C /export/servers/
  • 1

image-20221208124145756

4.解决hadoop、hive之间guava版本差异

image-20221208130830396

image-20221208130509009

hadoop安装包下的guava复制到删除的文件目录下

cp guava-27.0-jre.jar /export/servers/apache-hive-3.1.2-bin/lib/
  • 1

image-20221208131146211

5. 修改配置文件

1)进入配置文件

image-20221208124444105

2)复制模板文件

image-20221208124850817

3)修改hive-env.sh

image-20221208132332914

4)添加 hive-site.xml 文件,配置MySQL的相关信息

由于 Hive 安装包 conf 目录下,没有提供 hive-site.xml 文件,这里需要创建并编辑一个 hive-site.xml 配置文件,具体内容如下所示:

image-20221208133339578

image-20221208171431772

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <!-- MySQL数据库地址 -->
	<property>
         <name>javax.jdo.option.ConnectionURL</name>
         <value> jdbc:mysql://hadoop001:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
	</property>
        <!-- MySQL数据库驱动 -->
	<property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
	</property>
        <!-- MySQL数据库账号 -->
	<property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>20bigdata</value>
	</property>
        <!-- MySQL数据库密码 -->
	<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>Bigdata2022!</value>
	</property>
	
</configuration>


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

6. 上传MySQL驱动

由于使用的是MySQL数据库,那么就需要上传MySQL连接驱动的 jar 包到 Hive 安装包lib文件夹下。

image-20221208155413099

7. 初始化metadata

bin/schematool -initSchema -dbType mysql -verbose
  • 1

image-20221208171521335

image-20221208171544634

初始化成功会在mysql中自动创建hive数据库和74张表

image-20221208171701119

8. 启动hive

在这里插入图片描述

三、Hive的管理

1. Hive的管理之CLI方式

Hive CLI是Hive的交互工具,下面演示几种 CLI 的使用。

1)启动Hive
#<HIVE_HOME>/bin/hive
  • 1

image-20221208172523471

2)退出Hive
hive> exit;
hive> quit;
  • 1
  • 2
3)查看数据库中的表
hive> show tables;
  • 1

image-20221208173024504

4)查看数据库的内置函数
hive> show functions;
  • 1

在这里插入图片描述

5)清屏
hive> !clear;
  • 1

2. Hive的管理之远程服务

由于使用CLI连接方式不能进行多个节点的同时访问,而且会造成服务器阻塞,且出于对服务器安全性的考虑, Hive服务所部署的服务器通常用户是无法直接访问的,因此,必须选用远程服务启动模式,具体启动步骤如下。

1)分发hive到hadoop002和hadoop003

首先,将hadoop001服务器安装的 Hive 程序分别复制到 hadoop002 和 hadoop003服务器上,具体命令如下:

scp -r /export/servers/apache-hive-3.1.2-bin/ hadoop002:/export/servers/
scp -r /export/servers/apache-hive-3.1.2-bin/ hadoop003:/export/servers/
  • 1
  • 2

image-20221208185131105

image-20221208185211667

2)配置hadoop中的core-site.xml文件,允许hive访问
<!-- 配置访问hadoop的权限,能够让hive访问到 -->
	<property>
		<name>hadoop.proxyuser.root.hosts</name>
		<value>*</value>
	</property>
	<property>
		<name>hadoop.proxyuser.root.users</name>
		<value>*</value>
	</property>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

image-20221208211359183

分发到hadoop002和hadoop003上

scp /export/servers/hadoop-3.1.4/etc/hadoop/core-site.xml hadoop002:/export/servers/hadoop-3.1.4/etc/hadoop/
scp /export/servers/hadoop-3.1.4/etc/hadoop/core-site.xml hadoop003:/export/servers/hadoop-3.1.4/etc/hadoop/
  • 1
  • 2

image-20221208211545676

3)启动hadoop集群和MySQL数据库
4)启动 Hiveserver2 服务

在hadoop001上启动 Hiveserver2 服务,具体命令如下:

bin/hiveserver2
  • 1

执行完上述命令后,在hadoop001服务器上就已经启动了 Hive 服务,当前的命令窗口没有任何反应,无法执行其他操作,如下图所示:

image-20221208190043680

此时,可以使用 SecureCRT 软件的克隆会话功能(右击会话窗口,单击 Clone Session 选项)打开新的 hadoop001会话窗口,使用 Jps命令可以查看 Hive 服务启动情况,如下图所示。

image-20221208190832591

image-20221208190859730

在 hadoop002服务器的 Hive安装包下,通过远程连接命令 bin/beeline 进行连接,并且输入连接协议,然后根据提示输入 Hive 服务器的用户名和密码,即可连接到 Hive 服务,具体指令如下:

//输入远程连接命令
bin/beeline
//输入远程连接协议,连接到指定 Hive 服务 (hadoop001)的主机名和端口(默认为10000)
beeline>! connect jdbc:hive2://hadoop001:10000
//输入连接 Hive 服务器的用户名和密码
Enter username for jdbc:hive2://hadoop001:10000: root
Enter password for jdbc:hive2://hadoop001:10000: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

image-20221208212018455

5)测试

在hadoop002服务器执行 show databases后,可以成功显示数据仓库的列表信息,说明远程连接 Hive 成功。

image-20221208212126656

小提示:在连接 Hive 数据仓库进行相关操作时,会使用到数据库(如MySQL),还会依赖 MapReduce 进行数据处理,所以在进行 Hive 连接前,必须保证 Hadoop 集群以及第三方数据库 MySQL 已经启动,否则,在连接过程中会出现拒绝连接的错误提示。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号