Hive 安装配置

摘要:
实验简介本课程学习了如何安装和配置配置单元。因此,在安装Hive之前,必须确保Hadoop已成功安装。Hive V1.1.0可以在Hadoop V1.0.0.Hive.exec.Scratchdir以上的环境中工作。此参数指定Hive临时数据文件的目录。HDFS上的默认位置是/tmp/hhive。

实验简介

本次课程学习了如何安装配置 Hive。


一、实验环境说明

1. 环境登录

无需密码自动登录,系统用户名shiyanlou,密码shiyanlou

2. 环境介绍

本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序:

  • XfceTerminal: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令;
  • Firefox:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的HTML/JS页面即可;
  • GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器
  • Eclipse:Eclipse是著名的跨平台的自由集成开发环境(IDE)。主要用来Java语言开发,但是目前亦有人通过插件使其作为C++和Python等语言的开发工具。

3. 环境使用

使用GVim编辑器输入实验所需的代码,然后使用XfceTerminal命令行环境进行编译运行,查看运行结果,运行后可以截图并分享自己的实验成果,实验楼提供的截图是后台截图,无法作弊,可以真实有效证明您已经完成了实验。

实验记录页面可以在“我的课程”中查看,其中含有每次实验的截图及笔记,以及每次实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。

二、Hive 运行模式

与 Hadoop 类似,Hive 也有 3 种运行模式:

1. 内嵌模式

将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式。但是这种方式缺点也比较明显,因为一个内嵌的 Derby 数据库每次只能访问一个数据文件,这也就意味着它不支持多会话连接。

2. 本地模式

这种模式是将元数据保存在本地独立的数据库中(一般是 MySQL),这用就可以支持多会话和多用户连接了。

3. 远程模式

此模式应用于 Hive 客户端较多的情况。把 MySQL 数据库独立出来,将元数据保存在远端独立的 MySQL 服务中,避免了在每个客户端都安装 MySQL 服务从而造成冗余浪费的情况。

三、下载安装 Hive

上节课程我们已经了解到,Hive 是基于 Hadoop 文件系统之上的数据仓库。因此,安装Hive之前必须确保 Hadoop 已经成功安装。(本次实验环境,已经为大家安装好了 Hadoop.)

本次实验,使用Hive V1.1.0版本。Hive V1.1.0 可以在 Hadoop V1.0.0 以上环境中工作。终端下输入命令来下载(hadoop 用户的密码为shiyanlou):

$ su hadoop
$ cd /usr/local/hadoop
$ wget http://labfile.oss.aliyuncs.com/apache-hive-1.1.0-bin.tar.gz

下载完成后解压:

$ tar zxvf apache-hive-1.1.0-bin.tar.gz

解压出来的文件名很长,在终端下输入很麻烦,为了后面实验的方便,建议修改为较短文件名,例如:

$ mv apache-hive-1.1.0-bin hive

四、配置系统环境变量

修改 /etc/profile 文件,这个我们在 Hadoop 和 HBase 的课程 中也修改过,应该比较熟悉了。在 PATH 中加入 Hive 的 bin 以及 conf 路径(请根据自己的实际路径修改),使用 sudo vim /etc/profile 来修改:

# Hive environment
export HIVE_HOME=/usr/local/hadoop/hive
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH

五、内嵌模式

(1)修改 Hive 配置文件

$HIVE_HOME/conf 对应的是 Hive 的配置文件路径,类似于之前学习的HBase, 该路径下的 hive-site.xml 是 Hive 工程的配置文件。默认情况下,该文件并不存在,我们需要拷贝它的模版来实现:

$ cp hive-default.xml.template hive-site.xml

hive-site.xml 的主要配置有:

图片描述信息

图片描述信息

  • hive.metastore.warehouse.dir 该参数指定了 Hive 的数据存储目录,默认位置在 HDFS 上面的 /user/hive/warehouse 路径下。

  • hive.exec.scratchdir 该参数指定了 Hive 的数据临时文件目录,默认位置为 HDFS 上面的 /tmp/hive 路径下。

同时我们还要修改 Hive 目录下 /conf/hive-env.sh 文件(请根据自己的实际路径修改),该文件默认也不存在,同样是拷贝它的模版来修改:

export HADOOP_HEAPSIZE=1024

# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/usr/local/hadoop

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/local/hadoop/hive/conf

# Folder containing extra ibraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/usr/local/hadoop/hive/lib

(2)创建必要目录

前面我们看到 hive-site.xml 文件中有两个重要的路径,切换到 hadoop 用户下查看 HDFS (需要先启动 Hadoop)是否有这些路径:

$ hadoop dfs -ls /

图片描述信息

没有发现上面提到的路径,因此我们需要自己新建这些目录,并且给它们赋予用户写(W)权限。

$ hadoop dfs -mkdir /user/hive/warehouse
$ hadoop dfs -mkdir /tmp/hive
$ hadoop dfs -chmod 777 /user/hive/warehouse
$ hadoop dfs -chmod 777 /tmp/hive

如果你遇到 no such file or directory 类似的错误,就一步一步新建目录,例如:

