一、Hive简述
Hive:基于Hadoop文件系统上的数据仓库架构。Hive提供了一系列工具用于数据提取、转化、加载,它是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive还定义了类SQL语言—Hive QL,Hive QL允许用户进行SQL相似的操作。
二、Hive配置:基于Mysql
默认情况下,Hive metadata数据保存在内嵌的Derby数据库,只能实现一个会话连接,一般适合于简单测试。但为了支持多用户多会话功能,我们使用MySQL作为元数据库,Hive内部也对MySQL提供了很好的支持。
1、配置mysql:
sudo apt-get install mysql-server //Mysql server
sudo apt-get install mysql-client //Mysql client
sudo apt-get install libmysqlclient-dev //Mysql dev
sudo netstat -tap | grep mysql //Is it success?
sudo mysql -u root -p //Login mysql
……
另外,在Hive安装成功运行的情况下,可以查看MySQL数据库中的一部分Hive元数据格式:
2、创建hive用户,并赋予相应权限
mysql -r root -p
mysql> create user ‘hive’ identified by ‘hive’;
mysql> grant all privileges on *.* to ‘hive’ with grant option;
mysql> flush privileges;
……
3、hive下载配置
下载hive:http://apache.fayea.com/hive/hive-1.2.2/
解压hive到:/usr/hadoop/
重命名hive:hive-1.2.2
下载Mysql connector java:https://dev.mysql.com/downloads/connector/j/
解压Mysql connector java到:/usr/hadoop/hive-1.2.2/lib
4、hive环境变量
sudo vim ~/.bashrc
其中:/usr/hadoop/hive-1.2.2为hive安装目录
5、hive conf配置
(1)、hive-site.xml:若无这个文件,新建一个就好,配置如下:
hive.metastore.warehouse.dir:Hive在HDFS上数据目录
hive.exec.scratchdir:Hive在HDFS上临时目录
javax.jdo.option.ConnectionURL:元数据连接字串
java.jdo.option.ConnectionDriverName:DB连接引擎
(2)、配置hive环境文件hive-env.sh:sudo cp hive-env.sh.template hive-env.sh
(3)、配置hive日志文件hive-log4j.properties:sudo cp hive-log4j.properties.template hive-log4j.properties
7、在hadoop分布式集群正常运行的情况下
$sudo start-all.sh
$schematool -initSchema -dbType mysql //初始化元数据
$hive
hive> show tables
如出现错误:org.apache.hadoop.hive.metastore.HiveMetaException:Failed to load driver,则可能是缺少JDBC驱动,添加mysql-connectot-java-5.1.42-bin.jar
8、hive的web配置(HWI是Hive Web Interface的简称,是hive cli的一个web替换方案)
(1)、安装ANT:sudo apt-get install ant
(2)、官网下载hive对应版本(我这里是1.2.2)的src文件,解压进入src文件下src/hwi,使用命令将web打包成war格式压缩包:
tar -zxvf hive-1.2.2-src.tar.gz
cd hive-1.2.2-src/hwi
jar cfM hive-hwi-1.2.2.war -C web ./
(3)、将*.war压缩包拷贝到/usr/hadoop/hive-1.2.2/lib目录下(我的hive安装目录)
(4)、配置hive.site.xml,如下:
(5)、启动hwi服务:hive --service hwi
若出现错误:NO JSP Support for /hwi, did not find org.apache.jasper.servlet.JspServlet
—>拷贝jdk/lib/tools.jar到/hive-1.2.2/lib
—>拷贝hbase/lib/jasper-compiler-5.5.23.jar到/hive-1.2.2/lib
—>拷贝hbase/lib/jasper-runtime-5.5.23.jar到/hive-1.2.2/lib
—>拷贝hbase/lib/common-el-1.0.jar
注:首先在系统中查找*.jar,找不到的情况下才去网上下载
(6)、在浏览器输入:http://192.168.0.100:9999/hwi