I have a question related to oozie sharelib, suppose I'm running any simple hive action via oozie workflow. I know that we have hive related jars present on hdfs in oozie sharelib. When nodemanagers are executing map/reduce attempts, oozie launcher will make sure to get these jars available to those tasks.
Please correct if my above understanding is incorrect!
Now the question -
If above understanding is correct then do we need hive client to be present on all the nodemanagers? if yes then why? do we also need hive jars to be present on local storage on each nodemanager(/usr/hdp/current/<hive-home>/lib/)?
You need access to hive-site.XML. yes you can put it in sharelib also but it tends to change and become stale. so its best to have hive client installed and ambari will keep hive site up to date. Hive jars will be present whether you install clients or not they just won't be symlinked. So yes installing clients makes sense, make hcat and Tez clients a standard part of install.
I believe so, I was told it was not a bad practice, and then again it's not like these jars are not loaded already, we are just symlinking existing libraries
Make it a comment, since its not an answer but just ceterum censeo. The Hive2Action is so much better. :-)