sqoop因為連線資料寫了localhost而報錯
阿新 • • 發佈:2018-12-30
1.問題
最開始執行sqoop:
bin/sqoop import \
--connect jdbc:mysql://localhost:3306/sqoop \
--username root \
--password root \
--table emp --m 1
報錯
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'sqoop' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(
Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:42
因為會執行mapreduce,所以在每臺機器上執行的時候,有可能會遇到,每個機器會去自己的mysql上面拿資料,但是資料再mini4的mysql上,所以會出現由的map或者reduce會無法識別資料庫’sqoop’,因為他的自己的主機上面沒有sqoop資料庫。
2.改為:
bin/sqoop import \
--connect jdbc:mysql://mini4:3306/sqoop \
--username root \
--password root \
--table emp --m 1