2017-01-23 7 views
0

У меня есть веб-приложение, доступное с использованием сервера WAMP, который запрашивает у пользователя свое текущее местоположение и получает его широту и долготу.Как загрузить данные в таблице в mysql в cloudera (запущен с использованием виртуального окна)

Эти значения широты и долготы сохраняются в таблице в базе данных mysql.

Теперь мне нужно работать с этими значениями широты и долготы, чтобы предоставить пользователю его ближайшее местоположение.

Так что я хочу импортировать эти значения широты и долготы в базу данных mysql в hadoop.

Я установил cloudera и запустил его с помощью виртуальной коробки. Теперь в командной строке Cloudera при попытке импортировать значения в тузд таблице с помощью запроса, как этого

$ bin/sqoop import --connect jdbc:mysql://192.168.56.1/testDb --table latlog --username root -P -m 1 

где TestDB моего имя базы данных и latlog моего имени таблицы

Это показывает ошибку, как это :

Ошибка выполнения договора: java.sql.SQLException: Доступ запрещен для пользователя 'корень' @ 'локальный' (не используя пароль: NO) java.sql.SQLException: Доступ запрещен для пользователя 'корень' @ «localhost» (с использованием пароля: ДА)

Как загрузить таблицу в базе данных mysql на нашей локальной машине в hadoop на виртуальной машине (cloudera)?

Я пробовал так много решений, предоставляемых в Интернете, но не смог его решить. Любая помощь будет принята с благодарностью ..

+0

имя пользователя и пароль, которые вы передаете командовать матч доцент. Пожалуйста, укажите правильную. –

+0

Да, я вижу это, но кажется, что вы входите в неправильный. –

+0

нет, потому что когда я попробовал те же учетные данные, чтобы открыть mysql в командной строке (admin), он сработал. Но когда я пытаюсь получить доступ к mysql из cloudera cmd, он дает указанную выше ошибку. –

ответ

0

Пошаговый процесс импорта данных из MySQL в Cloudera VM выглядит следующим образом:

  1. Скачать MySQL-разъем-Java-5.1.26-bin.jar и держать это в Рабочем столе Cloudera
  2. Скопируйте эту баночка файл в библиотеку sqoop с помощью команды

    Суды ф /home/cloudera/Desktop/mysql-connector-java-5.1.26-bin.j/USR/Lib/sqoop/lib

  3. Теперь измените текущую рабочую директорию sqoop используя команду cd /usr/lib/sqoop

  4. Открыть командную строку от имени администратора в вашей системе и знать ipv4 адрес вашей системы, выполнив команду ipconfig, например: 192.168.56.1

  5. Теперь в вашем MySQL выдает все разрешения, используя команду

    предоставить все привилегии на . от [email protected] ИДЕНТИФИЦИРОВАНО «root» с опцией GRANT;

  6. Теперь в командной строке Cloudera дать эту команду для импорта данных bin/sqoop import --connect jdbc:mysql://192.168.56.1/testDb --table latlog --username root -P -m 1
    где TestDB этого имя базы данных, latlog этого имени таблицы. Затем он запрашивает пароль. Введите root как пароль.Теперь данные импортируются из MySQL в Cloudera (Hadoop) с использованием Sqoop

  7. Чтобы просмотреть импортированные данные дают команду

    Hadoop ДФС -ls -R latlog

    и он показывает файл, в котором хранятся импортированные данные , Для того, чтобы просмотреть содержимое в этом файле дать команду

    Hadoop ДФС -cat latlog/часть-м-00000

    который печатает все данные в таблице latlog.

    Спасибо ..