Hive的安装与管理

一、Hive安装模式简介

Hive的安装模式分为3种,分别是嵌入模式、本地模式和远程模式。下面针对这3种模式进行介绍。
(1) 嵌入模式:使用内嵌的Derby数据库存储元数据,这种方式是Hive的默认安装方式,配置简单,但是一次只能连接一个客户端,适合用来测试,不适合生产环境。
(2) 本地模式:采用外部数据库存储元数据,该模式不需要单独开启Metastore服务,因为本地模式使用的是和Hive在同一个进程中的Metastore服务。
(3) 远程模式:与本地模式一样,远程模式也是采用外部数据库存储元数据。不同的是,远程模式需要单独开启Metastore服务,然后每个客户端都在配置文件中配置连接该Metastore服务。远程模式中,Metastore服务和Hive运行在不同的进程中。

二、嵌入模式

嵌入模式下,元数据保存在Derby数据库中,且只允许一个会话连接,若尝试多个会话连接时会报错。下面讲解Hive安装之嵌入模式的配置步骤。

1.安装hive
首先在Apache镜像网站下载Linux下的Hive安装包(本教材使用1. 2. 1版本),下载地址:http://archive.apache.org/dist/hive/hive-1.2.1/ₒ 下载完毕后将安装包 apache-hive-1. 2. 1-bin.tar.gz上传至Linux系统中(本次操作在hadoopOl节点上进行演示说明)的/export/software文件夹下,将压缩包解压至/export/servers文件夹下,命令如下:

tar -zxvf apache-hive-1. 2. 1-bin.tar.gz -C /export/servers

2.添加环境变量并生效

vim /etc/profile
export HIVE_HOME=/export/servers/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile

验证版本 hive --version
3.启动Hive
嵌入模式下,无须对Hive配置文件进行修改,只需要启动Hive安装包下的bin目录下的Hive程序即可,具体指令如下所示:

cd /export/servers/apache-hive-1.2.1-bin/	

bin/hive

执行上述指令后,就进入到Hive交互式界面。
4.查看数据仓库
进入界面后,就可以输入查询数据仓库的指令进行相关操作,该指令与MySQL查询数据库命令一致。例如,在Hive交互式界面输入"show databases;”指令查看当前所有数据库列表,效果如图所示。

从图可以看出,使用与MySQL操作相同的“show databases"语句查询Hive当前所有数据库列表成功,并返回唯一的一个default数据仓库,该default数据仓库是Hive自带的也是默认的存储仓库。

当退出Hive客户端时在当前路径下默认生成了 derby.log文件,该文件是记录用户操作Hive的日志文件。由于嵌入模式元数据不会共享。那么在其他路径下打开Hive客户端会创建新的derby.log文件。因此上一客户端进行的任何操作当前用户均无法访问。

三、本地模式和远程模式

本地模式和远程模式安装配置方式大致相同,本质上是将Hive默认的元数据存储介质由自带的Derby数据库替换为MySQL数据库,这样无论在任何目录下以任何方式启动Hive,只要连接的是同一台Hive服务,那么所有节点访问的元数据信息是一致的,从而实现元数据的共享。下面就以本地模式为例,讲解安装过程。
本地模式的Hive安装主要包括两个步骤:首先安装MySQL服务,再安装Hive。具体步骤如下:

  1. 安装MySQL服务
    MySQL安装方式有许多种,可以直接解压安装包进行相关配置,也可以选择在线安装。本节选用在线安装MySQL方式。在线安装MySQL的具体指令和说明如下:
	//下载安装mysql
	yum install mysql mysql-server mysql-devel
	//启动mysql服务
	/etc/init.d/mysqld start
	//mysql连接并登录mysql服务
	mysql

上述指令中,首先通过“yum install"命令下载并安装MySQL程序,并且启动MySQL服务,然后就可以使用MySQL命令连接到MySQL客户端。
接下来进入MySQL客户端后,分别对MySQL数据库密码进行修改(可选),并设置允许远程登录权限,具体指令如下:

	//修改登录mysql用户名及密码
	mysql>use mysql;
	mysql>UPDATE user SET Password=PASSWORD(123456) WHERE user=’root’;
	//设置运行远程登录
	 mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
	//强行写入
	mysql>FLUSH PRIVILEGES;

   (退出后,可通过mysql -uroot -p123456重新登录)

在这里插入图片描述

  1. Hive的配置
    (1) 修改hive-env.sh配置文件,配置Hadoop环境变量。
    进入Hive安装包下的conf文件夹,将hive-env.sh.template文件进行复制并重命名为hive-env.sh。具体指令如下:
	cd /export/servers/apache-hive-1.2.1-bin/conf
	cp hive-env.sh.template hive-env.sh

