Ошибка Sqoop при попытке подключения к Mysql - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь импортировать данные таблицы из mysql, используя sqoop. Однако, когда я делаю это, я получаю ошибку рукопожатия. Многие онлайн-форумы указали, что проблема связана с файлом mysql conf. Однако я не вижу записи адреса привязки в файле conf. Вот ошибка, которую я вижу, когда пытаюсь выполнить команду sqoop list-databases --connect jdbc:mysql://localhost/hadoop --username hadoop -P. hadoop - это база данных, к которой я пытаюсь подключиться, и имя пользователя тоже - hadoop.

18/04/24 17:06:53 INFO manager.MySQLManager: Preparing to use a MySQL
streaming resultset.

18/04/24 17:06:53 INFO tool.CodeGenTool: Beginning code generation

18/04/24 17:06:53 ERROR manager.SqlManager: Error executing statement:
java.sql.SQLException: Communication link failure: Bad handshake

java.sql.SQLException: Communication link failure: Bad handshake
    at com.mysql.jdbc.MysqlIO.init(Unknown Source)
    at com.mysql.jdbc.Connection.connectionInit(Unknown Source)
    at com.mysql.jdbc.jdbc2.Connection.connectionInit(Unknown Source)
    at com.mysql.jdbc.Driver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:904)

1 Ответ

0 голосов
/ 25 апреля 2018

Вы не можете использовать «list-database», если вы уже упомянули базу данных на сервере i-e «--connect jdbc: mysql: // localhost / hadoop ». попробуйте использовать ту же команду вызова sqoop без имени базы данных «hadoop», затем вызовите «list-database». Также имейте в виду, что в вашем вызове sqoop используется драйвер, но сначала вы или ваш системный администратор должны поместить определенный драйвер в каталог sqoop в папку 'lib'. Надеюсь, это поможет!

...