似たようなエラーの人が多数見つかりましたが、Sqoopインポートエラー:アクセス権が拒否された場合でも、ユーザー 'root' @ 'localhost'のアクセスが拒否されました
私のコマンドライン:マップが、このエラーが原因後に開始および停止することも可能である方法
sqoop import --connect jdbc:mysql://localhost/databaseY --username=root -P --table tableX --target-dir /user/ec2-user/databaseY/tableX --as-textfile --fields-terminated-by "\t"
エラー
16/08/19 11:25:51 INFO mapreduce.Job: Job job_1471608424445_0028 running in uber mode : false
16/08/19 11:25:51 INFO mapreduce.Job: map 0% reduce 0%
16/08/19 11:25:58 INFO mapreduce.Job: map 25% reduce 0%
16/08/19 11:26:04 INFO mapreduce.Job: map 50% reduce 0%
16/08/19 11:26:06 INFO mapreduce.Job: Task Id : attempt_1471608424445_0028_m_000000_0, Status : FAILED
Error: java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
?
私は、この2つのコマンドラインとして必要なすべての権利が作業している持っているように見えます:rootアカウントを使用してMySQLに
sqoop list-databases --connect jdbc:mysql://localhost --username root -P
そして
を私は
select * from databaseY.tableX
を行うことができます - -EDIT ---
このコマンドラインは動作しています:
sqoop import --connect jdbc:mysql://localhost/databaseY --username root --password PASSWORD --query "select * from databaseY.tableX where number = 1474 AND \$CONDITIONS" --target-dir /tmp/ok --as-textfile --direct --split-by number
が、この1いいえ:次に
sqoop import --connect jdbc:mysql://localhost/databaseY --username root --password PASSWORD --query "select * from databaseY.tableX where 1 = 1 AND \$CONDITIONS" --target-dir /tmp/ok --as-textfile --direct --split-by number
、私は-m 1を使用している場合、私のsqoopのインポートが機能していることに気づきました。 -m1
これは、クラスタ構成が正しくないということですか?なぜ私の仕事は1つのマップタスクでしか動かないのですか?
----- ----- SOLUTION
これは単に、IPアドレスの問題でした。 IPアドレスでlocalhostを変更しましたが、今は正常に動作しています。
'--username = root'ではなく' --username root'で最初のコマンドを試してみることができますか? –
はい、試してみましたが、変更はありません。両方とも動かない – Selverine