AMBARI-20950. HdfsResource can not handle S3 URL when hbase.rootdir is set to S3 URL (aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7f3d3b21 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7f3d3b21 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7f3d3b21 Branch: refs/heads/branch-feature-AMBARI-14714 Commit: 7f3d3b21a961581678cb7c072ec71e5eb15d7da9 Parents: d0f7a51 Author: Andrew Onishuk <aonis...@hortonworks.com> Authored: Mon Jul 10 12:58:10 2017 +0300 Committer: Andrew Onishuk <aonis...@hortonworks.com> Committed: Mon Jul 10 12:58:10 2017 +0300 ---------------------------------------------------------------------- .../HBASE/0.96.0.2.0/package/scripts/hbase.py | 12 +++++++----- .../HBASE/0.96.0.2.0/package/scripts/params_linux.py | 3 +++ 2 files changed, 10 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/7f3d3b21/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase.py index 8ad802e..cec6b2a 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/hbase.py @@ -17,6 +17,7 @@ See the License for the specific language governing permissions and limitations under the License. """ +from urlparse import urlparse import os import sys from resource_management.libraries.script.script import Script @@ -200,11 +201,12 @@ def hbase(name=None): owner=params.hbase_user ) if name == "master": - params.HdfsResource(params.hbase_hdfs_root_dir, - type="directory", - action="create_on_execute", - owner=params.hbase_user - ) + if not params.hbase_hdfs_root_dir_protocol or params.hbase_hdfs_root_dir_protocol == urlparse(params.default_fs).scheme: + params.HdfsResource(params.hbase_hdfs_root_dir, + type="directory", + action="create_on_execute", + owner=params.hbase_user + ) params.HdfsResource(params.hbase_staging_dir, type="directory", action="create_on_execute", http://git-wip-us.apache.org/repos/asf/ambari/blob/7f3d3b21/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py index d45aea6..e05da06 100644 --- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py +++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py @@ -17,6 +17,8 @@ See the License for the specific language governing permissions and limitations under the License. """ +from urlparse import urlparse + import status_params import ambari_simplejson as json # simplejson is much faster comparing to Python 2.6 json module and has the same functions set. @@ -237,6 +239,7 @@ else: hbase_env_sh_template = config['configurations']['hbase-env']['content'] hbase_hdfs_root_dir = config['configurations']['hbase-site']['hbase.rootdir'] +hbase_hdfs_root_dir_protocol = urlparse(hbase_hdfs_root_dir).scheme hbase_staging_dir = "/apps/hbase/staging" #for create_hdfs_directory hostname = config["hostname"]