一、实验环境说明:
软件包:
JDK版本:jdk1.6.0_35
Hadoop安装包:hadoop-0.20.2.tar.gz
Hive安装包:hive-0.5.0-dev.tar.gz
Mysql version: 5.5.28
Mysql驱动:mysql-connector-java-5.0.8-bin.jar
环境变量:
[wu@master ~]$ cat .bashrc
##################################################
export HIVE_HOME=/home/wu/hive/hive-0.5.0-dev
export CLASSPATH=build/classes:$HIVE_HOME/*$HIVE_HOME/lib/*:$HIVE_HOME/conf
###################################################
二、安装配置Hive:
0、查看Hadoop的健康状态:
Master节点:
[wu@master ~]$ jps
30316 NameNode
30449 SecondaryNameNode
30514 JobTracker
20918 Jps
Slave1节点:
[wu@slave1 ~]$ jps
30219 TaskTracker
30153 DataNode
14775 Jps
Slave2节点:
[wu@slave2 ~]$ jps
21516 Jps
30326 DataNode
30396 TaskTracker
1、HDFS上创建以下目录:(以便多用户共享一个Hadoop集群)
[wu@master ~]$ hadoop fs -mkdir /tmp
[wu@master ~]$ hadoop fs –chmod a+w /tmp
[wu@master ~]$ hadoop fs -mkdir /user/hive/warehouse
[wu@master ~]$ hadoop fs - chmod a+w /user/hive/warehouse
2、解压hive软件包:
[wu@master hive]$ tar -zxvf hive-0.5.0-dev.tar.gz
3、安装配置mysql并且创建hive的用户和数据库:
在Mysql中创建hive用户:
mysql> CREATE USER 'hive'@'master' IDENTIFIED BY 'hive';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'master' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> create database hive_db;
4、把mysql-connector-java-5.0.8-bin.jar包复制到hive的lib目录下:
[wu@master ~]$ cp mysql-connector-java-5.0.8-bin.jar
/home/wu/hive/hive-0.5.0-dev/lib/
5、配置hive:
[wu@master hive]$ cd hive-0.5.0-dev
[wu@master hive-0.5.0-dev]$ ls
bin conf docs examples lib README.txt src
[wu@master hive-0.5.0-dev]$ cd conf/
[wu@master conf]$ ls
hive-default.xml hive-log4j.properties
[wu@master conf]$ cp hive-default.xml hive-default.xml.bk
[wu@master conf]$ vi hive-default.xml
添加、修改如下信息:
###############################################################################
Mysql连接:
javax.jdo.option.ConnectionURL
jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore
Mysql连接驱动:
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
登陆mysql的用户名:hive
javax.jdo.option.ConnectionUserName
hive
username to use against metastore database
登陆mysql的用户hive的密码:
javax.jdo.option.ConnectionPassword
hive
password to use against metastore database
指定本地登陆mysql还是远程:(我这里是本地)
hive.metastore.local
true
controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM
Hive表数据存放目录,自带默认值:(之前在HDFS上创建多用户共享的目录)
hive.metastore.warehouse.dir
/user/hive/warehouse
location of default database for the warehouse
Hive临时文件存放的目录,使用默认值即可
hive.exec.scratchdir
/tmp/hive-${user.name}
Scratch space for Hive jobs
##########################################################################
6、启动hive:
[wu@master ~]$ hive
Hive history file=/tmp/wu/hive_job_log_wu_201211281447_988479129.txt
hive>
7、创建test_wu表,测试多用户操作:
第一个Terminal中:
hive> create table test_wu ( id INT, name string )
> row format delimited
> fields terminated by ','
> stored as textfile;
OK
Time taken: 3.836 seconds
hive> show tables;
OK
auction
test_wu
Time taken: 0.136 seconds
hive>
第二个Terminal中:
[wu@master ~]$ hive
Hive history file=/tmp/wu/hive_job_log_wu_201211281447_988479129.txt
hive> show tables;
OK
auction
test_wu
Time taken: 2.156 seconds
hive>
OK,配置成功! BY 吴少杰 2012.11.28
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE转载于:http://blog.itpub.net/26857237/viewspace-750142/