1、解压与安装
解压hive-0.9.0.tar.gz到/opt/目录下:
tar -zxvf hive-0.9.0.tar.gz -C /opt mv /opt/hive-0.9.0 /opt/hive
2、配置hive-env.sh
Hive提供了一个模版文件hive-env.sh.template,复制一份改名为hive-env.sh
cp hive-env.sh.template hive-env.sh配置JAVA_HOME、配置HIVE的主目录,并把HIVE的bin加入环境变量:
export JAVA_HOME=/usr/java/jdk/ export HIVE_HOME=/opt/hive export PATH=$PATH:$HIVE_HOME/bin export HADOOP_HOME=/opt/hadoop
默认没有提供hive-site.xml,仅提供了配置模版hive-default.xml.template,我们需要把它复制成为hive-default.xml和hive-site.xml
cp hive-default.xml.template hive-default.xml cp hive-default.xm.template hive-site.xml其实,可以先把hive-site.xml里面所有的<property>节点全部删除(如果不删除,进行配置需要先查找原来的配置有则进行修改,无则添加。麻烦!删除后清晰!)。
4、Hive集成HBase
将Hive的lib目录里面的HBase.jar包用实际安装的HBase的jar包替换掉。
rm -rf /opt/hive/hbase.jar cp /opt/hbase/hbase-*.jar /opt/hive/lib/交Hive的lib目录里面的zookeeper包用HBase的lib目录里面的替换掉
rm -rf zookeeper*.jar cp /opt/hbase/lib/zookeeper*.jar /opt/hive/lib在hive-site.xml中添加
<property> <name>hive.aux.jars.path</name> <value>file:///opt/hive/lib/hive-hbase-handler-0.9.0.jar,file:///opt/hive/lib/hbase-0.94.2.jar,file:///opt/hive/lib/zookeeper-3.4.3.jar</value> </property>运行
/hive-hiveconf hbase.master=master.60000测试:
create table htest(key int, value string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties('hbase.columns.mapping'=':key,f:value') tblproperties('hbase.table.name'='htest'); select * from htest
5、使用MySQL管理Meta数据
安装MySql
yum -y install mysql mysql-server
配置Mysql默认编码:
vi /etc/my.cnf#在[mysqld]配置组下添加
default-character-set=utf8#新添加组[mysql],如果组[mysql]已存在,只需在组下加入便可
default-character-set=utf8
chkconfig mysqld on 启动MSQL服务
service mysqld start 设置MySQL密码:首次安装,无密码,直接mysql进入,执行下面SQL:
set password for root@localhost=password("在这里填入root密码");非首次安装,有密码,使用下面命令修改密码:
/ust/bin/mysqladmin -uroot -p password root创建hive库,并设置编码:
create database hive;
alter database hive character set latin1;
把MySQL的JDBC驱动包放入Hive的lib下: cp mysql-connector-java-5.1.21.jar /opt/hive/bin在hive-site.xml中修改或添加:
<property> <name>javax.jdo.option.ConnectionURL</name> <value> jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useUnicode=false&characterEncoding=latin1 </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>root</value> </property>经过以上配置可在mysql中保存Meta信息
6、执行
进入hive命令行:
/hive使用Hive命令:
show tables;#存储在文本文件中
create table my(id int, name string) row format delimited fields terminated by '\t' stored as textfile; describe my; load data local inpath '/opt/data/test.txt' overwrite into table my; select * from my limit 10; select count(*) from my; drop table my;
hive.exec.mode.local .auto
默认:false
定义:自动进入本地模式
描述:设置为true可进入本地模式,便于调试