HIVE详细配置手册

 
1)下载hive

HIVE只需在Master节点中安装和配置即可。 
所以版本是hive-0.7.1,已安装的hadoop版本为hadoop-0.20.204.0,解压到master节点上的/usr/local/hadoop/contrib目录

解压

 

 

 

 

 
 
Java代码   收藏代码
  1. [root@master:hadoop]$ tar zxvf hive-0.7.1.tar.gz [root@master:hadoop]$mv hive-0.7.1 contrib/hive  
 

2)配置hive 
1.修改bin/hive-config.sh,添加jdk支持
 

 

 

 

 

 
 
Java代码   收藏代码
  1. export JAVA_HOME=/usr/local/jdk export HIVE_HOME=/usr/local/hadoop/contrib/hive export HADOOP_HOME=/usr/local/hadoop  
 

 2.在HDFS中创建目录,并且将其开放g+w模式

 

 

 

 

 
 
Java代码   收藏代码
  1. [root@master:hadoop]$bin/hadoop fs –mkdir /tmp [root@master:hadoop]$bin/hadoop fs –mkdir /user/hive/warehouse [root@master:hadoop]$bin/hadoop fs –chmod g+w /tmp [root@master:hadoop]$bin/hadoop fs –chmod g+w /user/hive/warehouse  
 

 经过试验,以上创建目录的步骤是可以省略的,Hive会自动创建需要的目录 。

浏览器输入http://master:50070 进行查看,点击Browser the filesystem进入,点击user 会看到hive链接,点击进去就能看到数据表。

3. 修改conf/hive-default.xml,这个是hive的关键配置,所以一般不要直接修改,拷贝hive-default.xml为hive-site.xml文件,将修改的内容在这个里面配置。本人为mysql数据库存储hive 的元数据,所以做如下修改:

 

 

Java代码   收藏代码
  1. <property>   
  2.     <name>javax.jdo.OPTION.ConnectionURL</name>    
  3.     <value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true</value>   
  4.     <description>JDBC connect string FOR a JDBC metastore</description>   
  5. </property>   
  6. <property>    
  7.     <name>javax.jdo.OPTION.ConnectionDriverName</name>    
  8.     <value>com.mysql.jdbc.Driver</value>   
  9.     <description>Driver class name FOR a JDBC metastore</description> </property>  
  10. <property>    
  11.     <name>javax.jdo.OPTION.ConnectionUserName</name>    
  12.     <value>hiveuser</value>   
  13.     <description>username TOUSE against metastore database</description>   
  14. </property>   
  15. <property>   
  16.     <name>javax.jdo.OPTION.ConnectionPassword</name>    
  17.     <value>hiveuser</value>   
  18.     <description>password TOUSE against metastore database</description>   
  19. </property>   

 

 

 

 

 

 4.下载mysql连接驱动包,否则会报错:error creating transactional connection。本文下载的为mysql-connector-java-5.0.8-bin.jar文件,并放到$HIVE_HOME/lib目录下,这时HIVE已经全部配置完了。

 

3)运行hive

 

Java代码   收藏代码
  1. [root@master:hadoop]$bin/hive   
  2.   
  3. Hive history file=/tmp/root/hive_job_log_root_201202181057_361521373.txt hive>  

  

 

 
 

 

 有时会报warning:please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.

 

 

 

 

 在Hive官方文档中重点提到了Hive的日志配置$HIVE_HOME/conf/hive-log4j.properties,虽然不是必要更改的配置文件,但合理的设置会对我们有一定的帮助,具体配置方法可见官方文档。

 

4)测试hive 
1.创建数据表 

 

 
 
Java代码   收藏代码
  1. hive> create table tb( id int, name string);   
Java代码   收藏代码
  1. OK Time taken: 5.112 seconds   
 
 
 

 默认是使用输入格式(input format)为text ,分割符号使用^A(ctrl-a). 
2.创建分区的数据表

 

 
 
 
Java代码   收藏代码
  1. hive> CREATE table tb2 (foo int, bar string) partitioned by (ds string);   
  2.   
  3.   
  4. OK Time taken: 31.243 seconds  
 

 

 

 包含2列和一个分区列(ds)。分区列是一个虚拟列。它不是数据自身的一部分,但是由它得到分区,详细数据加载到里面.

3.显示数据表

显示所有的数据表

 

 
 
 
Java代码   收藏代码
  1. show tables;  
 

  只显示以's'结尾的数据表

 

 
 
 
Java代码   收藏代码
  1. show tables '.*s';  
 

 查询数据

 

 
 
 
Java代码   收藏代码
  1. select * from tb;  
 

 4.从本地加载数据

 

 

 
 
 
Java代码   收藏代码
  1. hive> load data local inpath './files/tb.txt' overwrite into table tb;  
 

 这个文件位于hive的安装目录下 files/tb.txt

5.从hdfs加载数据

 

 

 

Java代码   收藏代码
  1. load data inpath '/input/files/tb.txt' overwrite into table tb;  

  

 

 去掉LOCAL ,就是从HDFS加载 
关键字OVERWRITE意味着,数据表已经存在的数据将被删除。省略OVERWRITE,数据文件将会添加到原有数据列表里 
删除数据表:drop table tb;

 

5)Heap size设置 
Hive默认-Xmx4096m 
修改hive/bin/ext/util/ execHiveCmd.sh 
HADOOP_HEAPSIZE=256

6)启动Hive Thrift Server

 

 
 
 
Java代码   收藏代码
  1. hive --service hiveserver   
 

 

默认使用10000端口,也可以使用HIVE_PORT来指定端口

 

 
 
 
Java代码   收藏代码
  1. [mars@master hive]$ bin/hive --service hiveserver --help usage HIVE_PORT=xxxx ./hive --service hiveserver HIVE_PORT : Specify the server port  
 

 7)启动hwi

 

 
 
 
Java代码   收藏代码
  1. bin/hive --service hwi   
 

 http://masterIp:9999/hwi即可访问网络接口

 

取消日志的方式:

 

 

 
 
 
Java代码   收藏代码
  1. nohup bin/hive --service hwi > /dev/null 2> /dev/null &  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值