Mysql から HDFS にデータをインポートする必要があります。このリンクが役に立ちました http://devslogics.blogspot.com/2013/09/sqoop-java-client.html?showComment=1399588094791#c7484088811270691337。新しい HDFS の場所を作成しようとしていますが、アクセスが拒否されたため、sqoop ジョブが失敗します。私の質問は: デフォルトのユーザーを変更できますか? ここで、デフォルトのユーザーは sqoop2 です。目的のユーザーに設定できますか? コールバック メソッドを使用してジョブを送信しています
submission = client.startSubmission(jobId, new SubmissionCallback() {
@Override
public void updated(MSubmission submission) {
}
@Override
public void submitted(MSubmission submission) {
}
@Override
public void finished(MSubmission submission) {
Log.info("Job finished");
}
}
, pollTime);
ジョブの実行後にログで見つかったエラーは次のとおりです。
org.apache.hadoop.security.AccessControlException: Permission denied: user=sqoop2, access=WRITE, inode="/xxx/xxxxxx/xlocation":hdfs:supergroup:drwxrwxr-x
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:224)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:204)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:149)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:4846)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:4828)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkAncestorAccess(FSNamesystem.java:4802)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirsInternal(FSNamesystem.java:3130)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirsInt(FSNamesystem.java:3094)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:3075)
前もって感謝します