在Hadoop上运行Java中的嵌入式pig时出现权限被拒绝错误

在Hadoop上运行Java中的嵌入式pig时出现权限被拒绝错误,java,permissions,hadoop,apache-pig,Java,Permissions,Hadoop,Apache Pig,上周,我使用用户“root”启动Hadoop的dfs&mapreduce并运行嵌入式Pig Java代码。运行良好。 本周,我想通过使用非root用户charlie来执行相同的任务。 在更改了几个目录的用户权限设置之后,现在我可以使用用户“charlie”启动Hadoop的dfs&mapreduce,并且没有错误。 然而,当我使用用户“charlie”运行嵌入式Pig Java代码时,它不断抱怨我在core stie.xml中设置为/opt/hdfs/tmp/的hadoop.tmp.dir的权限

上周,我使用用户“root”启动Hadoop的dfs&mapreduce并运行嵌入式Pig Java代码。运行良好。 本周,我想通过使用非root用户charlie来执行相同的任务。 在更改了几个目录的用户权限设置之后,现在我可以使用用户“charlie”启动Hadoop的dfs&mapreduce,并且没有错误。 然而,当我使用用户“charlie”运行嵌入式Pig Java代码时,它不断抱怨我在core stie.xml中设置为/opt/hdfs/tmp/hadoop.tmp.dir的权限:

java.io.FileNotFoundException:/opt/hdfs/tmp/mapred/local/localRunner/job\u local\u 0001.xml(权限被拒绝)

我已经检查了以下目录的权限,它们看起来都不错:

    bash-3.2$ ls -lt /opt/hdfs/tmp
    total 4
    drwxr-xr-x 3 charlie comusers 4096 Apr 16 19:30 mapred
    bash-3.2$ ls -lt /opt/hdfs/tmp/mapred
    total 4
    drwxr-xr-x 2 charlie comusers 4096 Apr 16 19:30 local
    bash-3.2$ ls -lt /opt/hdfs/tmp/mapred/local
    total 0
我需要一些关于我做错了什么的指导。我在谷歌上搜索了这些关键词,但什么也没找到。任何帮助都将不胜感激

我已附上清管器输出如下。希望这些信息会有帮助

