PriviledgedActionException when running mapreduce job from servlet
Hi,
I'm trying out spring-data-hadoop and running it as a webapplication hosted on tomcat/ubuntu 12.04. I configured everything and when running the Job from my servlet I get the following exception
SEVERE: PriviledgedActionException as:tomcat7 cause:java.io.IOException: Failed to set permissions of path: /hadoop_ws/mapred/staging/tomcat71391258236/.staging to 0700
here hadoop.tmp.dir=/hadoop_ws
I know tomcat7 user doesn't have access to the above directory, but I'm not sure how to pass this exception.
I tried following, but with no luck:
1. started tomcat as the user that have permission to /hadoop_ws directory. I changed TOMCAT7_USER and TOMCAT7_GROUP in /etc/init.d/tomcat7
2. did hadoop dfs -chmod -R 777 /hadoop_ws
3. changed mapreduce.jobtracker.staging.root.dir to different folder that has 777 permission.
none of the above approach worked. All the examples I find in internet is either configuring the mapreduce jobs in xml as in the reference document, or the application is a standalone application which runs as logged-in user.
Any help highly appreciated.
Environment:
Apache Hadoop 1.0.4
spring-data-hadoop version 1.0.0.RC1
Tomcat 7
Ubuntu 12.04
Thanks.