hive配置只与mysql有关,会自动根据hadoop_home来找数据,所以不必配置相应的datanode和namenode,也不必管单机还是集群
解析SQL语法,组装成一个mapreduce job,首先要安装mysql,用来记录hive的元信息
hive : apache-hive-1.2.1-bin.tar.gz
mysql : MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar
jdbc : mysql-connector-java-5.1.39.jar
hivesql语句中的表和日志文件之间的映射关系 是通过mysql来实现的
配置
1.修改配置文件
在 /conf
目录下新建 conf/hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost: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>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>
2.添加jdbc
将mysql-connector-java-5.1.39
添加到/lib
里面
3.配置HADOOP_HOME 和 HIVE_HOME到环境变量中 /etc/profile
,source /etc/profile
export JAVA_HOME=/usr/local/share/java
export HADOOP_HOME=/usr/local/share/hadoop-2.8.1
export HIVE_HOME=/usr/local/share/apache-hive-1.2.1-bin
export PATH=:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
其他配置
vi .hiverc
文件中添加,每次启动hive都会读取用户目录下的.hiverc
文件
set hive.cli.print.header=true; # 打印表头
set hive.cli.print.current.db=true; # 打印当前数据库
hive使用方式1:启动
/bin/hive
启动后即可写sql
hive使用方式2:脚本运行
1.sh
脚本
将hive -e
命令写入sh
脚本中,执行shell就行
#!/bin/bash
hive -e "select * from default"
2..hql
将SQL
语句写入.hql
文件中,使用hive -f
命令执行
hive使用方式3:hive服务配置
可以在一台机器上配置hive服务,然后在其他机器上访问hive服务
1.启动hive服务,
bin/hiveserver2 -hiveconf hive.root.logger=DEBUG,console
前台启动
nohup bin/hiveserver2 1>/dev/null 2>&1 &
后台启动
2.启动hive客户端
1)先启动beeline,再登录
bin/beeline
!connect jdbc:hive2//mini1:10000
输入连接命令
2)启动+登录
bin/beeline -u jdbc:hive2://mini1:10000 -n root