12/04/16 19:31:28 INFO executionengine.HExecutionEngine: Connecting to hadoop file system at: hdfs://hadoop-namenode:9000
12/04/16 19:31:29 INFO pigstats.ScriptState: Pig features used in the script: HASH_JOIN,GROUP_BY,FILTER,CROSS
12/04/16 19:31:29 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
12/04/16 19:31:29 INFO mapReduceLayer.MRCompiler: File concatenation threshold: 100 optimistic? false
12/04/16 19:31:30 INFO mapReduceLayer.CombinerOptimizer: Choosing to move algebraic foreach to combiner
12/04/16 19:31:30 INFO mapReduceLayer.MRCompiler$LastInputStreamingOptimizer: Rewrite: POPackage->POForEach to POJoinPackage
12/04/16 19:31:30 INFO mapReduceLayer.MRCompiler$LastInputStreamingOptimizer: Rewrite: POPackage->POForEach to POJoinPackage
12/04/16 19:31:30 INFO mapReduceLayer.MRCompiler$LastInputStreamingOptimizer: Rewrite: POPackage->POForEach to POJoinPackage
12/04/16 19:31:30 INFO mapReduceLayer.MRCompiler$LastInputStreamingOptimizer: Rewrite: POPackage->POForEach to POJoinPackage
12/04/16 19:31:30 INFO mapReduceLayer.MRCompiler$LastInputStreamingOptimizer: Rewrite: POPackage->POForEach to POJoinPackage
12/04/16 19:31:30 INFO mapReduceLayer.MRCompiler$LastInputStreamingOptimizer: Rewrite: POPackage->POForEach to POJoinPackage
12/04/16 19:31:30 INFO mapReduceLayer.MultiQueryOptimizer: MR plan size before optimization: 11
12/04/16 19:31:30 INFO mapReduceLayer.MultiQueryOptimizer: Merged 0 out of total 3 MR operators.
12/04/16 19:31:30 INFO mapReduceLayer.MultiQueryOptimizer: Merged 0 out of total 3 MR operators.
12/04/16 19:31:30 INFO mapReduceLayer.MultiQueryOptimizer: Merged 0 map-reduce splittees.
12/04/16 19:31:30 INFO mapReduceLayer.MultiQueryOptimizer: Merged 0 out of total 3 MR operators.
12/04/16 19:31:30 INFO mapReduceLayer.MultiQueryOptimizer: Merged 0 out of total 2 MR operators.
12/04/16 19:31:30 INFO mapReduceLayer.MultiQueryOptimizer: Merged 0 out of total 2 MR operators.
12/04/16 19:31:30 INFO mapReduceLayer.MultiQueryOptimizer: Merged 1 map-reduce splittees.
12/04/16 19:31:30 INFO mapReduceLayer.MultiQueryOptimizer: Merged 1 out of total 3 MR operators.
12/04/16 19:31:30 INFO mapReduceLayer.MultiQueryOptimizer: MR plan size after optimization: 10
12/04/16 19:31:30 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
12/04/16 19:31:30 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
12/04/16 19:31:30 INFO pigstats.ScriptState: Pig script settings are added to the job
12/04/16 19:31:30 WARN pigstats.ScriptState: unable to read pigs manifest file
12/04/16 19:31:30 INFO mapReduceLayer.JobControlCompiler: mapred.job.reduce.markreset.buffer.percent is not set, set to default 0.3
12/04/16 19:31:35 INFO mapReduceLayer.JobControlCompiler: Setting up multi store job
12/04/16 19:31:35 INFO mapReduceLayer.JobControlCompiler: BytesPerReducer=1000000000 maxReducers=999 totalInputFileSize=957600
12/04/16 19:31:35 INFO mapReduceLayer.JobControlCompiler: Neither PARALLEL nor default parallelism is set for this job. Setting number of reducers to 1
12/04/16 19:31:35 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
12/04/16 19:31:35 INFO mapReduceLayer.MapReduceLauncher: 1 map-reduce job(s) waiting for submission.
12/04/16 19:31:35 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
12/04/16 19:31:35 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
12/04/16 19:31:35 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
12/04/16 19:31:35 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
12/04/16 19:31:35 INFO input.FileInputFormat: Total input paths to process : 1
12/04/16 19:31:35 INFO util.MapRedUtil: Total input paths to process : 1
12/04/16 19:31:35 INFO util.MapRedUtil: Total input paths (combined) to process : 1
12/04/16 19:31:36 INFO mapReduceLayer.MapReduceLauncher: 0% complete
12/04/16 19:31:36 INFO mapReduceLayer.MapReduceLauncher: job null has failed! Stop running all dependent jobs
12/04/16 19:31:36 INFO mapReduceLayer.MapReduceLauncher: 100% complete
12/04/16 19:31:36 WARN mapReduceLayer.Launcher: There is no log file to write to.
12/04/16 19:31:36 ERROR mapReduceLayer.Launcher: Backend error message during job submission
java.io.FileNotFoundException: /opt/hdfs/tmp/mapred/local/localRunner/job_local_0001.xml (Permission denied)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:180)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:176)
    at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:234)
    at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSOutputSummer.<init>(ChecksumFileSystem.java:335)
    at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:368)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:484)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:465)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:372)
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:208)
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:142)
    at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:1216)
    at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:1197)
    at org.apache.hadoop.mapred.LocalJobRunner$Job.<init>(LocalJobRunner.java:92)
    at org.apache.hadoop.mapred.LocalJobRunner.submitJob(LocalJobRunner.java:373)
    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:800)
    at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:730)
    at org.apache.hadoop.mapred.jobcontrol.Job.submit(Job.java:378)
    at org.apache.hadoop.mapred.jobcontrol.JobControl.startReadyJobs(JobControl.java:247)
    at org.apache.hadoop.mapred.jobcontrol.JobControl.run(JobControl.java:279)
    at java.lang.Thread.run(Thread.java:662)

