Hive安装配置

任务背景

hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive是十分适合数据仓库的统计分析和Windows注册表文件。

hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。

hive 是一种底层封装了Hadoop 的数据仓库处理工具,使用类SQL 的hiveQL 语言实现数据查询,所有hive 的数据都存储在Hadoop 兼容的文件系统(例如,Amazon S3、HDFS)中。hive 在加载数据过程中不会对数据进行任何的修改,只是将数据移动到HDFS 中hive 设定的目录下,因此,hive 不支持对数据的改写和添加,所有的数据都是在加载的时候确定的。hive 的设计特点如下。

任务需求:

现大多数数据仓库应用程序都是使用关系数据库进行实现的,并使用SQL作为查询语言。Hive降低了将这些应用程序转移到Hadoop系统上的难度。凡是会使用SQL语言的开发人员都可以很轻松的学习并使用Hive。为了更好的掌握hive,我们要先从他的安装开始。

任务步骤:

1)mysql赋予权限

2)hive安装包解压

3)配置hive环境变量,配置hive相关文件参数

4)运行hive

任务结果:

Shell命令操作

任务实施过程:

1.安装Hive

知识点

1)Hive的依赖环境及安装步骤

实验目的

1)掌握Hive的安装过程

实验环境

1)Oracle Linux 7.4

2)Hadoop2.7.4

3)Hive2.1.1

4)Mysql5.5.57

5)Java1.8.0_144

实验步骤

1)安装前的准备

1.点击桌面Konsole图标打开一个终端

2.安装包位于/root/experiment/file目录下

2)Hive元数据库的建立

1.进入MySQL命令窗口

[Command 001]:

mysql -u root -p

2.建立Hive元数据需要的MySQL下的数据库“hive”,并赋予相应权限

[Command 002]:

create database hive;

[Command 003]:

grant all privileges on *.* to 'root'@'master' identified by 'root';

[Command 004]:

grant all privileges on *.* to 'root'@'%' identified by 'root';

[Command 005]:

flush privileges;

3.查看数据库“hive”的权限

[Command 006]:

SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;

4.退出MySQL命令窗口

[Command 007]:

quit;

3)配置Hive安装包

1.解压Hive压缩包至/opt目录下。

[Command 008]:

tar xf experiment/file/apache-hive-2.1.1-bin.tar.gz -C /opt/

[Command 009]:

ll /opt/

2.解压后的Hive压缩包apache-hive-2.1.1-bin更名为hive。

[Command 010]:

mv /opt/apache-hive-2.1.1-bin /opt/hive

[Command 011]:

ll /opt/

3.拷贝Hive需要的mysql依赖包mysql-connector-java-5.1.42.jar 至hive/lib目录下。

[Command 012]:

cp ~/experiment/file/mysql-connector-java-5.1.42.jar /opt/hive/lib/

[Command 013]:

ll /opt/hive/lib/mysql-*

4)配置Hive环境变量

1.打开配置Hive环境变量的文件profile。

[Command 014]:

vim /etc/profile

2.敲键盘“i”键,使profile处于可插入状态,配置Hive环境变量参数。将[Command 015]命令下的三行加入profile文件的合适位置,建议加在文件尾部(将光标移动至文件最后,按2 次回车,然后粘贴[Command 015]下的三行内容)。由于用户可能在此文件存在其它的配置,所以与下面截图可能不完全一致,只要保证新加入的内容与红框内的内容一致即可(即Hive相关环境参数)。

[Command 015]:

export HIVE_HOME=/opt/hive
export HIVE_CONF_DIR=/opt/hive/conf
export PATH=$HIVE_HOME/bin:$PATH

3.按“ESC”键,敲“:wq!”命令,按回车保存并退出profile文件。

[Command 016]:

:wq!

4.使profile文件配置生效。

[Command 017]:

source /etc/profile

5.查看hive的环境变量是否生效。

[Command 018]:

echo $PATH

5)配置Hive相关配置文件的参数

1.进入Hive配置文件的目录。

[Command 019]:

cd /opt/hive/conf/

[Command 020]:

ll

2.生成hive-site.xml文件。

[Command 021]:

cp /opt/hive/conf/hive-default.xml.template /opt/hive/conf/hive-site.xml

[Command 022]:

ll

3.打开配置hive-site.xml文件。

[Command 023]:

vim /opt/hive/conf/hive-site.xml

4.删除hive-site.xml文件中标签<configuration>与</configuration>之间的所有内容。可以通过借助系统本身的文本工具如KWrite等打开hive-site.xml文件,删除指定标签<configuration>与</configuration>之间的所有内容。也可以通过命令删除。下面介绍用命令删除的方法,在打开的文档状态下,在键盘敲入“5327dd”命令(意思是删除5327行,具体删除行数依据你的文档定,最终目的是删除标签<configuration>与</configuration>之间的所有内容),然后回车。注意屏幕上看不到5327dd字样,尽管操作就好。其中5327dd代表的是删除5327行。

[Command 024]:

22gg
5327dd

5.删除hive-site.xml文件指定内容后的文件全部内容如下。

6.通过键盘敲入”i”,使更改后的hive-site.xml文件处于可编辑状态,即可在文件下方看到“INSERT”或“插入”的字样。

7.将需要配置的参数敲入或者去已经配置好的文件里将配置内容(即Code001的所有内容)全部复制到hive-site.xml文件中<configuration>与</configuration>标签之间,粘贴的所有内容如下:

[Code 001]:

<property>
	<name>hive.metastore.warehouse.dir</name>
	<value>/data/hive/warehouse</value>
</property>
<property>
	<name>hive.metastore.local</name>
	<value>true</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://master/hive?createDatabaseIfNotExist=true&amp;useSSL=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>root</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionPassword</name>
	<value>root</value>
</property>
<property>
	<name>hive.metastore.schema.verification</name>
	<value>false</value>
</property>

8.注意粘贴(点击文档的空白处,点击鼠标右键,即可看到“粘贴”或“Paste”选项,选中它完成粘贴)的位置位于标签<configuration>与</configuration>之间。

9.粘贴后的hive-site.xml文件如下所示,按ESC键,录入“:wq!”退出并保存文件。

[Command 026]:

:wq!

2.启动Hive服务端

知识点

1)Hive的启动步骤

实验目的

1)掌握Hive的启动方式

实验环境

1)Oracle Linux 7.4

2)Hadoop2.7.4

3)Hive2.1.1

4)Mysql5.5.57

5)Java1.8.0_144

实验步骤

1)启动服务端

1.初始化元数据。初始化成功后,会在操作窗口下面看到“schemaTool completed“初始化完成的字样,此时在[Command 002]命令时建立的hive数据库里会看到很多用于装载数据仓库hive元数据的表。

[Command 027]:

schematool -dbType mysql -initSchema

2.如果Hadoop服务没有启动,需要启动Hadoop。

[Command 028]:

start-all.sh

3.查看Hadoop守护进程,如果系统运行其它程序,进程数可能与下图有差别,但不影响运行,只要红框中除了RunJar进程外的其它所有进程(DataNode、NameNode、SecondaryNameNode 、ResourceManager、NodeManager)都存在即可。

[Command 029]:

jps

4.从键盘上敲入下面命令启动hive服务并进行日志记录。(这里注意,由于hive的环境变量是配置在/etc/profile文件下,如果操作完之前的操作后,你关闭的命令窗口后重新打开窗口操作后,有可能会出现hive命令不认识的情况,此时只需要在执行下面命令之前,执行一下[Command 017]的命令“source /etc/profile”,后再执行下面的命令[Command 030]即可。)

[Command 030]:

nohup hive --service metastore > metastore.log 2>&1 &

5.启动Hive。(这里注意,由于hive的环境变量是配置在/etc/profile文件下,如果执行hive命令,报“bash:hive:command not found”信息,即hive命令不存在的意思。此时只需要在执行hive命令之前,执行一下 “source /etc/profile”命令,具体步骤见[Command 032])。

[Command 031]:

hive

6.点击桌面Konsole图标,再打开一个终端,像上一条一样录入hive启动Hive,由于环境变量配置在profile,如果出现问题,可像如下执行即可。

[Command 032]:

source /etc/profile

[Command 033]:

hive

3.Hive基本操作

知识点

1)Hive CLI

2)Hive操作本地磁盘

3)Hive操作HDFS

实验目的

1)掌握Hive基本应用

实验环境

1)Oracle Linux 7.4

2)Hadoop2.7.4

3)Hive2.1.1

4)Mysql5.5.57

5)Java1.8.0_144

实验步骤

1)使用Ctrl+c组合键停止KVLite服务端进程

1.创建数据库dbtest。

[Command 034]:

CREATE DATABASE dbtest;

2.显示Hive中数据库。

[Command 035]:

SHOW DATABASES;

3.删除数据库dbtest。

[Command 036]:

DROP DATABASE dbtest;

4.显示Hive中数据库。

[Command 037]:

SHOW DATABASES;

5.如果dbtest不存在,建立数据库dbtest。

[Command 038]:

CREATE DATABASE IF NOT EXISTS dbtest;

6.使用数据库dbtest。

[Command 039]:

use dbtest;

7.显示数据库dbtest。

[Command 040]:

set hive.cli.print.current.db=true;

8.查询当前正在使用的数据库。

[Command 041]:

SELECT current_database();

9.显示当前数据库中的表。

[Command 042]:

show tables;

10.关闭显示当前数据库信息。

[Command 043]:

set hive.cli.print.current.db=false;

11.hive中查询本地磁盘上文件路径命令。

[Command 044]:

!pwd; 

12.hive中查询本地磁盘上命令。

[Command 045]:

!ls /opt/hive/conf/;

13.磁盘查询本地磁盘上目录命令。注意这里不是在hive>环境下了,是在本地系统环境下。具体做法是:点击桌面Konsole图标打开一个终端,即命令窗口,在其中敲入pwd命令。

[Command 046]:

pwd

14.磁盘查询本地磁盘上命令。注意这里不是在hive>环境下了,是在本地系统环境下。具体做法是:点击桌面Konsole图标打开一个终端,即命令窗口,在其中敲入“ls /opt/hive/conf/”命令。

[Command 047]:

ls /opt/hive/conf/

15.hive中查询HDFS命令。

[Command 048]:

dfs -ls /;

16.Hadoop中查询HDFS命令。注意这里不是在hive>环境下了,是在本地系统环境下。具体做法是:点击桌面Konsole图标打开一个终端,即命令窗口,在其中敲入” hadoop dfs -ls /”命令。

[Command 049]:

hadoop dfs -ls /

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值