Hi Jeff,

I transferred the hadoop conf files to the pig/conf location but still i get 
the same error.

Does the issue is with the configuration files or with the hdfs files system ? 

Can test the connection to hdfs(localhost/127.0.0.1:9001) in some way ? 

Steps I did :

1. I have formatted initially my local file system using the ./hadoop namenode 
-format command. I believe this mounts the local file system to HDFS.
2. Then I configured the hadoop conf files and started ./start-all script.
3. Started Pig with a custom pig script which should read hdfs as I passed the 
HADOOP_CONF_DIR as parameter.
The command was java -cp $PIGDIR/pig.jar:$HADOOP_CONF_DIR org.apache.pig.Main 
script1-hadoop.pig

Please let me know if these step miss something ?

Thanks,
Rahul


On Aug 26, 2010, at 6:33 PM, Jeff Zhang wrote:

> Try to put the hadoop xml configuration file to pig/conf folder
> 
> 
> 
> On Thu, Aug 26, 2010 at 6:22 PM, rahul <rmalv...@apple.com> wrote:
>> Hi Jeff,
>> 
>> I have set the hadoop conf in class path by setting $HADOOP_CONF_DIR 
>> variable.
>> 
>> But I have both Pig and hadoop running at the same machine, so localhost 
>> should not make a difference.
>> 
>> So I have used all the default config setting for the core-site.xml, 
>> hdfs-site.xml, mapred-site.xml, as per the hadoop tutorial.
>> 
>> Please let me know if my understanding is correct ?
>> 
>> I am attaching the conf files as well :
>> hdfs-site.xml:
>> 
>> <?xml version="1.0"?>
>> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
>> 
>> <!-- Put site-specific property overrides in this file. -->
>> 
>> <configuration>
>> <property>
>>  <name>fs.default.name</name>
>>  <value>hdfs://localhost:9000</value>
>>  <description>The name of the default file system.  A URI whose
>>  scheme and authority determine the FileSystem implementation.  The
>>  uri's scheme determines the config property (fs.SCHEME.impl) naming
>>  the FileSystem implementation class.  The uri's authority is used to
>>  determine the host, port, etc. for a filesystem.</description>
>> </property>
>> 
>> <property>
>>  <name>dfs.replication</name>
>>  <value>1</value>
>>  <description>Default block replication.
>>  The actual number of replications can be specified when the file is created.
>>  The default is used if replication is not specified in create time.
>>  </description>
>> </property>
>> 
>> </configuration>
>> 
>> core-site.xml
>> <?xml version="1.0"?>
>> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
>> 
>> <!-- Put site-specific property overrides in this file. -->
>> 
>> <configuration>
>> <property>
>>  <name>hadoop.tmp.dir</name>
>>  
>> <value>/Users/rahulmalviya/Documents/Hadoop/hadoop-0.21.0/hadoop-${user.name}</value>
>>  <description>A base for other temporary directories.</description>
>> </property>
>> </configuration>
>> 
>> mapred-site.xml
>> <?xml version="1.0"?>
>> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
>> 
>> <!-- Put site-specific property overrides in this file. -->
>> 
>> <configuration>
>> <property>
>>  <name>mapred.job.tracker</name>
>>  <value>localhost:9001</value>
>>  <description>The host and port that the MapReduce job tracker runs
>>  at. If "local", then jobs are run in-process as a single map
>>  and reduce task.
>>  </description>
>> </property>
>> 
>> <property>
>> <name>mapred.tasktracker.tasks.maximum</name>
>> <value>8</value>
>> <description>The maximum number of tasks that will be run simultaneously by a
>> a task tracker
>> </description>
>> </property>
>> </configuration>
>> 
>> Please let me know if there is a issue in my configurations ? Any input is 
>> valuable for me.
>> 
>> Thanks,
>> Rahul
>> 
>> On Aug 26, 2010, at 6:10 PM, Jeff Zhang wrote:
>> 
>>> Do you put the hadoop conf on classpath ? It seems you are still using
>>> local file system but conncect Hadoop's JobTracker.
>>> Make sure you set the correct configuration in core-site.xml
>>> hdfs-site.xml, mapred-site.xml, and put them on classpath.
>>> 
>>> 
>>> 
>>> On Thu, Aug 26, 2010 at 5:32 PM, rahul <rmalv...@apple.com> wrote:
>>>> Hi ,
>>>> 
>>>> I am trying to integrate Pig with Hadoop for processing of jobs.
>>>> 
>>>> I am able to run Pig in local mode and Hadoop with streaming api perfectly.
>>>> 
>>>> But when I try to run Pig with Hadoop I get follwong Error:
>>>> 
>>>> Pig Stack Trace
>>>> ---------------
>>>> ERROR 2116: Unexpected error. Could not validate the output specification 
>>>> for: file:///Users/rahulmalviya/Documents/Pig/dev/main_merged_hdp_out
>>>> 
>>>> org.apache.pig.impl.plan.PlanValidationException: ERROR 0: An unexpected 
>>>> exception caused the validation to stop
>>>>        at 
>>>> org.apache.pig.impl.plan.PlanValidator.validate(PlanValidator.java:56)
>>>>        at 
>>>> org.apache.pig.impl.logicalLayer.validators.InputOutputFileValidator.validate(InputOutputFileValidator.java:49)
>>>>        at 
>>>> org.apache.pig.impl.logicalLayer.validators.InputOutputFileValidator.validate(InputOutputFileValidator.java:37)
>>>>        at 
>>>> org.apache.pig.impl.logicalLayer.validators.LogicalPlanValidationExecutor.validate(LogicalPlanValidationExecutor.java:89)
>>>>        at org.apache.pig.PigServer.validate(PigServer.java:930)
>>>>        at org.apache.pig.PigServer.compileLp(PigServer.java:910)
>>>>        at org.apache.pig.PigServer.compileLp(PigServer.java:871)
>>>>        at org.apache.pig.PigServer.compileLp(PigServer.java:852)
>>>>        at org.apache.pig.PigServer.execute(PigServer.java:816)
>>>>        at org.apache.pig.PigServer.access$100(PigServer.java:105)
>>>>        at org.apache.pig.PigServer$Graph.execute(PigServer.java:1080)
>>>>        at org.apache.pig.PigServer.executeBatch(PigServer.java:288)
>>>>        at 
>>>> org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:109)
>>>>        at 
>>>> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166)
>>>>        at 
>>>> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:138)
>>>>        at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
>>>>        at org.apache.pig.Main.main(Main.java:391)
>>>> Caused by: org.apache.pig.impl.plan.PlanValidationException: ERROR 2116: 
>>>> Unexpected error. Could not validate the output specification for: 
>>>> file:///Users/rahulmalviya/Documents/Pig/dev/main_merged_hdp_out
>>>>        at 
>>>> org.apache.pig.impl.logicalLayer.validators.InputOutputFileVisitor.visit(InputOutputFileVisitor.java:93)
>>>>        at org.apache.pig.impl.logicalLayer.LOStore.visit(LOStore.java:140)
>>>>        at org.apache.pig.impl.logicalLayer.LOStore.visit(LOStore.java:37)
>>>>        at 
>>>> org.apache.pig.impl.plan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:67)
>>>>        at 
>>>> org.apache.pig.impl.plan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:69)
>>>>        at 
>>>> org.apache.pig.impl.plan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:69)
>>>>        at 
>>>> org.apache.pig.impl.plan.DepthFirstWalker.walk(DepthFirstWalker.java:50)
>>>>        at org.apache.pig.impl.plan.PlanVisitor.visit(PlanVisitor.java:51)
>>>>        at 
>>>> org.apache.pig.impl.plan.PlanValidator.validate(PlanValidator.java:50)
>>>>        ... 16 more
>>>> Caused by: java.io.IOException: Call to localhost/127.0.0.1:9001 failed on 
>>>> local exception: java.io.EOFException
>>>>        at org.apache.hadoop.ipc.Client.wrapException(Client.java:775)
>>>>        at org.apache.hadoop.ipc.Client.call(Client.java:743)
>>>>        at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:220)
>>>>        at org.apache.hadoop.mapred.$Proxy0.getProtocolVersion(Unknown 
>>>> Source)
>>>>        at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:359)
>>>>        at 
>>>> org.apache.hadoop.mapred.JobClient.createRPCProxy(JobClient.java:429)
>>>>        at org.apache.hadoop.mapred.JobClient.init(JobClient.java:423)
>>>>        at org.apache.hadoop.mapred.JobClient.<init>(JobClient.java:410)
>>>>        at org.apache.hadoop.mapreduce.Job.<init>(Job.java:50)
>>>>        at 
>>>> org.apache.pig.impl.logicalLayer.validators.InputOutputFileVisitor.visit(InputOutputFileVisitor.java:89)
>>>>        ... 24 more
>>>> Caused by: java.io.EOFException
>>>>        at java.io.DataInputStream.readInt(DataInputStream.java:375)
>>>>        at 
>>>> org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:501)
>>>>        at org.apache.hadoop.ipc.Client$Connection.run(Client.java:446)
>>>> ================================================================================
>>>> 
>>>> Did anyone got the same error. I think it related to connection between 
>>>> pig and hadoop.
>>>> 
>>>> Can someone tell me how to connect Pig and hadoop.
>>>> 
>>>> Thanks.
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Best Regards
>>> 
>>> Jeff Zhang
>> 
>> 
> 
> 
> 
> -- 
> Best Regards
> 
> Jeff Zhang

Reply via email to