1. 程式人生 > >sqoop因為連線資料寫了localhost而報錯

sqoop因為連線資料寫了localhost而報錯

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