hive2.*安装部署常见错误总结(连载)

异常一、java.lang.RuntimeException

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444)

        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:672)

        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)

        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

原因:因为没有正常启动Hive 的 Metastore Server服务进程。 
解决方法:启动Hive 的 Metastore Server服务进程,执行如下命令:

Starting Hive Metastore Server


异常二、

hive

就会报这个为初始化元数据

解决方法:初始化-- ./bin/schematool -initSchema -dbType derby


异常三、already exists

原因:多次执行初始化-- ./bin/schematool -initSchema -dbType derby

解决方法:删除/home/hadoop/cloud/apache-hive-2.1.1-bin目录下 rm -rf metastore_db/

再初始化:./bin/schematool -initSchema -dbType derby


异常四、MetaException not found in metastore

配置完成Mysql存储元数据信息,启动异常:Caused by: MetaException(message:Version information not found in metastore.

将hive-site.xml中的hive.metastore.schema.verification设置成false就可以了


异常五、schema ‘ROOT’ does not exits,有关not exits的有可能就是你的自身问题

查看你的hive-site.xml中你是否删除或者注释了一些配置项,还原即可。


异常六、URISyntaxExceptionRelative path in absolute URI

修改 io.tmpdir 路径

同时,要修改 hive-site.xml 中所有包含 ${system:java.io.tmpdir} 字段的 value 即路径(vim下 / 表示搜索,后面跟你的关键词,比如搜索 hello,则为 /hello , 再回车即可),你可以自己新建一个目录来替换它,例如 /home/Hadoop/cloud/apache-hive-2.1.1-bin/iotmp

mkdir /home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp  

chmod 777 /home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp  

把hive-site.xml 中所有包含 ${system:Java.io.tmpdir}替换成/home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp  

全局替换命令 先按Esc键  再同时按shift+:把以下替换命令粘贴按回车即可全局替换

%s#${system:java.io.tmpdir}#/home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp#g 


异常七、关于没有在hive/lib下面添加数据库驱动的jar包的错误

将jar包拉进去,尽可能将jar包的权限改为777

Chmod 777 mysql-connector-java-5.1.46.jar


异常八、拒绝连接数据库,如果连接本地数据库,开启本地数据库

Cmd 在winds命令行中输入,即可开启。

Net start mysql


异常九、将mysql中的数据导入到hive中报错:

这是因为sqoop需要一个hive的包,将hive/lib中的hive-common-2.*.jar拷贝到sqoop的lib目录中重新执行试试。


异常十、日期格式

mysql date日期格式,hive中字符串必须是yyyy-mm-dd, 我原来使用yyyymmdd,报下面的错误。

13/08/21 17:42:44 INFO mapred.JobClient: Task Id : attempt_201307251523_0079_m_000000_1, Status : FAILED
java.io.IOException: Can’t export data, please check task tracker logs
at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:112)
at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:39)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1149)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
Caused by: java.lang.IllegalArgumentException
at java.sql.Date.valueOf(Date.java:138)
at cps_activation.__loadFromFields(cps_activation.java:308)
at cps_activation.parse(cps_activation.java:255)
at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:83)
… 10 more

                   <总结未完>

原文地址:https://www.cnblogs.com/pigdata/p/10305594.html