Hive的安装

1.hive三种安装模式

一.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接)

二.本地模式(本地安装mysql 替代derby存储元数据)

三.远程模式(远程安装mysql 替代derby存储元数据)

环境说明:三台虚拟机 hadoop环境(版本:1.2.1

Namenodesecondname (192.168.1.110)

Datanode1192.168.1.111

Datanode2192.168.1.112

hive我采用的是0.11版本,mysql部署在datanode2上;使用当前最新版本0.12总是出错,查看原配置文件就有错误,截图如下

005409541.png

2.下载hive

http:hive.apache.org(官网)本文采用0.11.0版本,解压。

005430977.png

3.安装前准备

[tony@namenode ~]$ vim ~/.bash_profile

设置环境变量向文件加入

export HIVE_HOME=/home/tony/hive-0.11.0-bin

export PATH=$PATH:$HIVE_HOME/bin

export CLASSPATH=$CLASSPAHT:$HIVE_HOME/lib

4.添加修改配置文件

[tony@namenode ~]$cp hive-env.sh.templatehive-env.sh

[tony@namenode ~]$cphive-default.xml.template hive-site.xml


[tony@namenode hive-0.11.0-bin]$ vim conf/hive-env.sh

005453571.png

5.启动hive

启动时候选择提示模式

打开调试模式:编译调试找出问题

[tony@namenode hive-0.11.0-bin]$hive -hiveconf hive.root.logger=DEBUG,console

005521304.png

Hive内嵌式模式安装完成可以建立一个表并查看

hive命令行模式下

hive> create table jack (namestring,age int)

hive> show tables;

OK

jack

tony

Time taken: 0.222 seconds,Fetched: 2 row(s)

005548863.png

远程模式和本地模式安装大致相同(只是msyql安装的位置不同),本文只介绍远程模式


1.datanode2 安装mysql数据,安装服务端和客户端

005618271.png

本文采用rpm包安装,安装过程会安装包依赖,只要耐心安装即可成功

3.安装完成后登陆mysql服务端修改密码,并创建live数据库,并给live数据库授权

mysql> create database hive;

mysql> GRANT ALL ON hive.* TO ‘tony’@’192.168.1.110’IDENTIFIED BY "123456

此处的密码必须和hive-site.xml中javax.jdo.option.ConnectionUserNamejavax.jdo.option.ConnectionPassword的密码相一致

4.现在192.168.1.110登陆mysql尝试是能够登陆

005644900.png

5.修改配置文件

向hive lib目录增加mysql的连接器mysql-connector-java-5.1.25-bin.jar 下载地址:http://download.csdn.net/detail/xqj198404/6338973

005708378.png

[tony@namenode conf]$ vim hive-site.xml

指出连接mysql的方法

<property>

<name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.1.112:3306/hive?createDatabaseIfNotExist=true</value>

<description>JDBC connect string for aJDBC metastore</description>

</property>

Mysq连接驱动程序

<property>

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

<value>com.mysql.jdbc.Driver</value>

<description>Driverclass name for a JDBC metastore</description>

</property>

Mysql登陆用户名和mysql授权的一致

<property>

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

<value>tony</value>

<description>username to use againstmetastore database</description>

</property>

Mysql登陆密码和mysql授权的一致

<property>

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

<value>hive</value>

<description>password to use againstmetastore database</description>

</property>

6启动hive

[tony@namenode conf]$hive -hiveconf hive.root.logger=DEBUG,console启动调试模式

005740630.png

查看所建立的表

005805899.png

登陆远程数据mysql查看保存的元数据

005825879.png

完毕