Sqoop import MySQL to Hue

User avatar
Andreika
Уже с Приветом
Posts: 1084
Joined: 29 Apr 1999 09:01
Location: Страна Травокуров...

Sqoop import MySQL to Hue

Post by Andreika »

Может тут есть знатоки данного вопроса, помогите разрешить проблему импорта - бьюсь уже почти неделю дома - не получается.

Собрал дома кластер для учебы по Бигдата на линуксе CentOS. 4 машины - мастер и 3 славе. Все собиралось на Cloudera 5.16.

MySQL первоначально установил 8.0.21, похже переустановил на версию 5.6 как рекомендовано на Cloudere, но результат не поменялся.

JDBC connector - mysql-connector-java-5.1.49-bin.jar, при подключении ошибка Error: java.lang.RuntimeException: java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Если коннекторы без bin, просто .jar выдается ошибка Unsupported major.minor version 52.0

Java 1.7.0 - Cloudera работает на данной версии, в ОС установлена - Java version "1.7.0_261"

подключение: sqoop import --connect jdbc:mysql://127.0.0.1:3306/Corp --table pet --username skottking -P -m 1;

На HDFS и в HUE виже, что под данным пользователем создается директория с именем таблицы и на этом все. Возможно, директорию создает само соединение. Просто не знаю, в какую сторону копать.
В Гугле перелопатил мульон советов - ничего не помогло. Возможно все очень просто и легко, на уровне пермишинсов на таблицу или папку или пароле. Но вроде все проверял и пересоздавал , пока результатов нет :angry:
Купил скальпель. Теперь я хирург.
iDesperado
Уже с Приветом
Posts: 1349
Joined: 28 Nov 2008 17:50

Re: Sqoop import MySQL to Hue

Post by iDesperado »

выглядит что проблема в 127.0.0.1. sqoop это мап-редюс, мастер раскидывает задачи на дата ноды, там они коннектятся к локалхосту 127.0.0.1 и естественно никакого mysql не находят. Communications link failure ...
User avatar
Andreika
Уже с Приветом
Posts: 1084
Joined: 29 Apr 1999 09:01
Location: Страна Травокуров...

Re: Sqoop import MySQL to Hue

Post by Andreika »

Большое спасибо - все получилось. :good: дассс... и опыт сын ошибок трудных :D

Стал пересматривать логи в джоб хистори и нашел то, о чем вы пишите:
Caused by: java.lang.RuntimeException: java.sql.SQLException: null, message from server: "Host 'srv-cm5slave02.local' is not allowed to connect to this MySQL server"

Изменил подключение на
sqoop import --connect jdbc:mysql://170.168.1.91:3306/Corp --table pet --username skottking -P -m 1;
В my.cnf добавил строчку bind-address=0.0.0.0. В Hadoop jоb history показано, что jobs выполняется на разных датах, куда назначит мастер - и соединение происходит с разных серверов.

Не знаю пока, насколько правильно добавление 0.0.0.0 с точки зрения безопасности, возможно, нужно указывать только адреса конкретных датнодов или в mysql давать гранты на уровне баз.
Купил скальпель. Теперь я хирург.
iDesperado
Уже с Приветом
Posts: 1349
Joined: 28 Nov 2008 17:50

Re: Sqoop import MySQL to Hue

Post by iDesperado »

я не большой спец по mysql, но кажется там думано юзеру давать тогда с любого ip коннектится. что-то типа такого
GRANT SELECT ON *.* TO 'skottking'@'%'

Return to “Вопросы и новости IT”