sqoop從mysql導入hive的一些問題
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的一些問題