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
3、配置conf/hive-site.xml
默认没有提供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
设置MySQL服务开机自动启动:
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;
7、Hive常见配置解释(未完)
hive.exec.mode.local .auto
默认:false
定义:自动进入本地模式
描述:设置为true可进入本地模式,便于调试
相关阅读:hive 终端产生的问题 (Failed to start database 'metastore_db', see the next exception for details.)