hive-1.2.1安装步骤

.Hive安装和配置

1.先决条件

已经安装好hadoop-2.4.1,hbase-1.0.0。

2.下载Hive安装包

当前Hive可到apache官网下载,选择的是hive-1.2.1。运行:

wget http://www-us.apache.org/dist/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz          然后将其解压到Hadoop所在的目录:/opt下。

解压:tar -zvxf apache-hive-1.2.1-bin.tar.gz /opt

重命名下:mv /opt/apache-hive-1.2.1-bin /opt/hive-1.2.1

3.配置系统环境变量/etc/profile

export HIVE_HOME=/opt/hive-1.2.1

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

source /etc/profile 使刚刚的配置生效

4.配置Hive

hive的配置文件放在$HIVE_HOME/conf下,里面有4个默认的配置文件模板

hive-default.xml.template                          
默认模板

hive-env.sh.template               
hive-env.sh默认配置

hive-exec-log4j.properties.template    exec默认配置

hive-log4j.properties.template              
log默认配置

可不做任何修改hive也能运行,默认的配置元数据是存放在Derby数据库里面的,大多数人都不怎么熟悉,我们得改用mysql来存储我们的元数据,以及修改数据存放位置和日志存放位置等使得我们必须配置自己的环境,下面介绍如何配置。

(1)创建配置文件,直接copy默认配置文件再修改即可,用户自定义配置会覆盖默认配置

cp
$HIVE_HOME/conf/hive-default.xml.template $HIVE_HOME/conf/hive-site.xml

cp $HIVE_HOME/conf/hive-env.sh.template
$HIVE_HOME/conf/hive-env.sh

cp
$HIVE_HOME/conf/hive-exec-log4j.properties.template
$HIVE_HOME/conf/hive-exec-log4j.properties

cp
$HIVE_HOME/conf/hive-log4j.properties.template
$HIVE_HOME/conf/hive-log4j.properties

(2)修改 hive-env.sh

vi
$HIVE_HOME/conf/hive-env.sh

export HADOOP_HOME=/opt/hadoop-2.4.1

export HIVE_CONF_DIR=/opt/hive-1.2.1/conf

(3)修改 hive-log4j.properties

mkdir $HIVE_HOME/logs

vi
$HIVE_HOME/conf/hive-log4j.properties

hive.log.dir=/opt/hive-1.2.1/logs

(4)修改 hive-site.xml

vi
$HIVE_HOME/conf/hive-site.xml

<configuration>

<property>

<name>hive.metastore.warehouse.dir</name>

<value>/opt/hive-1.2.1/warehouse</value>

</property>

<property>

<name>hive.exec.scratchdir</name>

<value>/opt/hive-1.2.1/scratchdir</value>

</property>

<property>

<name>hive.querylog.location</name>

<value>/opt/hive-1.2.1/logs</value>

</property>

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value> jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true</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>r00tme</value>

</property>

<property>

<name>hive.aux.jars.path</name>

<value>file:///opt/hive-1.2.1/lib/hive-hbase-handler-1.2.1.jar,file:///opt/hive-1.2.1/lib/hbase-client-1.0.0.jar,file:///opt/hive-1.2.1/lib/hbase-common-1.0.0.jar,file:///opt/hive-1.2.1/lib/hbase-common-1.0.0-tests.jar,file:///opt/hive-1.2.1/lib/hbase-protocol-1.0.0.jar,file:///opt/hive-1.2.1/lib/hbase-server-1.0.0.jar,file:///opt/hive-1.2.1/lib/htrace-core-3.1.0-incubating.jar,file:///opt/hive-1.2.1/lib/zookeeper-3.4.6.jar,file:///opt/hive-1.2.1/lib/protobuf-java-2.5.0.jar,file:///opt/hive-1.2.1/lib/guava-12.0.1.jar</value>

</property>

</configuration>

下面解释下一些重要的配置项:

hive.metastore.warehouse.dir:指定hive的数据存储目录,指定的是HDFS上的位置,默认值:/user/hive/warehouse,为了便于管理,hive-1.2.1文件下创建文件warehouse。

