1. 程式人生 > >sqoop從mysql導入hive的一些問題

sqoop從mysql導入hive的一些問題

cat strong sin form org catalog comm error stp

1.錯誤:Sqoop:Import failed: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf

解決方法1:

將mysql中的數據導入到hive中報錯:

ERROR tool.ImportTool:Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf

這是因為sqoop需要一個hive的包,將hive/lib中的hive-common-2.3.3.jar拷貝到sqoop的lib目錄中,重新執行試試。

解決方法2:

在/etc/profile中添加下面一行

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*

2.錯誤:main ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")

解決方法:

Just add the following lines to your java.policy file unter <JRE_HOME>/lib/security.
grant {
  permission javax.management.MBeanTrustPermission "register";
};

3.錯誤:ERROR exec.DDLTask: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectMapper.readerFor(Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/ObjectReader;

解決犯法:jackson jar包版本沖突,將sqoop/lib下的jackson*.jar備份,將hive/lib包下的jackson*.jar包拷貝過來

4.錯誤:Required table missing : "DBS" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.schema.autoCreateTables"

解決方法:

到hive-site.xml中找到datanucleus.schema.autoCreateAll 把value改成true

參考:http://blog.itpub.net/31506529/viewspace-2213877/

sqoop從mysql導入hive的一些問題