然后修改hive-env.sh配置文件,添加Hadoop环境变量,具体内容如下:

	export HADOOP_HOME=/export/servers/Hadoop-2.7.4

上述操作是设置Hadoop环境变量,作用是无论系统是否配置Hadoop环境变量,在Hive执行时,一定能够通过hive-env.sh配置文件去加载Hadoop环境变量。由于在部署Hadoop集群时已经配置了全局Hadoop环境变量,因此可以不设置该参数。
(2) 添加hive-site.xml配置文件,配置MySQL相关信息。
由于Hive安装包conf目录下,没有提供hive-site.xml文件,这里需要创建并编辑一个hive-site.xml配置文件,具体内容如下所示:
在这里插入图片描述
注意:第一个property中jdbc:mysql那句不要断行。
完成配置后,Hive就会把默认使用Derby数据库方式覆盖。这里需要注意的是,由于使用了 MySQL数据库,那么就需要上传MySQL连接驱动的jar包到Hive安装包的lib文件夹下,本教材使用mysql-connector-java-5.1.32.jar,使用rz命令上传即可。至此就完成了本地模式的安装。
(mysql-connector-java各种版本下载地址:https://blog.csdn.net/weixin_41804049/article/details/87719574)
如果使用远程模式的安装方式,只需要将hive-site.xml配置文件中的localhost修改为具有MySQL服务的节点IP即可,这样无论用户通过什么路径启动Hive客户端,都可以访问相同的元数据信息。
四、Hive的管理
1.CLI方式
Hive CLI是Hive的交互工具,下面演示几种CLI的使用。

1)启动Hive
		直接输入#<HIVE_HOME>/bin/hive启动,具体如图所示。

	(2)退出Hive
		hive>exit;
		hive>quit;
	 (3) 查看数据仓库中的表
		hive>show tables;
	 (4) 查看数据仓库中的内置函数
		hive>show functions;
	 (5) 清屏
		hive>!clear;

2.远程登陆
以JDBC或者ODBC程序登录到Hive中操作数据时,由于使用CLI连接方式不能进行多个节点的同时访问,而且会造成服务器阻塞,且出于对服务器安全性的考虑,Hive服务所部署的服务器通常用户是无法直接访问的。因此必须选用远程服务启动模式。具体操作步骤如下:
(1)在hadoop01上启动hive服务。
首先,将hadoopOl服务器安装的Hive程序分别复制到hadoop02和hadoop3服务器上。

	scp -r /export/servers/apache-hive- 1.2.1-bin/ hadoop02:/export/servers/
	scp -r /export/servers/apache-hive- 1.2.1-bin/ hadoop03:/export/servers/
	scp /etc/profile hadoop02:/etc/profile
	scp /etc/profile hadoop03:/etc/profile
	source /etc/profile

其次,在hadoopOl服务器的Hive的安装包下启动Hiveserver2服务,具体命令如下:

	cd /export/servers/apache-hive- 1.2.1-bin/
	bin/hiveserver2

执行完上述命令后,在hadoopOl服务器上就已经启动了Hive服务,当前的命令行窗口没有任何反应,无法执行其他操作。
此时,可以使用SecureCRT软件的克隆会话功能(右击会话窗口,单击 Clone Session
选项)打开新的hadoopOl会话窗口,使用Jps命令可以查看Hive服务启动情况,效果如图所示。
在这里插入图片描述
当前hadoopOl机器上新增了一个Runjar进程,该进程即为Hive的服务进程。
(2)在hadoop02上远程访问Hadoop01数据仓库
在hadooo02服务器的Hive安装包下,通过远程连接命今bin/beeline进行连接,并且输入连接协议,然后根据提示输入Hive服务器的用户名和密码,即可连接到Hive服务,具体指令如下:

 	//输入远程连接命令
    bin/beeline
   //输入远程连接协议,连接到指定Hive服务(hadoopOl)的主机名和端口(默认10000)
   beeline〉!connect jdbc:hive2://hadoopOl:10000
   //输入连接Hive服务器的用户名和密码
   Enter username for jdbc:hive2://hadoopOl:10000: root
   Enter password for jdbc:hive2://hadoopOl:10000:123456

在上述命令中,“!connect jdbc:hive2://hadoopOl:10000”用于指定远程Hive连接协议。其中,hadoopOl:10000用来指定要远程连接的Hive服务地址,Hive服务的默认端口号为10000。
然后,在hadoop02服务器执行show databases命令,可以看数据仓库的列表信息,效果如图所示.

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值