Support Questions

Find answers, ask questions, and share your expertise

TezSessionManager - Exception while waiting for Tez client to be ready

avatar
Rising Star

Hi folks,

I'm following HDP Hello World tutorial. In Lab 3 when I execute the PIG script by checking "Execute on Tez" checkbox I got the following error. I think I have a configuration issue.

Have an idea?

I've attached the log file.

Thanks

Özgür

[PigTezLauncher-0] ERROR org.apache.pig.backend.hadoop.executionengine.tez.TezSessionManager - Exception while waiting for Tez client to be ready 
 org.apache.tez.dag.api.TezUncheckedException: Invalid configuration of tez jars, tez.lib.uris is not defined in the configuration 
 	at org.apache.tez.client.TezClientUtils.setupTezJarsLocalResources(TezClientUtils.java:168) 
 	at org.apache.tez.client.TezClient.getTezJarResources(TezClient.java:841) 
 	at org.apache.tez.client.TezClient.start(TezClient.java:380) 
 	at org.apache.pig.backend.hadoop.executionengine.tez.TezSessionManager.createSession(TezSessionManager.java:96) 
 	at org.apache.pig.backend.hadoop.executionengine.tez.TezSessionManager.getClient(TezSessionManager.java:211) 
 	at org.apache.pig.backend.hadoop.executionengine.tez.TezJob.run(TezJob.java:158) 
 	at org.apache.pig.backend.hadoop.executionengine.tez.TezLauncher$1.run(TezLauncher.java:195) 
 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
 	at java.lang.Thread.run(Thread.java:745) 
 2016-01-25 11:06:57,500 [PigTezLauncher-0] ERROR org.apache.pig.backend.hadoop.executionengine.tez.TezJob - Cannot submit DAG 

tezerror.txt

33 REPLIES 33

avatar
Master Guru

wrote as an answer because of the character limit:

yes first go into ambari or perhaps better the OS and search for the tez.lib.uris property in the properties file

less /etc/tez/conf/tez-site.xml

You should find something like this:

<value>/hdp/apps/${hdp.version}/tez/tez.tar.gz</value>

if this is not available you may have a different problem. ( Tez client not installed some configuration issue)

You can then check if these files exist in HDFS with

hadoop fs -ls /hdp/apps/

find the version number for example 2.3.2.0-2950

[root@sandbox ~]# hadoop fs -ls /hdp/apps/2.3.2.0-2950/tez

Found 1 items

-r--r--r-- 3 hdfs hadoop 56926645 2015-10-27 14:40 /hdp/apps/2.3.2.0-2950/tez/tez.tar.gz

You can check if this file is corrupted somehow with

hadoop fs -get /hdp/apps/2.3.2.0-2950/tez/tez.tar.gz

You can then try to untar it to see if that works.

If the file doesn't exist in HDFS you can find it in the installation directory of HDP (/usr/hdp/2.3.2.0-2950/tez/lib/tez.tar.gz on the local filesystem ) You could then put it into hdfs

avatar
Rising Star

Thanks @Benjamin Leonhardi

ssh-tez.png I get the tar, and untar it without an error.

Thanks @Neeraj Sabharwal I have that setting.

tez-ok.png

avatar
Rising Star

The last row gives the error, If it's commented out, no error.

It must be about hive configuration. I'm using mysql jdbc jars. I'll check for it...

a = LOAD 'geolocation' using org.apache.hive.hcatalog.pig.HCatLoader();

b = filter a by event != 'normal';

c = foreach b generate driverid, event, (int) '1' as occurance;

d = group c by driverid;

e = foreach d generate group as driverid, SUM(c.occurance) as t_occ;

g = LOAD 'drivermileage' using org.apache.hive.hcatalog.pig.HCatLoader();

h = join e by driverid, g by driverid; final_data = foreach h generate $0 as driverid, $1 as events, $3 as totmiles, (float) $3/$1 as riskfactor;

/*store final_data into 'riskfactor' using org.apache.hive.hcatalog.pig.HCatStorer();*/

avatar
Master Mentor

avatar
Rising Star

avatar
Master Mentor
@Özgür Akdemirci

you're saving a relation riskfactor and then you're trying to store final_data into it. Riskfactor is already used. Try giving the output a new name.

avatar
Rising Star

The pig script is from helloworld tutorial indeed,just copied and pasted. The first one is a column name, the second is an orc table i created in hive. But i'll change the values and try. Hope its the reason. Thanks @Artem Ervits

But tomorrow ;(

also tried to out to an hdfs file. Same error.

u may be right ;)ihope

avatar
Master Mentor

@Özgür Akdemirci there are a lot of comments on the tutorial similar to your issues. I'm actually wrong and leading you on a wrong path. Try to read the comments under the tutorial, did you try to run with -useHCatalog? It is case sensitive.

avatar
Rising Star

@Artem Ervits I've already tried -useHCatalog. I'll read other comments, hope thereis a solution. there were 2 pig clients 3 tez clients on my servers, i installed one more pig client. But that did not solve either. I read a bug fix about that.

. Thanks..

avatar
Rising Star

Hi guys, have a great day,

Is there any place on ambari, that I can check environment variables like PIG_CLASSPATH, CLASSPATH etc, do they exist?

I validate my pig installation by this Pig validation

and tez by tez validation both are ok, when checked alone they are working. 😄

but my pig script does not work on tez, After reading Pig on Tez Mode link I come to this point, check these environment variables.

@Artem Ervits I read the comments, they are different than mine... 😞