Updated Branches: refs/heads/trunk c86976551 -> 5d3677f74
http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_client.py b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_client.py new file mode 100644 index 0000000..0a5fb2b --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_client.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" +import sys +from resource_management import * + +from hive import hive + +class HiveClient(Script): + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + env.set_params(params) + + hive(name='client') + + + def status(self, env): + raise ClientComponentHasNoStatus() + +if __name__ == "__main__": + HiveClient().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_metastore.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_metastore.py b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_metastore.py new file mode 100644 index 0000000..c741174 --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_metastore.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import sys +from resource_management import * + +from hive import hive +from hive_service import hive_service + +class HiveMetastore(Script): + + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + env.set_params(params) + + hive(name='metastore') + + def start(self, env): + import params + env.set_params(params) + self.configure(env) # FOR SECURITY + hive_service( 'metastore', + action = 'start' + ) + + def stop(self, env): + import params + env.set_params(params) + + hive_service( 'metastore', + action = 'stop' + ) + + def status(self, env): + import status_params + env.set_params(status_params) + pid_file = format("{hive_pid_dir}/{hive_metastore_pid}") + # Recursively check all existing gmetad pid files + check_process_status(pid_file) + +if __name__ == "__main__": + HiveMetastore().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_server.py b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_server.py new file mode 100644 index 0000000..3ad81a1 --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_server.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import sys +from resource_management import * + +from hive import hive +from hive_service import hive_service + +class HiveServer(Script): + + def install(self, env): + self.install_packages(env) + self.configure(env) + def configure(self, env): + import params + env.set_params(params) + + hive(name='hiveserver2') + + def start(self, env): + import params + env.set_params(params) + self.configure(env) # FOR SECURITY + hive_service( 'hiveserver2', + action = 'start' + ) + + def stop(self, env): + import params + env.set_params(params) + + hive_service( 'hiveserver2', + action = 'stop' + ) + + + def status(self, env): + import status_params + env.set_params(status_params) + pid_file = format("{hive_pid_dir}/{hive_pid}") + # Recursively check all existing gmetad pid files + check_process_status(pid_file) + +if __name__ == "__main__": + HiveServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_service.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_service.py b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_service.py new file mode 100644 index 0000000..e8d4e5c --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_service.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +from resource_management import * + + +def hive_service( + name, + action='start'): + + import params + + if name == 'metastore': + pid_file = format("{hive_pid_dir}/{hive_metastore_pid}") + cmd = format( + "env HADOOP_HOME={hadoop_home} JAVA_HOME={java64_home} {start_metastore_path} {hive_log_dir}/hive.out {hive_log_dir}/hive.log {pid_file} {hive_server_conf_dir}") + elif name == 'hiveserver2': + pid_file = format("{hive_pid_dir}/{hive_pid}") + cmd = format( + "env JAVA_HOME={java64_home} {start_hiveserver2_path} {hive_log_dir}/hive-server2.out {hive_log_dir}/hive-server2.log {pid_file} {hive_server_conf_dir}") + + if action == 'start': + demon_cmd = format("{cmd}") + no_op_test = format("ls {pid_file} >/dev/null 2>&1 && ps `cat {pid_file}` >/dev/null 2>&1") + Execute(demon_cmd, + user=params.hive_user, + not_if=no_op_test + ) + + if params.hive_jdbc_driver == "com.mysql.jdbc.Driver" or params.hive_jdbc_driver == "oracle.jdbc.driver.OracleDriver": + db_connection_check_command = format( + "{java64_home}/bin/java -cp {check_db_connection_jar}:/usr/share/java/{jdbc_jar_name} org.apache.ambari.server.DBConnectionVerification {hive_jdbc_connection_url} {hive_metastore_user_name} {hive_metastore_user_passwd} {hive_jdbc_driver}") + Execute(db_connection_check_command, + path='/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin') + + elif action == 'stop': + demon_cmd = format("kill `cat {pid_file}` >/dev/null 2>&1 && rm -f {pid_file}") + Execute(demon_cmd) + http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_server.py b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_server.py new file mode 100644 index 0000000..5360f99 --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_server.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import sys +from resource_management import * + +from mysql_service import mysql_service + +class MysqlServer(Script): + + if System.get_instance().platform == "suse": + daemon_name = 'mysql' + else: + daemon_name = 'mysqld' + + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + env.set_params(params) + + mysql_service(daemon_name=self.daemon_name, action='start') + + File(params.mysql_adduser_path, + mode=0755, + content=StaticFile('addMysqlUser.sh') + ) + + # Autoescaping + cmd = ("bash", "-x", params.mysql_adduser_path, self.daemon_name, + params.hive_metastore_user_name, params.hive_metastore_user_passwd, params.mysql_host[0]) + + Execute(cmd, + tries=3, + try_sleep=5, + path='/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin', + logoutput=True + ) + + mysql_service(daemon_name=self.daemon_name, action='stop') + + def start(self, env): + import params + env.set_params(params) + + mysql_service(daemon_name=self.daemon_name, action = 'start') + + def stop(self, env): + import params + env.set_params(params) + + mysql_service(daemon_name=self.daemon_name, action = 'stop') + + def status(self, env): + mysql_service(daemon_name=self.daemon_name, action = 'status') + +if __name__ == "__main__": + MysqlServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_service.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_service.py b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_service.py new file mode 100644 index 0000000..4716343 --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_service.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +from resource_management import * + + +def mysql_service(daemon_name=None, action='start'): + + logoutput=True + if action == 'start': + cmd = format('service {daemon_name} start') + elif action == 'stop': + cmd = format('service {daemon_name} stop') + elif action == 'status': + cmd = format('service {daemon_name} status') + logoutput = False + else: + cmd = None + + if cmd is not None: + Execute(cmd, + path="/usr/local/bin/:/bin/:/sbin/", + tries=1, + logoutput=logoutput) + + + http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/params.py b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/params.py new file mode 100644 index 0000000..0cf89be --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/params.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +from resource_management import * +import status_params + +# server configurations +config = Script.get_config() + +hive_metastore_user_name = config['configurations']['hive-site']['javax.jdo.option.ConnectionUserName'] +hive_server_conf_dir = "/etc/hive/conf.server" +hive_jdbc_connection_url = config['configurations']['hive-site']['javax.jdo.option.ConnectionURL'] + +hive_metastore_user_passwd = config['configurations']['hive-site']['javax.jdo.option.ConnectionPassword'] + +#users +hive_user = config['configurations']['global']['hive_user'] +hive_lib = '/usr/lib/hive/lib/' +#JDBC driver jar name +hive_jdbc_driver = default('hive_jdbc_driver', 'com.mysql.jdbc.Driver') +if hive_jdbc_driver == "com.mysql.jdbc.Driver": + jdbc_jar_name = "mysql-connector-java.jar" +elif hive_jdbc_driver == "oracle.jdbc.driver.OracleDriver": + jdbc_jar_name = "ojdbc6.jar" + +check_db_connection_jar_name = "DBConnectionVerification.jar" +check_db_connection_jar = format("/usr/lib/ambari-agent/{check_db_connection_jar_name}") + +#common +hive_metastore_port = config['configurations']['global']['hive_metastore_port'] +hive_var_lib = '/var/lib/hive' +hive_server_host = config['clusterHostInfo']['hive_server_host'] +hive_url = format("jdbc:hive2://{hive_server_host}:10000") + +smokeuser = config['configurations']['global']['smokeuser'] +smoke_test_sql = "/tmp/hiveserver2.sql" +smoke_test_path = "/tmp/hiveserver2Smoke.sh" +smoke_user_keytab = config['configurations']['global']['smokeuser_keytab'] + +security_enabled = config['configurations']['global']['security_enabled'] + +kinit_path_local = get_kinit_path([default("kinit_path_local",None), "/usr/bin", "/usr/kerberos/bin", "/usr/sbin"]) +hive_metastore_keytab_path = config['configurations']['hive-site']['hive.metastore.kerberos.keytab.file'] + +#hive_env +hive_conf_dir = "/etc/hive/conf" +hive_dbroot = config['configurations']['global']['hive_dbroot'] +hive_log_dir = config['configurations']['global']['hive_log_dir'] +hive_pid_dir = status_params.hive_pid_dir +hive_pid = status_params.hive_pid + +#hive-site +hive_database_name = config['configurations']['global']['hive_database_name'] + +#Starting hiveserver2 +start_hiveserver2_script = 'startHiveserver2.sh' + +hadoop_home = '/usr' + +##Starting metastore +start_metastore_script = 'startMetastore.sh' +hive_metastore_pid = status_params.hive_metastore_pid +java_share_dir = '/usr/share/java' +driver_curl_target = format("{java_share_dir}/{jdbc_jar_name}") + +hdfs_user = config['configurations']['global']['hdfs_user'] +user_group = config['configurations']['global']['user_group'] +artifact_dir = "/tmp/HDP-artifacts/" + +target = format("{hive_lib}/{jdbc_jar_name}") + +jdk_location = config['hostLevelParams']['jdk_location'] +driver_curl_source = format("{jdk_location}/{jdbc_jar_name}") + +start_hiveserver2_path = "/tmp/start_hiveserver2_script" +start_metastore_path = "/tmp/start_metastore_script" + +hive_aux_jars_path = config['configurations']['global']['hive_aux_jars_path'] +hadoop_heapsize = config['configurations']['global']['hadoop_heapsize'] +java64_home = config['hostLevelParams']['java_home'] + +##### MYSQL + +db_name = config['configurations']['global']['hive_database_name'] +mysql_user = "mysql" +mysql_group = 'mysql' +mysql_host = config['clusterHostInfo']['hive_mysql_host'] + +mysql_adduser_path = "/tmp/addMysqlUser.sh" + +########## HCAT + +hcat_conf_dir = '/etc/hcatalog/conf' + +metastore_port = 9933 +hcat_lib = '/usr/lib/hcatalog/share/hcatalog' + +hcat_dbroot = hcat_lib + +hcat_user = config['configurations']['global']['hcat_user'] +webhcat_user = config['configurations']['global']['webhcat_user'] + +hcat_pid_dir = status_params.hcat_pid_dir +hcat_log_dir = config['configurations']['global']['hcat_log_dir'] #hcat_log_dir + +hadoop_conf_dir = '/etc/hadoop/conf' http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/service_check.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/service_check.py b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/service_check.py new file mode 100644 index 0000000..111e8a1 --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/service_check.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +from resource_management import * + +from hcat_service_check import hcat_service_check + +class HiveServiceCheck(Script): + def service_check(self, env): + import params + env.set_params(params) + if params.security_enabled: + kinit_cmd = format("{kinit_path_local} -kt {smoke_user_keytab} {smokeuser};") + hive_principal_ext = format("principal={hive_metastore_keytab_path}") + hive_url_ext = format("{hive_url}/\\;{hive_principal_ext}") + smoke_cmd = format("{kinit_cmd} env JAVA_HOME={java64_home} {smoke_test_path} {hive_url_ext} {smoke_test_sql}") + else: + smoke_cmd = format("env JAVA_HOME={java64_home} {smoke_test_path} {hive_url} {smoke_test_sql}") + + File(params.smoke_test_path, + content=StaticFile('hiveserver2Smoke.sh'), + mode=0755 + ) + + File(params.smoke_test_sql, + content=StaticFile('hiveserver2.sql') + ) + + Execute(smoke_cmd, + tries=3, + try_sleep=5, + path='/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin', + logoutput=True, + user=params.smokeuser) + + hcat_service_check() + +if __name__ == "__main__": + HiveServiceCheck().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/status_params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/status_params.py b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/status_params.py new file mode 100644 index 0000000..7770975 --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/status_params.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +from resource_management import * + +config = Script.get_config() + +hive_pid_dir = config['configurations']['global']['hive_pid_dir'] +hive_pid = 'hive-server.pid' + +hive_metastore_pid = 'hive.pid' + +hcat_pid_dir = config['configurations']['global']['hcat_pid_dir'] #hcat_pid_dir http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hcat-env.sh.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hcat-env.sh.j2 b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hcat-env.sh.j2 new file mode 100644 index 0000000..2a35240 --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hcat-env.sh.j2 @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +JAVA_HOME={{java64_home}} +HCAT_PID_DIR={{hcat_pid_dir}}/ +HCAT_LOG_DIR={{hcat_log_dir}}/ +HCAT_CONF_DIR={{hcat_conf_dir}} +HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}} +#DBROOT is the path where the connector jars are downloaded +DBROOT={{hcat_dbroot}} +USER={{hcat_user}} +METASTORE_PORT={{metastore_port}} http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hive-env.sh.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hive-env.sh.j2 b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hive-env.sh.j2 new file mode 100644 index 0000000..548262a --- /dev/null +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hive-env.sh.j2 @@ -0,0 +1,55 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Set Hive and Hadoop environment variables here. These variables can be used +# to control the execution of Hive. It should be used by admins to configure +# the Hive installation (so that users do not have to set environment variables +# or set command line parameters to get correct behavior). +# +# The hive service being invoked (CLI/HWI etc.) is available via the environment +# variable SERVICE + +# Hive Client memory usage can be an issue if a large number of clients +# are running at the same time. The flags below have been useful in +# reducing memory usage: +# + if [ "$SERVICE" = "cli" ]; then + if [ -z "$DEBUG" ]; then + export HADOOP_OPTS="$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseParNewGC -XX:-UseGCOverheadLimit" + else + export HADOOP_OPTS="$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit" + fi + fi + +# The heap size of the jvm stared by hive shell script can be controlled via: + +export HADOOP_HEAPSIZE="{{hadoop_heapsize}}" +export HADOOP_CLIENT_OPTS="-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS" + +# Larger heap size may be required when running queries over large number of files or partitions. +# By default hive shell scripts use a heap size of 256 (MB). Larger heap size would also be +# appropriate for hive server (hwi etc). + + +# Set HADOOP_HOME to point to a specific hadoop install directory +HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}} + +# Hive Configuration Directory can be controlled by: +export HIVE_CONF_DIR={{conf_dir}} + +# Folder containing extra ibraries required for hive compilation/execution can be controlled by: +# export HIVE_AUX_JARS_PATH= +export HIVE_AUX_JARS_PATH={{hive_aux_jars_path}} http://git-wip-us.apache.org/repos/asf/ambari/blob/5d3677f7/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/metainfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/metainfo.xml index 6f02f79..6dfff9d 100644 --- a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/metainfo.xml +++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/metainfo.xml @@ -16,30 +16,156 @@ limitations under the License. --> <metainfo> - <user>mapred</user> - <comment>Apache Hadoop NextGen MapReduce (YARN)</comment> - <version>2.1.0.2.0.6.0</version> - <deleted>false</deleted> - <components> - <component> - <name>RESOURCEMANAGER</name> - <category>MASTER</category> - </component> - <component> - <name>NODEMANAGER</name> - <category>SLAVE</category> - </component> - <component> - <name>YARN_CLIENT</name> - <category>CLIENT</category> - <deleted>true</deleted> - </component> - <component> - <name>TEZ</name> - <category>CLIENT</category> - </component> - </components> - <configuration-dependencies> - <config-type>core-site</config-type> - </configuration-dependencies> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>YARN</name> + <comment>Apache Hadoop NextGen MapReduce (YARN)</comment> + <version>2.1.0.2.0.6.0</version> + <components> + + <component> + <name>RESOURCEMANAGER</name> + <category>MASTER</category> + <commandScript> + <script>scripts/resourcemanager.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + <customCommands> + <customCommand> + <name>DECOMMISSION</name> + <commandScript> + <script>scripts/resourcemanager.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </customCommand> + </customCommands> + </component> + + <component> + <name>NODEMANAGER</name> + <category>SLAVE</category> + <commandScript> + <script>scripts/nodemanager.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + + <component> + <name>YARN_CLIENT</name> + <category>CLIENT</category> + <commandScript> + <script>scripts/yarn_client.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + </components> + + <osSpecifics> + <osSpecific> + <osType>any</osType> + <packages> + <package> + <type>rpm</type> + <name>hadoop-yarn</name> + </package> + <package> + <type>rpm</type> + <name>hadoop-yarn-nodemanager</name> + </package> + <package> + <type>rpm</type> + <name>hadoop-mapreduce</name> + </package> + <package> + <type>rpm</type> + <name>hadoop-yarn-proxyserver</name> + </package> + <package> + <type>rpm</type> + <name>hadoop-yarn-resourcemanager</name> + </package> + </packages> + </osSpecific> + </osSpecifics> + + <commandScript> + <script>scripts/service_check.py</script> + <scriptType>PYTHON</scriptType> + <timeout>300</timeout> + </commandScript> + + <configuration-dependencies> + <config-type>yarn-site</config-type> + <config-type>capacity-scheduler</config-type> + <config-type>core-site</config-type> + <config-type>global</config-type> + <config-type>mapred-site</config-type> + <config-type>mapred-queue-acls</config-type> + </configuration-dependencies> + </service> + + <service> + <name>MAPREDUCE2</name> + <comment>Apache Hadoop NextGen MapReduce (YARN)</comment> + <version>2.1.0.2.0.6.0</version> + <components> + <component> + <name>HISTORYSERVER</name> + <category>MASTER</category> + <commandScript> + <script>scripts/historyserver.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + + <component> + <name>MAPREDUCE2_CLIENT</name> + <category>CLIENT</category> + <commandScript> + <script>scripts/mapreduce2_client.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + </components> + + <osSpecifics> + <osSpecific> + <osType>any</osType> + <packages> + <package> + <type>rpm</type> + <name>hadoop-mapreduce</name> + </package> + <package> + <type>rpm</type> + <name>hadoop-mapreduce-historyserver</name> + </package> + </packages> + </osSpecific> + </osSpecifics> + + <commandScript> + <script>scripts/mapred_service_check.py</script> + <scriptType>PYTHON</scriptType> + <timeout>300</timeout> + </commandScript> + + <configuration-dependencies> + <config-type>yarn-site</config-type> + <config-type>capacity-scheduler</config-type> + <config-type>core-site</config-type> + <config-type>global</config-type> + <config-type>mapred-site</config-type> + <config-type>mapred-queue-acls</config-type> + </configuration-dependencies> + </service> + + </services> </metainfo>
