说明:目前Hive的最新版本是0.6.0,但是不支持hadoop-0.21.0,所以需要安装hadoop-0.20.2或者以下版本. 我使用的是hadoop0.20.2+hive 0.6.0
----------------------------------------------------------------------
Hive的必要配置非常简单:
1.将hive解压到一个目录下,修改.bashrc文件设置环境变量HADOOP_HOME,即添加:export HADOOP_HOME=/home/cloud/hadoop-0.20.2
2.在hdfs上创建几个目录并修改权限:
bin/hadoop dfs –mkdir /tmp
bin/hadoop dfs –mkdir /user/hive/warehouse
bin/hadoop dfs –chmod g+w /tmp
bin/hadoop dfs –chmod g+w /user/hive/warehouse
3.这个时候启动hadoop, 再使用bin/hive就可以进入hive的CLI客户端了:
[root@CLC hive]# bin/hive
Hive history file=/tmp/root/hive_job_log_root_201102082332_619334178.txt
hive>
你可以试着创建一个hive table, 到这里,hive的配置就ok了。需要注意的是:Hive的核心配置文件$HIVE_HOME/conf/hive-default.xml中有一些对Hive关键配置,一般我们不需要对它进行改动,如果你需要更改这个关键配置,不要直接更改hive-default.xml这个文件,正确做法是在同一目录下新建hive-site.xml文件,修改它的属性配置以覆盖原默认配置,配置格式与hive-default.xml一样。
-------------------------------------------------------------------------------------------------------------
遇到的问题:
[root@CLC hive]# bin/hive
Invalid maximum heap size: -Xmx4096m
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.
解决方法:
~/hive-0.6.0/bin/ext/util$ vi execHiveCmd.sh
修改HADOOP_HEAPSIZE=4096为HADOOP_HEAPSIZE=256
[root@CLC hive]# bin/hive
[Fatal Error] hive-site.xml:1:1: Premature end of file.
Exception in thread "main" java.lang.RuntimeException: org.xml.sax.SAXParseExcep tion: Premature end of file.
at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:
原因: 因为创建了一个空的hive-site.xml
解决办法: mv hive-site.xml hive-site.xml.bak
今天在安装hadoop的时候jobtracker死活启动不起来,查看jobtracker的日志:address alreday in use…..原来是和eucalyptus的9001端口冲突了,于是修.改mapred-site.xml中jobtracker的端口号,ok.
-----------------------------------------------------------------------------------------------------------------------------
参考:
http://wiki.apache.org/hadoop/Hive/GettingStarted
http://wiki.apache.org/hadoop/Hive/LanguageManual