前置条件:
Hadoop(HDFS)已安装
1、从官网上下载并解压hive:
http://hive.apache.org/
2、在/etc/profile 或者~/.bashrc中配置hive环境变量:
export HIVE_HOME=hive安装路径
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf
3、启用环境变量,即使环境变量生效:
source /etc/profile
4、创建配置文件
[root@hadoop01 conf]# cd apache-hive-1.0.0-bin/conf
[root@hadoop01 conf]# cp hive-default.xml.template hive-site.xml
[root@hadoop01 conf]# cp hive-env.sh.template hive-env.sh
[root@hadoop01 conf]# cp hive-exec-log4j.properties.template hive-execlog4j.
properties
[root@hadoop01 conf]# cp hive-log4j.properties.template hive-log4j.properties
5、修改配置文件$HIVE_HOME/conf/hive-env.sh:
export HADOOP_HOME=hadoop安装路径
export HIVE_CONF_DIR=hive安装路径/conf
6、修改配置文件$HIVE_HOME/conf/hive-site.xml.:
hive.metastore.warehouse.dir:默认为
/user/hive/warehouse. (
HDFS上的路径)。可以保持不变。
7、设置元数据数据库
默认情况下,hive使用嵌入式的derby数据库存储元数据。支持postgre SQL、或Mysql数据库来存储元数据。如果要更换存储元数据的数据库,需要配置以下参数值:
javax.jdo.option.ConnectionURL // 数据库URL
javax.jdo.option.ConnectionDriverName // JDBC 驱动名称
javax.jdo.option.ConnectionUserName // 数据库用户名
javax.jdo.option.ConnectionPassword // 数据库密码
下面是使用mysql来存储元数据的配置信息:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>******</value>
<description>password to use against metastore database</description>
</property>
</configuration>
确保 MySQL JDBC 驱动存在于 $HIVE_HOME/lib目录下。
8、在hdfs上创建warehouse文件夹,并授权
[root@hadoop01 conf]# hdfs dfs –mkdir /tmp
[root@hadoop01 conf]# hdfs dfs –mkdir /user/hive/warehouse
[root@hadoop01 conf]# hdfs dfs -chmod g+w /tmp
[root@hadoop01 conf]# hdfs dfs -chmod g+w /user/hive/warehouse
9、在终端输入hive命令,如果进入hive命令行界面,说明hive安装成功。
10、
新的命令行工具beeline:
基于SQLLine CLI的JDBC客户端。关于SQLLine的的知识,可以参考这个网站:http://sqlline.sourceforge.net/#manual。
Beeline工作模式有两种
,即本地嵌入模式和远程模式。本地嵌入模式情况下,它返回一个嵌入式的Hive(类似于Hive CLI)。而远程模式则是通过Thrift协议与某个单独的HiveServer2进程进行连接通信。
启动方式如下:
–Beeline 要与HiveServer2配合使用。
–启动HiverServer2
./hiveserver2
–启动Beeline
./beeline
--连接beeline
–beeline> !connect jdbc:hive2://localhost:10000
–默认用户名、密码不验证
配置文件hive-default.xml中的hive.server2.authentication默认为NONE
11、
beeline命令
的使用方式:
!<SQLLine command> --comments ;
(感叹号开始)
如 !quit !connect
改变输出格式:在启动beeline时增加参数 ./beeline --outputformat=vertical
注意区分beeline命令和HCatalog
sql语句:
!quit !connect ----beeline命令
show tables; select * from table2;---HCatalog DDL
sql语句 (分号结尾,注释使用双横线 --)