hive.exec.scratchdir:指定hive的临时数据目录,默认位置为:/tmp/hive-${user.name}。为了便于管理,hive-1.2.1文件下创建文件scratchdir。

javax.jdo.option.ConnectionURL:指定hive连接的数据库的数据库连接字符串

javax.jdo.option.ConnectionDriverName:指定驱动的类入口名称

hive.aux.jars.path:是与hbase整合的时候需要用到的jar包,必须加上

5.复制hbase库到hive下面

cp $HBASE_HOME/lib/hbase-*
$HIVE_HOME/lib/

cp
$HBASE_HOME/lib/htrace-core-3.1.0-incubating.jar $HIVE_HOME/lib/

cp
$HBASE_HOME/lib/zookeeper-3.4.6.jar $HIVE_HOME/lib/

提示已有文件,是否覆盖,选y。

cp
$HBASE_HOME/lib/protobuf-java-2.5.0.jar $HIVE_HOME/lib/

cp $HBASE_HOME/lib/guava-12.0.1.jar $HIVE_HOME/lib/

并删除了,原HIVE_HOME/lib/下的guava-14.0.1.jar。

6.上传jdbc jar包

默认hive使用Derby数据库存放元数据,并且也集成了Derby数据库及连接驱动jar包,但此处我们换成了MySQL作为数据库,所以还必须得有MySQL的JDBC驱动包。

由于之前系统已经有jdbc jar包,且在cd /usr/share/java目录下,直接将驱动包复制到$HIVE_HOME/lib下:cp mysql-connector-java-5.1.17.jar $HIVE_HOME/lib

7.安装并配置MySQL

由于已经安装好mysql,故可以直接使用。

启动hive在进行检测的时候 ,系统提示:

经查阅资料,发现hive-1.2.1与hbase-1.0.0有版本不兼容的问题,需要重新编译hive-hbase-handle-1.2.1.jar。

8.编译hive-hbase-handle-1.2.1.jar

(1)下载hive-1.2.1源码

在虚拟机中,用wget命令在http://www-eu.apache.org/dist/hive/中下载apache-hive-1.2.1-src.tar.gz,下载好后,把下载好的文件复制到Windows系统中。

关于从虚拟机复制文件到Windows系统中,我采用的办法是,先利用scp命令,把文件复制到172.16.0.1主机中的home目录下:

scp apache-hive-1.2.1-src.tar.gz [email protected]:/home

再利用WinSCP软件实现Windows系统和虚拟机的文件传输。

(2)在Windows系统中,用eclipse建立编译工程,名称随便,普通Java project,这里以hivehbase为名。

(3)将hive源码中的hbase-hadler部分导入到编译项目中

选择src右击import-->General-->FileSytem,下一步

找到下载解压的hive源码目录,找到hbase-hadler目录,在scr中选择java目录,确认后保证包名以org开头

(4)然后开始给eclipse项目下,创建一个Referenced Libraries目录,加入相关的jar包,确保顺利通过编译,根据hive的版本,导入的jar包也会有所差异,直到项目没有小红叉。

需要引入的jar包,如下图所示,这些包在虚拟机中的/opt/hive-1.2.1/lib和/opt/hbase-1.0.0目录下都有,直接复制拷贝过来即可,注意的是,jar的版本号会根据你所使用的hadoop、hbase、hive版本号,有所变化。

具体需要引入的jar包如下图:

(5)编译打包

选择项目src目录,右击Export-->Java-->JAR file-->Next,选择项目下的src,并设置导出路径,名称可以直接写作hive-hbase-handler-1.2.1.jar其他默认,Finish后即可。

然后把导出的hive-hbase-handler-1.2.1.jar 包放入hive-1.2.1安装路径的lib下,覆盖原来的包。此时,hive-1.2.1安装成功。

二.验证hive和hbase的整合

(1)开始时:

hive为空

hbase为空

(2)执行

(3)对比发生变化

hbase显示新建表xyz

hive显示新建表hbase_table_1

(4)通过hbase添加数据

在hbase中插入一条记录

