-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/35814/
-----------------------------------------------------------

(Updated June 24, 2015, 9:26 p.m.)


Review request for Ambari, Andrew Onischuk, Dmytro Sen, Jonathan Hurley, Nate 
Cole, and Vitalyi Brodetskyi.


Changes
-------

Added script to prepare Tez before RU. This will copy the older tarball to the 
appropriate location in HDFS.


Bugs: AMBARI-12113
    https://issues.apache.org/jira/browse/AMBARI-12113


Repository: ambari


Description
-------

STR:
- Deploy cluster with HDFS, YARN, MR, and Tez on 4 hosts as follows,
-- Host 1: NameNode, ResourceManager, ZK Server, DataNode, NodeManager
-- Host 2: Secondary NameNode, App Timeline Server, ZK Server, DataNode, 
NodeManager.
-- Host 3: ZK Server, DataNode, NodeManager.
-- Host 4: Clients
-- Host 5: Clients

In this case, Host 1 has RM but no Tez client, so it cannot possibly upload the 
tez tarball to HDFS.
Also, consider the following 2 uses cases:
1. Install Tez first, which will require YARN.
2. Install YARN first, which does not require Tez, but still need to upload 
tez.tar.gz when the Tez Service Check runs.


tez.tar.gz needs to be copied to HDFS. The problem is that we don't have a way 
right now to copy it after all services have been installed and started during 
cluster deployment, so instead, we rely on services starting to copy the 
tarball.
In order for this to work, the host with Tez Client also needs to have HDFS 
Client, Yarn Client, and MR Client. Further, copying to HDFS requires NameNode 
to be up, and DataNodes to be functional.
AMBARI-9997 had ResourceManager copy the tez tarball; the problem was that if 
the host with RM didn't have Tez client, it wouldn't find the tarball.
The change I'm proposing is to
- Switch this to HistoryServer instead of RM since HistoryServer already copies 
the mapreduce tarball.
- Installing Tez also requires YARN service, including HistoryServer. 
HistoryServer is now co-hosted with Tez Client, so this guarantees it can copy 
the tarball.
- Installing HistoryServer by itself will not copy the tarball. However, if Tez 
is installed later, then its Service Check is responsible for copying the 
tarball to HDFS, and this host is also guaranteed to have HDFS Client.


Diffs (updated)
-----

  
ambari-common/src/main/python/resource_management/libraries/functions/copy_tarball.py
 8eab473 
  
ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ClusterGrouping.java
 c10fffb 
  
ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/ExecuteTask.java
 e287f7e 
  
ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/TaskWrapperBuilder.java
 bb0b8d6 
  
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
 935f3a2 
  
ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/package/scripts/job_history_server.py
 4b0bbfa 
  ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/metainfo.xml 
f42af02 
  
ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/pre_upgrade.py
 PRE-CREATION 
  ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/metainfo.xml 
01c3c26 
  
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/historyserver.py
 af37153 
  
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/params_linux.py
 d74340f 
  
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/package/scripts/resourcemanager.py
 88a3cba 
  ambari-server/src/main/resources/stacks/HDP/2.1/role_command_order.json 
ec38ee2 
  ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml 
d581736 
  ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml 
8c8904d 
  ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py 3457315 
  ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py 
94e26b5 

Diff: https://reviews.apache.org/r/35814/diff/


Testing
-------

Deployed a cluster with the following combinations:
1. HDFS, ZK, YARN, MR. Then installed Tez, which added Tez Client to the host 
with HistoryServer. And when the Tez Service Check ran as part of the Install, 
it was able to copy the tez tarball to HDFS since that host also contained HDFS 
client.
2. HDFS, ZK, Tez. This required installing YARN/MR as well. So HistoryServer 
Start was responsible for copying the tez tarball to HDFS, and was able to do 
so since Tez client was co-hosted on the HistoryServer host.

Total run:764
Total errors:0
Total failures:0
OK


Thanks,

Alejandro Fernandez

Reply via email to