首先了解下Hive,Hive在大数据处理中是一个必不可少的工具, 它是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。本质上就是将SQL语句转换为MapReduce程序,一些简单的MapReduce完全没必要去写,直接使用Hive一条SQL就搞定,而且这也给一些不会Java的程序猿带来极大的方便,好了,废话不多说,开始搭建Hive开发环境。Hive的开发环境必须搭建在Hadoop的集群基础之上,如果还没有Hadoop集群,请参考:如何搭建一个高可用的Hadoop集群选择一台datanode的机器作为Hive的安装机器,还需要准备一台机器作为MySql安装的机器,当然两个装在一个机器上也可以,下载Hive的安装包apache-hive-1.2.0-bin.tar.gz,解压,进行配置。别看配置文件一大堆,其实只需要修改部分即可。cp hive-default.xml.template hive-site.xml修改hive-site.xml(删除所有内容,只留一个
)添加如下内容:
javax.jdo.option.ConnectionURL
jdbc:mysql://node4:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
root
username to use against metastore database
javax.jdo.option.ConnectionPassword
1234
password to use against metastore database
配置完成后,下载mysql-connector-java-5.1.34-bin.jar这个jar包,并扔到Hive的lib目录下面。在另一台机器(node4)上安装mysql,使用yum安装即可,不会的面壁去,安装后开启mysql服务service mysqld start在加入到开机启动chkconfig mysqld on执行命令mysql_secure_installation设置数据库用户名密码分别为root、1234并支持外部访问。进入mysql,输入命令GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123123' WITH GRANT OPTION;
FLUSH PRIVILEGES;不懂grant命令的看以参考:MySQL的Grant命令OK,mysql这边也搞定,启动Hadoop集群,然后进入node3(Hive安装的机器)配置环境变量后,执行hive命令,进入HiveShell。其实不实用Mysql也可以,但是这样的话hive命令在同一个目录的情况下只能被一个人执行,而且新建的表也是保存在本地,不会被共享,如果使用mysql来保存元数据,那么可以实现多人同时访问hive并且数据共享。未经允许不得转载:李阳博客»基于Hadoop集群搭建Hive开发环境