http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveSmoke.sh ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveSmoke.sh b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveSmoke.sh new file mode 100644 index 0000000..7e03524 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveSmoke.sh @@ -0,0 +1,23 @@ +# +# +# 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. +# +# +export tablename=$1 +echo "CREATE EXTERNAL TABLE IF NOT EXISTS ${tablename} ( foo INT, bar STRING );" | hive +echo "DESCRIBE ${tablename};" | hive
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveserver2.sql ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveserver2.sql b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveserver2.sql new file mode 100644 index 0000000..99a3865 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveserver2.sql @@ -0,0 +1,23 @@ +# +# +# 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. +# +# + +CREATE EXTERNAL TABLE IF NOT EXISTS hiveserver2smoke20408 ( foo INT, bar STRING ); +DESCRIBE hiveserver2smoke20408; http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveserver2Smoke.sh ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveserver2Smoke.sh b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveserver2Smoke.sh new file mode 100644 index 0000000..051a21e --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/hiveserver2Smoke.sh @@ -0,0 +1,31 @@ +# +# +# 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. +# +# + +smokeout=`/usr/lib/hive/bin/beeline -u $1 -n fakeuser -p fakepwd -d org.apache.hive.jdbc.HiveDriver -e '!run $2' 2>&1| awk '{print}'|grep Error` + +if [ "x$smokeout" == "x" ]; then + echo "Smoke test of hiveserver2 passed" + exit 0 +else + echo "Smoke test of hiveserver2 wasnt passed" + echo $smokeout + exit 1 +fi http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/pigSmoke.sh ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/pigSmoke.sh b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/pigSmoke.sh new file mode 100644 index 0000000..2e90ac0 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/pigSmoke.sh @@ -0,0 +1,18 @@ +# 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 + +A = load 'passwd' using PigStorage(':'); +B = foreach A generate \$0 as id; +store B into 'pigsmoke.out'; http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/startHiveserver2.sh ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/startHiveserver2.sh b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/startHiveserver2.sh new file mode 100644 index 0000000..fa90c2f --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/startHiveserver2.sh @@ -0,0 +1,22 @@ +# +# +# 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. +# +# +HIVE_CONF_DIR=$4 /usr/lib/hive/bin/hiveserver2 -hiveconf hive.metastore.uris=' ' > $1 2> $2 & +echo $!|cat>$3 http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/startMetastore.sh ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/startMetastore.sh b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/startMetastore.sh new file mode 100644 index 0000000..9350776 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/files/startMetastore.sh @@ -0,0 +1,22 @@ +# +# +# 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. +# +# +HIVE_CONF_DIR=$4 hive --service metastore > $1 2> $2 & +echo $!|cat>$3 http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/__init__.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/__init__.py b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/__init__.py new file mode 100644 index 0000000..5561e10 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/__init__.py @@ -0,0 +1,19 @@ +#!/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. + +""" http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat.py b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat.py new file mode 100644 index 0000000..2993d3a --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat.py @@ -0,0 +1,47 @@ +#!/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 sys + + +def hcat(): + import params + + Directory(params.hcat_conf_dir, + owner=params.hcat_user, + group=params.user_group, + ) + + Directory(params.hcat_pid_dir, + owner=params.webhcat_user, + recursive=True + ) + + hcat_TemplateConfig('hcat-env.sh') + + +def hcat_TemplateConfig(name): + import params + + TemplateConfig(format("{hcat_conf_dir}/{name}"), + owner=params.hcat_user, + group=params.user_group + ) http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat_client.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat_client.py b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat_client.py new file mode 100644 index 0000000..8b5921a --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat_client.py @@ -0,0 +1,43 @@ +#!/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 hcat import hcat + +class HCatClient(Script): + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + + env.set_params(params) + + hcat() + + + def status(self, env): + raise ClientComponentHasNoStatus() + + +if __name__ == "__main__": + HCatClient().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat_service_check.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat_service_check.py b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat_service_check.py new file mode 100644 index 0000000..5112e99 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hcat_service_check.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. + +""" + +from resource_management import * + +def hcat_service_check(): + import params + + unique = get_unique_id_and_date() + output_file = format("/apps/hive/warehouse/hcatsmoke{unique}") + test_cmd = format("fs -test -e {output_file}") + + if params.security_enabled: + kinit_cmd = format( + "{kinit_path_local} -kt {smoke_user_keytab} {smokeuser}; ") + else: + kinit_cmd = "" + + File('/tmp/hcatSmoke.sh', + content=StaticFile("hcatSmoke.sh"), + mode=0755 + ) + + prepare_cmd = format("{kinit_cmd}sh /tmp/hcatSmoke.sh hcatsmoke{unique} prepare") + + Execute(prepare_cmd, + tries=3, + user=params.smokeuser, + try_sleep=5, + path=['/usr/sbin', '/usr/local/nin', '/bin', '/usr/bin'], + logoutput=True) + + ExecuteHadoop(test_cmd, + user=params.hdfs_user, + logoutput=True, + conf_dir=params.hadoop_conf_dir) + + cleanup_cmd = format("{kinit_cmd}sh /tmp/hcatSmoke.sh hcatsmoke{unique} cleanup") + + Execute(cleanup_cmd, + tries=3, + user=params.smokeuser, + try_sleep=5, + path=['/usr/sbin', '/usr/local/nin', '/bin', '/usr/bin'], + logoutput=True + ) http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive.py b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive.py new file mode 100644 index 0000000..63e7fa3 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive.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 sys + + +def hive(name=None): + import params + + if name == 'metastore' or name == 'hiveserver2': + hive_config_dir = params.hive_server_conf_dir + config_file_mode = 0600 + jdbc_connector() + else: + hive_config_dir = params.hive_conf_dir + config_file_mode = 0644 + + Directory(hive_config_dir, + owner=params.hive_user, + group=params.user_group, + recursive=True + ) + + XmlConfig("hive-site.xml", + conf_dir=hive_config_dir, + configurations=params.config['configurations']['hive-site'], + configuration_attributes=params.config['configuration_attributes']['hive-site'], + owner=params.hive_user, + group=params.user_group, + mode=config_file_mode + ) + + cmd = format("/bin/sh -c 'cd /usr/lib/ambari-agent/ && curl -kf --retry 5 " + "{jdk_location}{check_db_connection_jar_name} -o {check_db_connection_jar_name}'") + + Execute(cmd, + not_if=format("[ -f {check_db_connection_jar_name}]")) + + if name == 'metastore': + File(params.start_metastore_path, + mode=0755, + content=StaticFile('startMetastore.sh') + ) + + elif name == 'hiveserver2': + File(params.start_hiveserver2_path, + mode=0755, + content=StaticFile('startHiveserver2.sh') + ) + + if name != "client": + crt_directory(params.hive_pid_dir) + crt_directory(params.hive_log_dir) + crt_directory(params.hive_var_lib) + + File(format("{hive_config_dir}/hive-env.sh"), + owner=params.hive_user, + group=params.user_group, + content=Template('hive-env.sh.j2', conf_dir=hive_config_dir) + ) + + crt_file(format("{hive_conf_dir}/hive-default.xml.template")) + crt_file(format("{hive_conf_dir}/hive-env.sh.template")) + crt_file(format("{hive_conf_dir}/hive-exec-log4j.properties.template")) + crt_file(format("{hive_conf_dir}/hive-log4j.properties.template")) + + +def crt_directory(name): + import params + + Directory(name, + recursive=True, + owner=params.hive_user, + group=params.user_group, + mode=0755) + + +def crt_file(name): + import params + + File(name, + owner=params.hive_user, + group=params.user_group + ) + + +def jdbc_connector(): + import params + + if params.hive_jdbc_driver == "com.mysql.jdbc.Driver": + cmd = format("hive mkdir -p {artifact_dir} ; cp /usr/share/java/{jdbc_jar_name} {target}") + + Execute(cmd, + not_if=format("test -f {target}"), + creates=params.target, + path=["/bin", "/usr/bin/"]) + + elif params.hive_jdbc_driver == "oracle.jdbc.driver.OracleDriver": + cmd = format( + "mkdir -p {artifact_dir} ; curl -kf --retry 10 {driver_curl_source} -o {driver_curl_target} && " + "cp {driver_curl_target} {target}") + + Execute(cmd, + not_if=format("test -f {target}"), + path=["/bin", "/usr/bin/"]) http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_client.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_client.py b/ambari-funtest/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-funtest/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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_metastore.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_metastore.py b/ambari-funtest/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-funtest/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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_server.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_server.py b/ambari-funtest/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-funtest/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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_service.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/hive_service.py b/ambari-funtest/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-funtest/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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_server.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_server.py b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_server.py new file mode 100644 index 0000000..a160d4b --- /dev/null +++ b/ambari-funtest/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().os_family == "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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_service.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_service.py b/ambari-funtest/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-funtest/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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/params.py b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/params.py new file mode 100644 index 0000000..8cb4bd2 --- /dev/null +++ b/ambari-funtest/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 = config['configurations']['hive-site']['javax.jdo.option.ConnectionDriverName'] +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'] + +_authentication = config['configurations']['core-site']['hadoop.security.authentication'] +security_enabled = ( not is_empty(_authentication) and _authentication == 'kerberos') + +kinit_path_local = functions.get_kinit_path(default('/configurations/kerberos-env/executable_search_paths', None)) +hive_metastore_keytab_path = config['configurations']['hive-site']['hive.metastore.kerberos.keytab.file'] + +#hive_env +hive_conf_dir = "/etc/hive/conf" +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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/service_check.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/service_check.py b/ambari-funtest/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-funtest/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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/status_params.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/status_params.py b/ambari-funtest/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-funtest/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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hcat-env.sh.j2 ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hcat-env.sh.j2 b/ambari-funtest/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-funtest/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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hive-env.sh.j2 ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/templates/hive-env.sh.j2 b/ambari-funtest/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-funtest/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/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/SQOOP/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/SQOOP/metainfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/SQOOP/metainfo.xml new file mode 100644 index 0000000..44d4232 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/SQOOP/metainfo.xml @@ -0,0 +1,39 @@ +<?xml version="1.0"?> +<!-- + 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. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>SQOOP</name> + <comment>Tool for transferring bulk data between Apache Hadoop and structured data stores such as relational databases</comment> + <version>1.23</version> + <components> + <component> + <name>SQOOP</name> + <category>CLIENT</category> + <commandScript> + <script>scripts/resourcemanager.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + </components> + </service> + </services> + +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/config-mr2/mapred-site.xml ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/config-mr2/mapred-site.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/config-mr2/mapred-site.xml new file mode 100644 index 0000000..fb2a086 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/config-mr2/mapred-site.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- + 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. +--> + +<!-- Put site-specific property overrides in this file. --> + +<configuration xmlns:xi="http://www.w3.org/2001/XInclude"> + <property> + <name>mr2-prop</name> + <value>some-mr2-value</value> + <description>some description.</description> + </property> +</configuration> http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/configuration/yarn-site.xml ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/configuration/yarn-site.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/configuration/yarn-site.xml new file mode 100644 index 0000000..303a802 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/configuration/yarn-site.xml @@ -0,0 +1,60 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- + 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. +--> + +<!-- Put site-specific property overrides in this file. --> + +<configuration xmlns:xi="http://www.w3.org/2001/XInclude" supports_adding_forbidden="true" supports_do_not_extend="true"> + +<!-- ResourceManager --> + + <property> + <name>yarn.resourcemanager.resource-tracker.address</name> + <value>localhost:8025</value> + <deleted>true</deleted> + </property> + + <property> + <name>yarn.resourcemanager.scheduler.address</name> + <value>localhost:8030</value> + <description>The address of the scheduler interface.</description> + <deleted>true</deleted> + </property> + + <property> + <name>yarn.resourcemanager.address</name> + <value>localhost:100009</value> + <description> + The address of the applications manager interface in the + RM. + </description> + </property> + + <property> + <name>yarn.resourcemanager.admin.address</name> + <value></value> + <description>The address of the RM admin interface.</description> + </property> + + <property> + <name>new-yarn-property</name> + <value>some-value</value> + <description>some description.</description> + </property> + +</configuration> http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/metainfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/metainfo.xml new file mode 100644 index 0000000..beee6a0 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/YARN/metainfo.xml @@ -0,0 +1,171 @@ +<?xml version="1.0"?> +<!-- + 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. +--> +<metainfo> + <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> + <configuration-dependencies> + <config-type>capacity-scheduler</config-type> + </configuration-dependencies> + </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> + <osFamily>any</osFamily> + <packages> + <package> + <name>hadoop-yarn</name> + </package> + <package> + <name>hadoop-yarn-nodemanager</name> + </package> + <package> + <name>hadoop-mapreduce</name> + </package> + <package> + <name>hadoop-yarn-proxyserver</name> + </package> + <package> + <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>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> + <osFamily>any</osFamily> + <packages> + <package> + <name>hadoop-mapreduce</name> + </package> + <package> + <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-dir>config-mr2</configuration-dir> + + <configuration-dependencies> + <config-type>yarn-site</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> + + <excluded-config-types> + <config-type>global</config-type> + </excluded-config-types> + </service> + + </services> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/ZOOKEEPER/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/ZOOKEEPER/metainfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/ZOOKEEPER/metainfo.xml new file mode 100644 index 0000000..c4cdb22 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/ZOOKEEPER/metainfo.xml @@ -0,0 +1,89 @@ +<?xml version="1.0"?> +<!-- + 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. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>ZOOKEEPER</name> + <displayName>ZooKeeper</displayName> + <comment>Centralized service which provides highly reliable distributed coordination</comment> + <version>3.4.5.2.0</version> + <components> + + <component> + <name>ZOOKEEPER_SERVER</name> + <displayName>ZooKeeper Server</displayName> + <category>MASTER</category> + <cardinality>1</cardinality> + <commandScript> + <script>scripts/zookeeper_server.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + + <component> + <name>ZOOKEEPER_CLIENT</name> + <displayName>ZooKeeper Client</displayName> + <category>CLIENT</category> + <cardinality>0+</cardinality> + <commandScript> + <script>scripts/zookeeper_client.py</script> + <scriptType>PYTHON</scriptType> + </commandScript> + <configFiles> + <configFile> + <type>env</type> + <fileName>zookeeper-env.sh</fileName> + <dictionaryName>zookeeper-env</dictionaryName> + </configFile> + <configFile> + <type>env</type> + <fileName>log4j.properties</fileName> + <dictionaryName>zookeeper-log4j</dictionaryName> + </configFile> + </configFiles> + </component> + </components> + + <osSpecifics> + <osSpecific> + <osFamily>any</osFamily> + <packages> + <package> + <name>zookeeper</name> + </package> + </packages> + </osSpecific> + </osSpecifics> + + <commandScript> + <script>scripts/service_check.py</script> + <scriptType>PYTHON</scriptType> + <timeout>300</timeout> + </commandScript> + + <configuration-dependencies> + <config-type>global</config-type> + <config-type>zookeeper-log4j</config-type> + <config-type>zoo.cfg</config-type> + </configuration-dependencies> + <restartRequiredAfterChange>true</restartRequiredAfterChange> + </service> + </services> +</metainfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/hooks/dummy-script.py ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/hooks/dummy-script.py b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/hooks/dummy-script.py new file mode 100644 index 0000000..35de4bb --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/hooks/dummy-script.py @@ -0,0 +1,20 @@ +""" +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. + +Ambari Agent + +""" http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/kerberos.json ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/kerberos.json b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/kerberos.json new file mode 100644 index 0000000..14eefbf --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/kerberos.json @@ -0,0 +1,42 @@ +{ + "properties": { + "realm": "${cluster-env/kerberos_domain}", + "keytab_dir": "/etc/security/keytabs", + "additional_realms": "" + }, + "identities": [ + { + "name": "spnego", + "principal": { + "value": "HTTP/_HOST@${realm}", + "type" : "service" + }, + "keytab": { + "file": "${keytab_dir}/spnego.service.keytab", + "owner": { + "name": "root", + "access": "r" + }, + "group": { + "name": "${cluster-env/user_group}", + "access": "r" + } + } + } + ], + "auth_to_local_properties" : [ + "hadoop.security.auth_to_local" + ], + "configurations": [ + { + "core-site": { + "hadoop.security.authentication": "kerberos", + "hadoop.rpc.protection": "authentication", + "hadoop.security.authorization": "true", + "hadoop.security.auth_to_local": "", + "hadoop.proxyuser.superuser.hosts": "", + "hadoop.proxyuser.superuser.groups": "" + } + } + ] +} http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/metainfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/metainfo.xml new file mode 100644 index 0000000..91f8d81 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/metainfo.xml @@ -0,0 +1,24 @@ +<?xml version="1.0"?> +<!-- + 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. +--> +<metainfo> + <versions> + <active>true</active> + </versions> + <extends>2.0.7</extends> +</metainfo> + http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml new file mode 100644 index 0000000..f8542d0 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml @@ -0,0 +1,61 @@ +<?xml version="1.0"?> +<!-- + 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. +--> +<reposinfo> + <os family="centos6"> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl> + <repoid>HDP-2.0.8</repoid> + <reponame>HDP</reponame> + </repo> + </os> + <os family="centos5"> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl> + <repoid>HDP-2.0.8</repoid> + <reponame>HDP</reponame> + </repo> + </os> + <os family="redhat6"> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl> + <repoid>HDP-2.0.8</repoid> + <reponame>HDP</reponame> + </repo> + </os> + <os family="redhat5"> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl> + <repoid>HDP-2.0.8</repoid> + <reponame>HDP</reponame> + </repo> + </os> + <os family="suse11"> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl> + <repoid>HDP-2.0.8</repoid> + <reponame>HDP</reponame> + </repo> + </os> + <os family="sles11"> + <repo> + <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl> + <repoid>HDP-2.0.8</repoid> + <reponame>HDP</reponame> + </repo> + </os> +</reposinfo> http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/role_command_order.json ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/role_command_order.json b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/role_command_order.json new file mode 100644 index 0000000..70d7802 --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/role_command_order.json @@ -0,0 +1,79 @@ +{ + "_comment" : "Record format:", + "_comment" : "blockedRole-blockedCommand: [blockerRole1-blockerCommand1, blockerRole2-blockerCommand2, ...]", + "general_deps" : { + "_comment" : "dependencies for all cases", + "HBASE_REGIONSERVER-START": ["HBASE_MASTER-START"], + "OOZIE_SERVER-START": ["JOBTRACKER-START", "TASKTRACKER-START"], + "WEBHCAT_SERVER-START": ["TASKTRACKER-START", "HIVE_SERVER-START"], + "HIVE_METASTORE-START": ["MYSQL_SERVER-START"], + "HIVE_SERVER-START": ["TASKTRACKER-START", "MYSQL_SERVER-START"], + "HUE_SERVER-START": ["HIVE_SERVER-START", "HCAT-START", "OOZIE_SERVER-START"], + "FLUME_HANDLER-START": ["OOZIE_SERVER-START"], + "MAPREDUCE_SERVICE_CHECK-SERVICE_CHECK": ["JOBTRACKER-START", "TASKTRACKER-START"], + "OOZIE_SERVICE_CHECK-SERVICE_CHECK": ["OOZIE_SERVER-START"], + "WEBHCAT_SERVICE_CHECK-SERVICE_CHECK": ["WEBHCAT_SERVER-START"], + "HBASE_SERVICE_CHECK-SERVICE_CHECK": ["HBASE_MASTER-START", "HBASE_REGIONSERVER-START"], + "HIVE_SERVICE_CHECK-SERVICE_CHECK": ["HIVE_SERVER-START", "HIVE_METASTORE-START"], + "HCAT_SERVICE_CHECK-SERVICE_CHECK": ["HIVE_SERVER-START"], + "PIG_SERVICE_CHECK-SERVICE_CHECK": ["JOBTRACKER-START", "TASKTRACKER-START"], + "SQOOP_SERVICE_CHECK-SERVICE_CHECK": ["JOBTRACKER-START", "TASKTRACKER-START"], + "ZOOKEEPER_SERVICE_CHECK-SERVICE_CHECK": ["ZOOKEEPER_SERVER-START"], + "ZOOKEEPER_QUORUM_SERVICE_CHECK-SERVICE_CHECK": ["ZOOKEEPER_SERVER-START"], + "ZOOKEEPER_SERVER-STOP" : ["HBASE_MASTER-STOP", "HBASE_REGIONSERVER-STOP"], + "HBASE_MASTER-STOP": ["HBASE_REGIONSERVER-STOP"], + "TASKTRACKER-UPGRADE": ["JOBTRACKER-UPGRADE"], + "MAPREDUCE_CLIENT-UPGRADE": ["TASKTRACKER-UPGRADE", "JOBTRACKER-UPGRADE"], + "ZOOKEEPER_SERVER-UPGRADE": ["MAPREDUCE_CLIENT-UPGRADE"], + "ZOOKEEPER_CLIENT-UPGRADE": ["ZOOKEEPER_SERVER-UPGRADE"], + "HBASE_MASTER-UPGRADE": ["ZOOKEEPER_CLIENT-UPGRADE"], + "HBASE_REGIONSERVER-UPGRADE": ["HBASE_MASTER-UPGRADE"], + "HBASE_CLIENT-UPGRADE": ["HBASE_REGIONSERVER-UPGRADE"], + "HIVE_SERVER-UPGRADE" : ["HBASE_CLIENT-UPGRADE"], + "HIVE_METASTORE-UPGRADE" : ["HIVE_SERVER-UPGRADE"], + "MYSQL_SERVER-UPGRADE": ["HIVE_METASTORE-UPGRADE"], + "HIVE_CLIENT-UPGRADE": ["MYSQL_SERVER-UPGRADE"], + "HCAT-UPGRADE": ["HIVE_CLIENT-UPGRADE"], + "OOZIE_SERVER-UPGRADE" : ["HCAT-UPGRADE"], + "OOZIE_CLIENT-UPGRADE" : ["OOZIE_SERVER-UPGRADE"], + "WEBHCAT_SERVER-UPGRADE" : ["OOZIE_CLIENT-UPGRADE"], + "PIG-UPGRADE" : ["WEBHCAT_SERVER-UPGRADE"], + "SQOOP-UPGRADE" : ["PIG-UPGRADE"], + "GANGLIA_SERVER-UPGRADE" : ["SQOOP-UPGRADE"], + "GANGLIA_MONITOR-UPGRADE" : ["GANGLIA_SERVER-UPGRADE"] + }, + "_comment" : "Dependencies that are used when GLUSTERFS is not present in cluster", + "optional_no_glusterfs": { + + "RESOURCEMANAGER-START": ["NAMENODE-START", "DATANODE-START"], + "NODEMANAGER-START": ["NAMENODE-START", "DATANODE-START", "RESOURCEMANAGER-START"], + "HISTORYSERVER-START": ["NAMENODE-START", "DATANODE-START"], + "HBASE_MASTER-START": ["NAMENODE-START", "DATANODE-START"], + "JOBTRACKER-START": ["NAMENODE-START", "DATANODE-START"], + "TASKTRACKER-START": ["NAMENODE-START", "DATANODE-START"], + "HIVE_SERVER-START": ["DATANODE-START"], + "WEBHCAT_SERVER-START": ["DATANODE-START"], + "HDFS_SERVICE_CHECK-SERVICE_CHECK": ["NAMENODE-START", "DATANODE-START", + "SECONDARY_NAMENODE-START"], + "MAPREDUCE2_SERVICE_CHECK-SERVICE_CHECK": ["NODEMANAGER-START", + "RESOURCEMANAGER-START", "HISTORYSERVER-START", "YARN_SERVICE_CHECK-SERVICE_CHECK"], + "YARN_SERVICE_CHECK-SERVICE_CHECK": ["NODEMANAGER-START", "RESOURCEMANAGER-START"], + "RESOURCEMANAGER_SERVICE_CHECK-SERVICE_CHECK": ["RESOURCEMANAGER-START"], + "PIG_SERVICE_CHECK-SERVICE_CHECK": ["RESOURCEMANAGER-START", "NODEMANAGER-START"], + "NAMENODE-STOP": ["JOBTRACKER-STOP", "TASKTRACKER-STOP", "RESOURCEMANAGER-STOP", + "NODEMANAGER-STOP", "HISTORYSERVER-STOP", "HBASE_MASTER-STOP"], + "DATANODE-STOP": ["JOBTRACKER-STOP", "TASKTRACKER-STOP", "RESOURCEMANAGER-STOP", + "NODEMANAGER-STOP", "HISTORYSERVER-STOP", "HBASE_MASTER-STOP"], + "SECONDARY_NAMENODE-UPGRADE": ["NAMENODE-UPGRADE"], + "DATANODE-UPGRADE": ["SECONDARY_NAMENODE-UPGRADE"], + "HDFS_CLIENT-UPGRADE": ["DATANODE-UPGRADE"], + "JOBTRACKER-UPGRADE": ["HDFS_CLIENT-UPGRADE"] + }, + "_comment" : "Dependencies that are used in HA NameNode cluster", + "namenode_optional_ha": { + "NAMENODE-START": ["JOURNALNODE-START", "ZOOKEEPER_SERVER-START"], + "ZKFC-START": ["NAMENODE-START"], + "HDFS_SERVICE_CHECK-SERVICE_CHECK": ["ZKFC-START"] + } +} + http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/services/FAKENAGIOS/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/services/FAKENAGIOS/metainfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/services/FAKENAGIOS/metainfo.xml new file mode 100644 index 0000000..4edddbb --- /dev/null +++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/services/FAKENAGIOS/metainfo.xml @@ -0,0 +1,51 @@ +<?xml version="1.0"?> +<!-- + 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. +--> +<metainfo> + <schemaVersion>2.0</schemaVersion> + <services> + <service> + <name>FAKENAGIOS</name> + <displayName>Monitoring Service</displayName> + <comment>A test service for testing out how the API handles a monitoring service</comment> + <version>1.0</version> + <monitoringService>true</monitoringService> + <components> + <component> + <name>Monitoring Client</name> + <name>FAKE_MONITORING_CLIENT</name> + <category>CLIENT</category> + <commandScript> + <script>scripts/fake_monitoring.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + <component> + <name>Monitoring Server</name> + <name>FAKE_MONITORING_SERVER</name> + <category>SERVER</category> + <commandScript> + <script>scripts/fakeios.py</script> + <scriptType>PYTHON</scriptType> + <timeout>600</timeout> + </commandScript> + </component> + </components> + </service> + </services> +</metainfo>
