1

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)

前もって感謝します

4

0 に答える 0