Доступ запрещен для пользователя 'user' @ 'localhost' (используя пароль: YES) в Apache Nifi - PullRequest
0 голосов
/ 20 января 2020

Я пытаюсь использовать Apache Nifi для загрузки твитов и их сохранения в базе данных mem sql. Загрузка и обработка твитов работает отлично, но когда я перехожу к шагам вставки в mem sql, точнее, когда поток переходит к процессору ConvertJSONTo Sql, он выдает ошибку.

CET ERROR

Это мои настройки для JDB C Пул соединений:

Connection details

Mem sql работает на Docker, чей кластер я инициализировал так:

docker run -i --init `
    --name memsql-ciab `
    -e LICENSE_KEY=$env:LICENSE_KEY `
    -p 3308:3306 -p 8090:8080 `
    memsql/cluster-in-a-box

Порт 3306 и 8080 уже заняты. Я также удостоверился, что myuser имеет все разрешения, как для хоста 'localhost', так и '127.0.0.1', как показано в грантах. grants

Когда я соединяюсь с Windows Powershell или на localhost: 8090, оба входа в систему работают для 'myuser' с паролем 'pass'. Также оба логина имеют разрешения для базы данных «twitterDB». Что мне показалось странным, так это то, что в моем кластере Docker у меня есть база данных mem sql, в которой есть пользователи таблиц, но я могу только выполнить:

describe memsql.users;

Все остальное выдает ошибку 'ОШИБКА 1706 ( HY000): функция «имена таблиц, конфликтующие с таблицами метаданных с одинаковыми именами» не поддерживается Mem SQL. '. Кроме того, в моем пуле соединений JDB C в Nifi, если я оставляю имя пользователя и пароль пустыми, ConvertJSONTo Sql выдает другую ошибку, которая говорит, что у пользователя '@' localhost 'нет прав доступа к базе данных' twitterDB '. *.

Я уже некоторое время борюсь с этой проблемой, и я не знаю, что еще можно попробовать, поэтому любая помощь будет великолепна.

1 Ответ

1 голос
/ 21 января 2020

Давайте разделим проблемы неудачной аутентификации и неудачной вставки. Попробуйте изменить Apache Nifi, чтобы использовать пользователя root (без пароля), и посмотрите, удастся ли вставить. Также попробуйте вставить данные, используя sql команды из Mem SQL Studio (localhost:8090 в вашей настройке) или из powershell. Попробуйте это с каждым логином: root (без пароля) и как myuser. Эти тесты должны помочь нам узнать больше.

Вы не указали настройку Docker, поэтому, предполагая Docker Рабочий стол или другой локальный Docker, попробуйте увеличить ЦП до 4 и ОЗУ до 4 или 8 гигабайт. , Я считаю, что значения по умолчанию для разработчиков часто меньше, чем те, которые хорошо работают с cluster-in-a-box.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...