hortonworks / ansible-hortonworks

Ansible playbooks for deploying Hortonworks Data Platform and DataFlow using Ambari Blueprints
Apache License 2.0
248 stars 253 forks source link

Cluster Topology validation failed #47

Closed waltari2001 closed 6 years ago

waltari2001 commented 6 years ago

Hi,

I am trying to deploy a simple HDFS cluster w/o a resource manager. Here's my BP template:

blueprint_name: '{{ cluster_name }}_blueprint'
blueprint_file: 'blueprint_dynamic.j2'
blueprint_dynamic:             
  - host_group: "hdp-master"
    clients: ['ZOOKEEPER_CLIENT', 'HDFS_CLIENT']
    services:
      - ZOOKEEPER_SERVER
      - NAMENODE
      - SECONDARY_NAMENODE
      - AMBARI_SERVER
      - METRICS_COLLECTOR
      - METRICS_GRAFANA
      - METRICS_MONITOR
  - host_group: "hdp-slave"
    clients: ['ZOOKEEPER_CLIENT', 'HDFS_CLIENT']
    services:
      - DATANODE
      - NODEMANAGER
      - METRICS_MONITOR

But the deployment keeps failing with:

FAILED! => {"cache_control": "no-store", "changed": false, "connection": "close", "content": "{\n \"status\" : 400,\n \"message\" : \"Cluster Topology validation failed. Invalid service component count: [APP_TIMELINE_SERVER(actual=0, required=1), RESOURCEMANAGER(actual=0, required=1-2), TIMELINE_READER(actual=0, required=1), YARN_CLIENT(actual=0, required=1+)]. To disable topology validation and create the blueprint, add the following to the end of the url: '?validate_topology=false'\"\n}", "content_type": "text/plain;charset=utf-8", "date": "Mon, 17 Sep 2018 10:50:56 GMT", "expires": "Thu, 01 Jan 1970 00:00:00 GMT", "json": {"message": "Cluster Topology validation failed. Invalid service component count: [APP_TIMELINE_SERVER(actual=0, required=1), RESOURCEMANAGER(actual=0, required=1-2), TIMELINE_READER(actual=0, required=1), YARN_CLIENT(actual=0, required=1+)]. To disable topology validation and create the blueprint, add the following to the end of the url: '?validate_topology=false'", "status": 400}, "msg": "Status code was 400 and not [200, 201, 202, 409]: HTTP Error 400: Bad Request", "pragma": "no-cache", "redirected": false, "set_cookie": "AMBARISESSIONID=node014endllt0wk5010rxj91xc3xxv9.node0;Path=/;HttpOnly", "status": 400, "url": "http://hdfs01.adm01.com:8080/api/v1/blueprints/mytestcluster_blueprint", "user": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "x_content_type_options": "nosniff, nosniff", "x_frame_options": "DENY", "x_xss_protection": "1; mode=block"}

Any help is really appreciated !

Sadek

alessandrolulli commented 6 years ago

Dear Sadek, the error states that you are missing to add the RESOURCEMANAGER component, for instance you should add it to the hdp-master group as described in: https://github.com/hortonworks/ansible-hortonworks/blob/master/playbooks/group_vars/all

I suggest to start with the very same configuration and removing the unnecessary components for your architecture.

waltari2001 commented 6 years ago

Dear Sadek, the error states that you are missing to add the RESOURCEMANAGER component, for instance you should add it to the hdp-master group as described in: https://github.com/hortonworks/ansible-hortonworks/blob/master/playbooks/group_vars/all

I suggest to start with the very same configuration and removing the unnecessary components for your architecture.

That is exactly what I did. I do not want any RESOURCEMANAGER components installed. I am using the blueprint_dynamic.j2 as blueprint_file. Also, host_group values do match what I have in the inventory file.

ambari_version: '2.7.0.0'
hdp_version: '3.0.0.0'

alexandruanghel commented 6 years ago

Hi, if you do not want the RESOURCEMANAGER component then it means you do not want YARN so you should also remove from those variables all YARN components and all other components that require YARN.

Looking at your variables, I believe the issue is that you left NODEMANAGER in the hdp-slave group. Remove that component and Ambari shouldn't complain any longer.

Here's an example of an hdfs-only blueprint: https://github.com/hortonworks/ansible-hortonworks/blob/master/playbooks/roles/ambari-blueprint/templates/blueprint_hdfs_only.j2#L27

waltari2001 commented 6 years ago

@alexandruanghel Good catch ! Thanks!