12/04/16 19:31:36 ERROR pigstats.SimplePigStats: ERROR 2997: Unable to recreate exception from backend error: java.io.FileNotFoundException: /opt/hdfs/tmp/mapred/local/localRunner/job_local_0001.xml (Permission denied)
12/04/16 19:31:36 ERROR pigstats.PigStatsUtil: 1 map reduce job(s) failed!
12/04/16 19:31:36 WARN pigstats.ScriptState: unable to read pigs manifest file
12/04/16 19:31:36 INFO pigstats.SimplePigStats: Script Statistics: 

HadoopVersion   PigVersion  UserId  StartedAt   FinishedAt  Features
0.20.2      charlie 2012-04-16 19:31:30 2012-04-16 19:31:36 HASH_JOIN,GROUP_BY,FILTER,CROSS

Failed!

Failed Jobs:
JobId   Alias   Feature Message Outputs
N/A events,events1,grouped  MULTI_QUERY Message: java.io.FileNotFoundException: /opt/hdfs/tmp/mapred/local/localRunner/job_local_0001.xml (Permission denied)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:180)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:176)
    at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:234)
    at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSOutputSummer.<init>(ChecksumFileSystem.java:335)
    at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:368)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:484)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:465)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:372)
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:208)
    at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:142)
    at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:1216)
    at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:1197)
    at org.apache.hadoop.mapred.LocalJobRunner$Job.<init>(LocalJobRunner.java:92)
    at org.apache.hadoop.mapred.LocalJobRunner.submitJob(LocalJobRunner.java:373)
    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:800)
    at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:730)
    at org.apache.hadoop.mapred.jobcontrol.Job.submit(Job.java:378)
    at org.apache.hadoop.mapred.jobcontrol.JobControl.startReadyJobs(JobControl.java:247)
    at org.apache.hadoop.mapred.jobcontrol.JobControl.run(JobControl.java:279)
    at java.lang.Thread.run(Thread.java:662)


Input(s):
Failed to read data from "/grapevine/analysis/recommendation/input/article_based/all_grapevine_events.txt"

Output(s):

Counters:
Total records written : 0
Total bytes written : 0
Spillable Memory Manager spill count : 0
Total bags proactively spilled: 0
Total records proactively spilled: 0

Job DAG:
null    ->  null,null,
null    ->  null,
null    ->  null,
null    ->  null,null,
null    ->  null,
null    ->  null,null,
null    ->  null,
null    ->  null,
null    ->  null,
null