分别查看hbase和hive表发生的变化:

  1. hbase变化

2.hive变化

.Hive网络接口(Web
UI)

1.查看hive-site.xml中有关hwi的内容,默认是

将hive.hwi.war.file的值修改为/lib/hive-hwi-1.2.1.war

2.下载hive-1.2.1源码包

wget http://www-us.apache.org/dist/hive/hive-1.2.1/ apache-hive-1.2.1-src.tar.gz

tar -zxvf apache-hive-1.2.1-src.tar.gz

cd apache-hive-1.2.1-src

cd hwi/web

zip hive-hwi-1.2.1.zip ./*

再更改后缀名为war,复制到HIVE_HOME/lib/

mv hive-hwi-1.2.1.zip hive-hwi-1.2.1.war

mv hive-hwi-1.2.1.war $HIVE_HOME/lib

3.拷贝tools包

cp /usr/java/jdk1.7.0_51/lib/tools.jar /opt/hive-1.2.1/lib

如果不进行此步骤,将无法启动界面。

配置完成后,开启服务:

并且可以查看到HIVE的网页界面:

.Hivejdbc接口

vi
$HIVE_HOME/conf/hive-site.xml

将上标签修改为:

<property>

<name>hive.server2.thrift.bind.host</name>

<value>172.16.0.147</value>

<description>Bind
host on which to run the HiveServer2 Thrift interface.

Can be overridden by
setting $HIVE_SERVER2_THRIFT_BIND_HOST</description>

</property>

测试hiveserver2,出现:

修改hadoop 配置文件/opt/hadoop-2.4.1/etc/hadoop里的core-site.xml,加入

<property>

<name>hadoop.proxyuser.root.hosts</name>

<value>*</value>

</property>

<property>

<name>hadoop.proxyuser.root.groups</name>

<value>*</value>

</property>

重启hadoop

将hadoop退出安全模式:

hadoop dfsadmin
-safemode leave

重新启动:

启动成功!

遇到的问题一:

解决方案:删除/opt/hive-2.0.0/lib/log4j-slf4j-impl-2.4.1.jar

遇到的问题二:

解决方案:删除/opt/hive-2.0.0/lib/hive-jdbc-2.0.0-standalone.jar

遇到的问题三:

查阅http://blog.csdn.net/zwx19921215/article/details/42776589后,采用如下方案:

1.查看hive-site.xml配置,会看到配置值含有"system:java.io.tmpdir"的配置项

2.新建文件夹/opt/hive-1.0.1/iotmp

3.将含有"system:java.io.tmpdir"的配置项的值修改为如上地址

遇到的问题四:

默认的是Derby类型,但是只支持单用户,删除/root/metastore_db,即可。

遇到的问题五:

hadoop下的jline版本较老,用hive中的jline将其替换

cp /opt/hive-1.2.1/lib/jline-2.12.jar
/opt/hadoop-2.4.1/share/hadoop/yarn/lib/

为防止误删,将老版本jline改名

mv
/opt/hadoop-2.4.1/share/hadoop/yarn/lib/jline-0.9.94.jar
/opt/hadoop-2.4.1/share/hadoop/yarn/lib/old-jline-0.9.94.jar

遇到的问题六:

但是有提示metastore.local不存在,解决方案参考下图:

经测试:

注:此项是配置在hive-site.xml中,解决报错之后就没有在之前的安装步骤写入此项。

时间: 2024-08-14 22:52:38

hive-1.2.1安装步骤的相关文章

详解Hive的架构及安装步骤

一.Hive是什么? Hive 是基于 Hadoop 构建的一套数据仓库分析系统,它提供了丰富的 SQL 查询方式来分析存储在 Hadoop 分布式文件系统中的数据, 可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行,通过自己的 SQL 去 查询分析需要的内容,这套 SQL 简称 Hive SQL. 二.理解Hive 架构 Hive 架构可以分为四部分. 用户接口 Hive 对外提供了三种服务模式,即 Hive

详解Hive的架构、工作原理及安装步骤

一.Hive是什么? Hive 是基于 Hadoop 构建的一套数据仓库分析系统,它提供了丰富的 SQL 查询方式来分析存储在 Hadoop 分布式文件系统中的数据, 可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行,通过自己的 SQL 去 查询分析需要的内容,这套 SQL 简称 Hive SQL. 二.理解Hive 架构 Hive 架构可以分为四部分. 用户接口 Hive 对外提供了三种服务模式,即 Hive

关于hive的安装步骤

一.安装hive的过程 在安装hive之前首先安装mysql 1.查看mysql ,系统自带的      命令为 yum list |grep mysql 2.mysql-server的安装      命令为 yum install -y mysql-server mysql mysql-devel 3. 修改mysql的密码为123      命令为myaqladmin -u root password 123 4.登陆mysql     命令mysql -u root -p 5.赋予权限my

Zentao安装步骤

Zentao安装步骤 1.下载文件ZenTaoPMS.2.3.stable.zip 拷贝到目录:/home/work/opencom/apache/htdocs/ 2.unzip ZenTaoPMS.2.3.stable.zip 3.linux下的安装:   下好源代码后,切换到压缩包的文件路径下,使用unzipZenTaoPMS.1.2.stable解压,将zentaopms包移动到apache的目录下,由于之前已经安装了php,mysql,apache的软件,目录已调整到/var/www目录

Ubuntu下部分软件的简介及其安装步骤

1.安装linux摄像头应用软件cheese sudo apt-get install cheese 2.Ubuntu Tweak    Ubuntu Tweak是一款专门为Ubuntu(GNOME桌面)准备的配置.调整工具.主要面向新手级的普通用户.它可以设置很多并不能在系统首选项中设置的隐藏选项,以满足用户自定义的乐趣.即使是新手,也可以方便地通过它来进行适合自己的系统调整.    安装命令:    第一步:添加tweak源 sudo add-apt-repository ppa:tuala

Pycharm安装步骤

Pycharm安装步骤 ? ? 下载地址 https://www.jetbrains.com/pycharm/download/previous.html 版本 1.2 2017 ? ? ? ? 等待下载完毕 ? ? ? ? ? ? ? 1.将JetbrainsCrack-2.6.2.jar复制到pycharm运行程序的路径下: ? 我这里是:D:\PyCharm\bin ? ? 2.在pycharm64.exe.vmoptions.pycharm.exe.vmoptions两个文件后面添加:

Linux硬盘安装步骤

Linux硬盘安装步骤 网上找了许多用DVD镜像硬盘安装FC5的文章,可是都不系统,为了全中国的广大菜鸟们,兄弟连Linux云计算架构师 抽了很多时间来写这篇详细的安装文章,希望对初次接触LINUX或者刚刚入门的朋友有所帮助. 一.预备知识: 1. 理解LINUX的分区,我们平时用的WINDOWS操作系统一般是FAT32或者NTFS分区,而LINUX要用不同的分区结构,现在一般都用EXT3,而且比WINDOWS要多分一个交换分区,也就是SWAP分区.也就是说如果你想安装LINUX,至少要有两个分

MySQL5.6安装步骤

MySQL5.6安装步骤(windows7/8_64位) 1. 下载MySQL Community Server 5.6.11 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. 3. 添加环境变量 变量名:MYSQL_HOME 变量值:D:\Program Files\mysql-5.6.11-winx64 即为mysql的自定义解压目录. 再在Path中添加  %MYSQL_HOME%\bin 4. 注册windows系统服务 将mysql注册为windows系统服务

mysql5.6版本安装步骤详解

mysql5.0之后的版本与之前的版本有一些区别,我们在安装的时候如果用安装老版本的方法会遇到各种问题,其中最主要的区别就是配置文件my.cnf 详细安装步骤这里就不多说了,与老版本的安装步骤一样的,如有需要可以参考笔者另外一篇博文 这里主要讲解配置文件的不同之处,我们在安装过程中,到了要拷贝配置文件的那一步会遇到错误,我们会发现在目录/usr/local/mysql/support-files/(该路径可以自己定义)下没有my_large.cnf这个配置文件,只有my.cnf或者my-defa