hive环境搭建

作者: 在朝阳寺树下 | 来源:发表于2018-01-04 20:44 被阅读0次

 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

报错

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

报错

解决方法:删除/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.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加入

报错:缺少mysqljar包

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

报错:

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

2.  bin/schematool -initSchema -dbType mysql

启动

1. bin/hive

启动后mysql 多了hive 数据库

测试

创建数据库

create databasedb_hive_test;

创建测试表

use db_hive_test;

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

数据到表中

新建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

查询表信

select * from student;

查看表的详细信息

desc formatted student;

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

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

通过Mysql查看创建的表

查看hive的函数

show functions;

查看函数详细信息

desc function sum;

desc function extended

相关文章

  • Hive安装与简单使用并集成SparkSQL

    Hive环境搭建 hive下载:http://archive-primary.cloudera.com/cdh5/...

  • Hive搭建

    Hive搭建 系统环境: Ubuntu 16 Java 8 Hadoop 2.7 Hive 1.2 MySQL 按...

  • Spark SQL:使用数据源之使用Hive Table

    一.使用Hive Table(把Hive中的数据,读取到Spark SQL 中) 1.首先,搭建Hive的环境(分...

  • hive 相关

    hive 相关 搭建hadoop和hive,mysql的环境,过程截图 1.hadoop install 2.m...

  • 搭建Hive环境

    下载hive:wget http://archive.cloudera.com/cdh5/cdh/5/hive-1...

  • 搭建hive环境

    1.安装java 安装成功后,使用下面的命令来验证是否已经安装java 如果安装成功,则可以看到如下回应: bas...

  • hive环境搭建

    Hive2.1.1安装部署 一、Hive 运行模式 与Hadoop类似,Hive也有 3 种运行模式: 1. 内嵌...

  • Hive环境搭建

    介绍 Hive是运行在Hadoop之上的数据仓库,将结构化的数据文件映射为一张数据库表,提供简单类SQL查询语言,...

  • Hive环境搭建

    hadoop各个节点角色定义 master 和 slavename node 和 data node: name ...

  • Hive环境搭建

    Hive的安装需要提前安装Hadoop和MySQL,Hadoop的安装请参考Hadoop环境搭建,下面是MySQL...

网友评论

    本文标题:hive环境搭建

    本文链接:https://www.haomeiwen.com/subject/niddnxtx.html