hive环境搭建

 Hive2.1.1安装部署

一、Hive 运行模式

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

1. 内嵌模式

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

2. 本地模式

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

3. 远程模式

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

二、下载安装Hive

http://hive.apache.org/downloads.html

tar -xzvf apache-hive-2.1.1-bin.tar.gz    ##解压

三、配置系统环

centos

修改 /etc/profile 文件  vi /etc/profile 来修改(root操作):

1.  设置 Hive环境变量

2.  # Hive environment

export HIVE_HOME=/home/hadoop/cloud/apache-hive-2.1.1-bin

 export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH  

1.  使环境变量生效:  source /etc/profile

ubuntu

修改~/.bashrc 文件  vim  ~/.bashrc 来修改(root操作):

设置 Hive环境变量

 # Hive environment

export HIVE_HOME=/home/hadoop/cloud/apache-hive-2.1.1-bin

 export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH  

4. 使环境变量生效:source ~/.bashr

四、内嵌模式

(1)修改 Hive 配置文件

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

1. 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 文件(根据自己的实际路径修改),文件默也不存在,同是拷它的模版来修改:

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

 #Set HADOOP_HOME to point to a specific hadoop install directory

1. HADOOP_HOME=/home/hadoop/cloud/hadoop-2.7.3 

 # Hive Configuration Directory can be controlled by:

 2. export HIVE_CONF_DIR=/home/hadoop/cloud/apache-hive-2.1.1-bin/conf 

#Folder containing extra ibraries required for hive compilation/execution can be controlled by:

3.exportHIVE_AUX_JARS_PATH=/home/hadoop/cloud/apache-hive-2.1.1-bin/lib  

(2)创建必要目录

前面我看到 hive-site.xml 文件中有两个重要的路径,切hadoop HDFS 是否有些路径:

1.  hadoop fs -ls /

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

1.  $HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse

2. $HADOOP_HOME/bin/hadoop fs -mkdir -p /tmp/hive/

3.  hadoop fs -chmod 777 /user/hive/warehouse

4.  hadoop fs -chmod 777 /tmp/hive

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

(3)修改 io.tmpdir 路径

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

1. mkdir /home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp

2.  chmod 777 /home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp

3.  把hive-site.xml 中所有包含 ${system:Java.io.tmpdir}替换成/home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp

全局替命令 先按Esc  再同shift+:把以下替命令粘按回即可全局替

1.${system:java.io.tmpdir}#/home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp#g

(4)运行Hive

1.  ./bin/hive

报错

hive环境搭建_第1张图片

解决办法:./bin/schematool-initSchema -dbType derby

报错

hive环境搭建_第2张图片

解决方法:删除/home/hadoop/cloud/apache-hive-2.1.1-bin目录下 rm -rf metastore_db/在初始化:./bin/schematool-initSchema -dbType derby

重新运行

./bin/hive

报错

原因:/tem/hive 没写的权限

Hive本身自带一个数据库,但是有弊端,hive本身数据库,每次只允许一个用户登录

mysql安装:http://blog.csdn.net/u014695188/article/details/51532410

设置mysqlhive

修改配置文件

### 创建hive-site.xml文件在hive/conf/目录下创建hive-site.xml文件

hive环境搭建_第3张图片

用户信息报错:hive.exec.scratchdir默认值是/tmp/hive-${system.user.name}

解决:改为/tmp/hive-${user.name}  或/tmp/hive


报错:Caused by:MetaException(message:Version information not found in metastore. )

解决:hive-site.xml加入

hive环境搭建_第4张图片

报错:缺少mysqljar包

解决:将其(如mysql-connector-Java-5.1.15-bin.jar)拷贝到$HIVE_HOME/lib下即可。

报错:

hive环境搭建_第5张图片

解决:#数据库的初始化。

2.  bin/schematool -initSchema -dbType mysql

启动

1. bin/hive

启动后mysql 多了hive 数据库

hive环境搭建_第6张图片

测试

创建数据库

create databasedb_hive_test;

创建测试表

use db_hive_test;

create table student(id int,name string) row format delimitedfields terminated by '\t';

hive环境搭建_第7张图片

数据到表中

新建student.txt 文件写入数据(id,name 按tab键分隔)

vi student.txt

1.  1001    zhangsan

2.  1002    lisi

3.  1003    wangwu

4.  1004    zhaoli

load data local inpath '/home/hadoop/student.txt' into table db_hive_test.student

hive环境搭建_第8张图片

查询表信

select * from student;

查看表的详细信息

desc formatted student;

通过ui页面查看创建的数据位置

http://192.168.169.132:50070/explorer.html#/user/hive/warehouse/db_hive_test.db

hive环境搭建_第9张图片

通过Mysql查看创建的表

查看hive的函数

show functions;

查看函数详细信息

desc function sum;

desc function extended

hive环境搭建_第10张图片

你可能感兴趣的:(hive环境搭建)