$ hadoop dfs -mkdir /tmp
$ hadoop dfs -mkdir /tmp/hive

检查是否新建成功 hadoop dfs -ls / 以及 hadoop dfs -ls /user/hive/

图片描述信息

(3)修改 io.tmpdir 路径

同时,要修改 hive-site.xml 中所有包含 ${system:java.io.tmpdir} 字段的 value 即路径(vim下 / 表示搜索,后面跟你的关键词,比如搜索 hello,则为 /hello , 再回车即可),你可以自己新建一个目录来替换它,例如 /home/hive/iotmp . 同样注意修改写权限。(以下是一个修改示例,其他的同理)

<value>${system:java.io.tmpdir}/${system:user.name}</value>

改成

<value>/home/hive/iotmp</value>

如果不修改这个目录,你很可能会出现如下错误:

图片描述信息

(4)运行 Hive

前面我们已经提到过,内嵌模式使用默认配置和 Derby 数据库,所以无需其它特别修改直接运行 hive(确保 Hadoop 已经先启动):

你很可能会遇到这个错误:

图片描述信息

这是因为 Hive 中的 Jline jar 包和 Hadoop 中的 Jline 冲突了,在路径:$HADOOP_HOME/share/hadoop/yarn/lib/jline-0.9.94.jar 将其删除。

再次启动 hive,就OK了:

图片描述信息

show tables; 注意不要漏写了 分号

图片描述信息

六、本地模式

现在我们替换默认的 Derby 数据库为 MySQL数据库。

(1)下载安装 MySQL

$ sudo apt-get install mysql-server

本实验环境下默认是安装了 MySQL 的,直接启动它:

$ sudo service mysql start

添加 root 用户,创建 hive 数据库:

图片描述信息

图片描述信息

虽然 MySQL 已经默认安装,但我们还需要下载一个 MySQL 的 JDBC 驱动包。这里使用的是 mysql-connector-java-5.1.35-bin.jar,你需要将其复制到 $HIVE_HOME/lib 目录下面:

$ wget http://labfile.oss.aliyuncs.com/mysql-connector-java-5.1.35.tar.gz

$ tar zxvf mysql-connector-java-5.1.35.tar.gz

$ cd mysql-connector-java-5.1.35

$ mv mysql-connector-java-5.1.35-bin.jar /usr/local/hadoop/hive/lib/

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

最后,依然是修改 $HIVE_HOME/conf 下的 hive-site.xml 文件,把默认的 Derby 修改为 MySQL :

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    //所连接的MySQL数据库实例
    <value>jdbc:mysql://localhost:3306/hive</value>
</property>

<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    //连接的MySQL数据库驱动
    <value>com.mysql.jdbc.Driver</value>
</property>

<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    //连接的MySQL数据库用户名
    <value>hive</value>
</property>

<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    //连接的MySQL数据库密码
    <value>hive</value>
</property>

(3)启动 Hive

启动 Hive 的方式同内嵌模式一样:

图片描述信息

作业

有条件的同学,可以自行尝试安装配置远程模式下的 Hive。

免责声明:文章转载自《Hive 安装配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇公众号微信支付流程-(转)对github上面的项目进行更新下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PowerDesigner学习笔记(一)----重要基础操作

PowerDesigner是一款功能非常强大的建模工具软件,足以与Rose比肩,同样是当今最著名的建模软件之一。Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesigner则与其正好相反,它是以数据库建模起家,后来才发展为一款综合全面的Case工具。 PowerDesigner主要分为7种建模文件: 1.  概念数据模型 (...

MySQL5.7.23解压版安装教程

每次找安装教程太麻烦,因此给自己备份一下步骤,方便以后查看。解压版下载地址https://dev.mysql.com/downloads/mysql/,详细图解如下: 1.根据自己需求,选择适合自己的进行下载。     2.解压安装包到自己的喜欢的路径,我选择的路径是D:Program Files   3.配置环境变量 我是windows10的系统,找到环...

1045-access denied for user 'root'@

mysql数据库连接时报错:1045-access denied for user 'root'@...... 解决步骤: 1.停止MYSQL服务(net stop mysql57) 2.在CMD命令行窗口,进入MYSQL安装的bin目录 比如“C:Program FilesMySQLMySQL Server 5.7in” 3.继续输入命令为:"mysql...

mongodb的备份还原

一:备份数据库 G:Program FilesMongoDBServer3.0in>mongodump -d mydb -o g:/data/back mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户,可以去掉-u和-p。如果导出本机的数据库,可以去掉-h。如果是默认端口,可...

mysql5.7版本,mysql server最大连接数,mysql 用户最大连接数

根据mysql的官方手册:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections mysql server最大连接数是10万,一般在my.ini 配置文件里的默认max_connections = 151 而mysql 用户最大...

自动生成代码工具

1.Code Smith 国外最著名的商业代码生成器官方网站:http://www.codesmithtools.com/CodeSmithProfessional-41.rar CodeSmith.Professional.v4.1.2.Keygen.rar 2.MyGeneratoe国外最著名的免费代码生成器官方网站:http://www.mygene...