liboss

            夫为道者,譬如一人与万人战,挂铠出门,意或怯弱,或半路而退,或格斗而死,或得胜而还。沙门学道,应当坚持其心,精进勇锐,不畏前境,破灭众魔,而得道果!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

一、上传hive 0.11解压后的文件到linux

    1、用的版本是shark站点提供的,可能是针对shark修改了代码。

    2、追加mysql、oracle两个jdbc驱动包到lib目录下。

二、配置相关文件

    1、.bash_profile文件

export HIVE_HOME=/home/kituser/bigdata/hive-0.11.0-bin
export HIVE_CONF_DIR=$HIVE_HOME/conf
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
export PATH=$PATH:$HIVE_HOME/bin

    2、hive-site.xml

<property>
   <name>hive.metastore.local</name>
   <value>true</value>
   <description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description>
</property>

<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:mysql://172.16.19.139:3306/hive_11_201402</value>
</property>
 
<property>
   <name>javax.jdo.option.ConnectionDriverName</name>
   <value>com.mysql.jdbc.Driver</value>
</property>

<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
</property>

<property>
   <name>javax.jdo.option.ConnectionPassword</name>
   <value>root</value>
</property>

三、配置mysql数据库

    创建mysql数据库,字符集选择“latin1”,否则在使用hive过程中会报错。

四、较验hive

    1、启动hive:

hive

nohup hive --service hiveserver

    2、测试sql:

show tables;

create table shark_test01(id int, name string);

select * from shark_test01;

exit;

    查看hive创建的文件:hadoop fs -ls -R /user/hive

五、错误及解决

错误3:

MetaException(message:file:/user/hive/warehouse/xxxx is not a directory or unable to create one)

解决:

CLASSPATH中加入HADOOP_CONF_DIR

 

错误2:

Error in metadata: MetaException(message:Got exception: org.apache.hadoop.hive.metastore.api.MetaException javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes

解决:

只要修改MySQL中Hive元数据库MetaStore的字符集便可。

alter database dbname character set latin1;

 

错误1:

java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient。

解决:

在CLASSPATH中要有mysql的jdbc驱动。

posted on 2014-02-20 14:50  lam99v  阅读(423)  评论(0编辑  收藏  举报