12/04/16 19:31:36 INFO mapReduceLayer.MapReduceLauncher: Failed!
12/04/16 19:31:28信息executionengine.HExecutionEngine:连接到hadoop文件系统的位置:hdfs://hadoop-namenode:9000
2016年4月12日19:31:29 INFO pigstats.ScriptState:脚本中使用的Pig功能:哈希加入、分组依据、筛选、交叉
2016年4月12日19:31:29信息jvm.JvmMetrics:使用processName=JobTracker,sessionId初始化jvm度量=
12/04/16 19:31:29信息mapReduceLayer.MRCompiler:文件连接阈值:100?假的
2016年4月12日19:31:30信息mapReduceLayer.CombinerOptimizer:选择将代数foreach移动到combiner
2016年4月12日19:31:30信息mapReduceLayer.MRCompiler$LastInputStreamingOptimizer:重写:POPackage->POForEach to POJoinPackage
2016年4月12日19:31:30信息mapReduceLayer.MRCompiler$LastInputStreamingOptimizer:重写:POPackage->POForEach to POJoinPackage
2016年4月12日19:31:30信息mapReduceLayer.MRCompiler$LastInputStreamingOptimizer:重写:POPackage->POForEach to POJoinPackage
2016年4月12日19:31:30信息mapReduceLayer.MRCompiler$LastInputStreamingOptimizer:重写:POPackage->POForEach to POJoinPackage
2016年4月12日19:31:30信息mapReduceLayer.MRCompiler$LastInputStreamingOptimizer:重写:POPackage->POForEach to POJoinPackage
2016年4月12日19:31:30信息mapReduceLayer.MRCompiler$LastInputStreamingOptimizer:重写:POPackage->POForEach to POJoinPackage
2016年4月12日19:31:30信息mapReduceLayer.MultiQueryOptimizer:优化前的MR计划大小:11
2016年4月12日19:31:30信息mapReduceLayer.MultiQueryOptimizer:合并了总共3个MR运算符中的0个。
2016年4月12日19:31:30信息mapReduceLayer.MultiQueryOptimizer:合并了总共3个MR运算符中的0个。
2016年4月12日19:31:30信息mapReduceLayer.MultiQueryOptimizer:合并了0个map reduce拆分器。
2016年4月12日19:31:30信息mapReduceLayer.MultiQueryOptimizer:合并了总共3个MR运算符中的0个。
2016年4月12日19:31:30信息mapReduceLayer.MultiQueryOptimizer:合并了总共2个MR运算符中的0个。
2016年4月12日19:31:30信息mapReduceLayer.MultiQueryOptimizer:合并了总共2个MR运算符中的0个。
12/04/16 19:31:30信息mapReduceLayer.MultiQueryOptimizer:合并1个map reduce拆分器。
2016年4月12日19:31:30信息mapReduceLayer.MultiQueryOptimizer:合并了总共3个MR运算符中的1个。
2016年4月12日19:31:30信息mapReduceLayer.MultiQueryOptimizer:优化后的MR计划大小:10
2016年4月12日19:31:30信息jvm.JvmMetrics:无法使用processName=JobTracker初始化jvm度量,sessionId=-已初始化
2016年4月12日19:31:30信息jvm.JvmMetrics:无法使用processName=JobTracker初始化jvm度量,sessionId=-已初始化
2016年4月12日19:31:30 INFO pigstats.SCRIPSTATE:将Pig脚本设置添加到作业中
12/04/16 19:31:30警告pigstats.ScriptState:无法读取pigs清单文件
2016年4月12日19:31:30信息mapReduceLayer.JobControlCompiler:mapred.job.reduce.markreset.buffer.percent未设置,设置为默认值0.3
12/04/16 19:31:35信息mapReduceLayer.JobControlCompiler:设置多存储作业
2016年4月12日19:31:35信息mapReduceLayer.JobControlCompiler:BytesPerReducer=100000000 maxReducers=999 totalInputFileSize=957600
12/04/16 19:31:35信息mapReduceLayer.JobControlCompiler:此作业未设置并行或默认并行。将减速器的数量设置为1
2016年4月12日19:31:35信息jvm.JvmMetrics:无法使用processName=JobTracker、sessionId=-初始化jvm度量
12/04/16 19:31:35信息mapReduceLayer.MapReduceLauncher:1个地图缩减作业正在等待提交。
12/04/16 19:31:35 WARN mapred.JobClient:使用GenericOptionsParser解析参数。应用程序应该为相同的应用程序实现工具。
2016年4月12日19:31:35信息jvm.JvmMetrics:无法使用processName=JobTracker、sessionId=-初始化jvm度量
2016年4月12日19:31:35信息jvm.JvmMetrics:无法使用processName=JobTracker、sessionId=-初始化jvm度量
2016年4月12日19:31:35信息jvm.JvmMetrics:无法使用processName=JobTracker、sessionId=-初始化jvm度量
2016年4月12日19:31:35信息输入。文件输入格式:要处理的总输入路径:1
2016年4月12日19:31:35 INFO util.MapRedUtil:进程的总输入路径:1
2016年4月12日19:31:35 INFO util.MapRedUtil:要处理的总输入路径(组合):1
2016年4月12日19:31:36信息mapReduceLayer.MapReduceLauncher:完成0%
12/04/16 19:31:36信息mapReduceLayer.MapReduceLauncher:作业null失败!停止运行所有相关作业
2016年4月12日19:31:36信息mapReduceLayer.MapReduceLauncher:100%完成
12/04/16 19:31:36警告mapReduceLayer。启动器:没有要写入的日志文件。
12/04/16 19:31:36错误mapReduceLayer.Launcher:作业提交期间的后端错误消息
java.io.FileNotFoundException:/opt/hdfs/tmp/mapred/local/localRunner/job\u local\u 0001.xml(权限被拒绝)
在java.io.FileOutputStream.open(本机方法)
位于java.io.FileOutputStream。(FileOutputStream.java:194)
位于org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOu