Support Questions

Find answers, ask questions, and share your expertise

HDP 3.0 Cloudbreak Deployment possible?

Explorer

Hi,

I just got a Cloudbreak 2.7.1 deployer server running. The press release for HDP 3.0 mentioned that is was possible to deploy 3.0 using Cloudbreak but HDP 3.0 isn't an available option under 2.7.1 (HDP 2.6 only). Do I need to upgrade Cloudbreak, add an MPack or how should I deploy HDP 3.0 via Cloudbreak?

Paul

1 ACCEPTED SOLUTION

Rising Star

Paul,

I ran into the same issue with CB 2.7.1. I'm sure there must be a better way to get it resolved, but here are the steps I used to create an HDP3.0 blueprint first, then further create an HDP 3.0 cluster by using CB 2.7.1:

Step1: Click 'Blueprints' on the left navigation pane, then click 'CREATE BLUEPRINT', input the name, for instance 'HDP 3.0 - Data Science: Apache Spark 2, Apache Zeppelin'

83406-step1.png

Step2: Add the following JSON into the 'Text' field, and click 'CREATE'

{
  "Blueprints": {
    "blueprint_name": "hdp30-data-science-spark2-v4",
    "stack_name": "HDP",
    "stack_version": "3.0"
  },
  "settings": [
    {
      "recovery_settings": []
    },
    {
      "service_settings": [
        {
          "name": "HIVE",
          "credential_store_enabled": "false"
        }
      ]
    },
    {
      "component_settings": []
    }
  ],
  "configurations": [
    {
      "core-site": {
        "fs.trash.interval": "4320"
      }
    },
    {
      "hdfs-site": {
        "dfs.namenode.safemode.threshold-pct": "0.99"
      }
    },
    {
      "hive-site": {
        "hive.exec.compress.output": "true",
        "hive.merge.mapfiles": "true",
        "hive.server2.tez.initialize.default.sessions": "true",
        "hive.server2.transport.mode": "http"
      }
    },
    {
      "mapred-site": {
        "mapreduce.job.reduce.slowstart.completedmaps": "0.7",
        "mapreduce.map.output.compress": "true",
        "mapreduce.output.fileoutputformat.compress": "true"
      }
    },
    {
      "yarn-site": {
        "yarn.acl.enable": "true"
      }
    }
  ],
  "host_groups": [
    {
      "name": "master",
      "configurations": [],
      "components": [
        {
          "name": "APP_TIMELINE_SERVER"
        },
        {
          "name": "HDFS_CLIENT"
        },
        {
          "name": "HISTORYSERVER"
        },
        {
          "name": "HIVE_CLIENT"
        },
        {
          "name": "HIVE_METASTORE"
        },
        {
          "name": "HIVE_SERVER"
        },
        {
          "name": "JOURNALNODE"
        },
        {
          "name": "MAPREDUCE2_CLIENT"
        },
        {
          "name": "METRICS_COLLECTOR"
        },
        {
          "name": "METRICS_MONITOR"
        },
        {
          "name": "NAMENODE"
        },
        {
          "name": "RESOURCEMANAGER"
        },
        {
          "name": "SECONDARY_NAMENODE"
        },
        {
          "name": "LIVY2_SERVER"
        },
        {
          "name": "SPARK2_CLIENT"
        },
        {
          "name": "SPARK2_JOBHISTORYSERVER"
        },
        {
          "name": "TEZ_CLIENT"
        },
        {
          "name": "YARN_CLIENT"
        },
        {
          "name": "ZEPPELIN_MASTER"
        },
        {
          "name": "ZOOKEEPER_CLIENT"
        },
        {
          "name": "ZOOKEEPER_SERVER"
        }
      ],
      "cardinality": "1"
    },
    {
      "name": "worker",
      "configurations": [],
      "components": [
        {
          "name": "HIVE_CLIENT"
        },
        {
          "name": "TEZ_CLIENT"
        },
        {
          "name": "SPARK2_CLIENT"
        },
        {
          "name": "DATANODE"
        },
        {
          "name": "METRICS_MONITOR"
        },
        {
          "name": "NODEMANAGER"
        }
      ],
      "cardinality": "1+"
    },
    {
      "name": "compute",
      "configurations": [],
      "components": [
        {
          "name": "HIVE_CLIENT"
        },
        {
          "name": "TEZ_CLIENT"
        },
        {
          "name": "SPARK2_CLIENT"
        },
        {
          "name": "METRICS_MONITOR"
        },
        {
          "name": "NODEMANAGER"
        }
      ],
      "cardinality": "1+"
    }
  ]
}

Step3: You now should be able to see the newly added HDP3.0 blueprint, and create a cluster off it

83407-step3.png

83410-hdp3.png

Hope it helps!

If you found it resolved the issue, please "accept" the answer, thanks.

View solution in original post

14 REPLIES 14

Rising Star

Paul,

I ran into the same issue with CB 2.7.1. I'm sure there must be a better way to get it resolved, but here are the steps I used to create an HDP3.0 blueprint first, then further create an HDP 3.0 cluster by using CB 2.7.1:

Step1: Click 'Blueprints' on the left navigation pane, then click 'CREATE BLUEPRINT', input the name, for instance 'HDP 3.0 - Data Science: Apache Spark 2, Apache Zeppelin'

83406-step1.png

Step2: Add the following JSON into the 'Text' field, and click 'CREATE'

{
  "Blueprints": {
    "blueprint_name": "hdp30-data-science-spark2-v4",
    "stack_name": "HDP",
    "stack_version": "3.0"
  },
  "settings": [
    {
      "recovery_settings": []
    },
    {
      "service_settings": [
        {
          "name": "HIVE",
          "credential_store_enabled": "false"
        }
      ]
    },
    {
      "component_settings": []
    }
  ],
  "configurations": [
    {
      "core-site": {
        "fs.trash.interval": "4320"
      }
    },
    {
      "hdfs-site": {
        "dfs.namenode.safemode.threshold-pct": "0.99"
      }
    },
    {
      "hive-site": {
        "hive.exec.compress.output": "true",
        "hive.merge.mapfiles": "true",
        "hive.server2.tez.initialize.default.sessions": "true",
        "hive.server2.transport.mode": "http"
      }
    },
    {
      "mapred-site": {
        "mapreduce.job.reduce.slowstart.completedmaps": "0.7",
        "mapreduce.map.output.compress": "true",
        "mapreduce.output.fileoutputformat.compress": "true"
      }
    },
    {
      "yarn-site": {
        "yarn.acl.enable": "true"
      }
    }
  ],
  "host_groups": [
    {
      "name": "master",
      "configurations": [],
      "components": [
        {
          "name": "APP_TIMELINE_SERVER"
        },
        {
          "name": "HDFS_CLIENT"
        },
        {
          "name": "HISTORYSERVER"
        },
        {
          "name": "HIVE_CLIENT"
        },
        {
          "name": "HIVE_METASTORE"
        },
        {
          "name": "HIVE_SERVER"
        },
        {
          "name": "JOURNALNODE"
        },
        {
          "name": "MAPREDUCE2_CLIENT"
        },
        {
          "name": "METRICS_COLLECTOR"
        },
        {
          "name": "METRICS_MONITOR"
        },
        {
          "name": "NAMENODE"
        },
        {
          "name": "RESOURCEMANAGER"
        },
        {
          "name": "SECONDARY_NAMENODE"
        },
        {
          "name": "LIVY2_SERVER"
        },
        {
          "name": "SPARK2_CLIENT"
        },
        {
          "name": "SPARK2_JOBHISTORYSERVER"
        },
        {
          "name": "TEZ_CLIENT"
        },
        {
          "name": "YARN_CLIENT"
        },
        {
          "name": "ZEPPELIN_MASTER"
        },
        {
          "name": "ZOOKEEPER_CLIENT"
        },
        {
          "name": "ZOOKEEPER_SERVER"
        }
      ],
      "cardinality": "1"
    },
    {
      "name": "worker",
      "configurations": [],
      "components": [
        {
          "name": "HIVE_CLIENT"
        },
        {
          "name": "TEZ_CLIENT"
        },
        {
          "name": "SPARK2_CLIENT"
        },
        {
          "name": "DATANODE"
        },
        {
          "name": "METRICS_MONITOR"
        },
        {
          "name": "NODEMANAGER"
        }
      ],
      "cardinality": "1+"
    },
    {
      "name": "compute",
      "configurations": [],
      "components": [
        {
          "name": "HIVE_CLIENT"
        },
        {
          "name": "TEZ_CLIENT"
        },
        {
          "name": "SPARK2_CLIENT"
        },
        {
          "name": "METRICS_MONITOR"
        },
        {
          "name": "NODEMANAGER"
        }
      ],
      "cardinality": "1+"
    }
  ]
}

Step3: You now should be able to see the newly added HDP3.0 blueprint, and create a cluster off it

83407-step3.png

83410-hdp3.png

Hope it helps!

If you found it resolved the issue, please "accept" the answer, thanks.

Explorer

Thanks dsun, that has worked for me. Note I used Dominika's blueprint below but don't know if it makes any difference.

Rising Star
@Paul NorrisGlad it helped. If you look at the JSON contents, both Dominika & I are referring to the same blueprint.

@Paul Norris It is possible to use Cloudbreak 2.7.1 to deploy HDP 3.0; However, Cloudbreak 2.7.1 does not include any default blueprints for HDP 3.0 and so if you want to use HDP 3.0 you must first:

1) create an HDP 3.0 blueprint. Here is an example:

{
  "Blueprints": {
    "blueprint_name": "hdp30-data-science-spark2-v4",
    "stack_name": "HDP",
    "stack_version": "3.0"
  },
  "settings": [
    {
      "recovery_settings": []
    },
    {
      "service_settings": [
        {
          "name": "HIVE",
          "credential_store_enabled": "false"
        }
      ]
    },
    {
      "component_settings": []
    }
  ],
  "configurations": [
    {
      "core-site": {
        "fs.trash.interval": "4320"
      }
    },
    {
      "hdfs-site": {
        "dfs.namenode.safemode.threshold-pct": "0.99"
      }
    },
    {
      "hive-site": {
        "hive.exec.compress.output": "true",
        "hive.merge.mapfiles": "true",
        "hive.server2.tez.initialize.default.sessions": "true",
        "hive.server2.transport.mode": "http"
      }
    },
    {
      "mapred-site": {
        "mapreduce.job.reduce.slowstart.completedmaps": "0.7",
        "mapreduce.map.output.compress": "true",
        "mapreduce.output.fileoutputformat.compress": "true"
      }
    },
    {
      "yarn-site": {
        "yarn.acl.enable": "true"
      }
    }
  ],
  "host_groups": [
    {
      "name": "master",
      "configurations": [],
      "components": [
        {
          "name": "APP_TIMELINE_SERVER"
        },
        {
          "name": "HDFS_CLIENT"
        },
        {
          "name": "HISTORYSERVER"
        },
        {
          "name": "HIVE_CLIENT"
        },
        {
          "name": "HIVE_METASTORE"
        },
        {
          "name": "HIVE_SERVER"
        },
        {
          "name": "JOURNALNODE"
        },
        {
          "name": "MAPREDUCE2_CLIENT"
        },
        {
          "name": "METRICS_COLLECTOR"
        },
        {
          "name": "METRICS_MONITOR"
        },
        {
          "name": "NAMENODE"
        },
        {
          "name": "RESOURCEMANAGER"
        },
        {
          "name": "SECONDARY_NAMENODE"
        },
        {
          "name": "LIVY2_SERVER"
        },
        {
          "name": "SPARK2_CLIENT"
        },
        {
          "name": "SPARK2_JOBHISTORYSERVER"
        },
        {
          "name": "TEZ_CLIENT"
        },
        {
          "name": "YARN_CLIENT"
        },
        {
          "name": "ZEPPELIN_MASTER"
        },
        {
          "name": "ZOOKEEPER_CLIENT"
        },
        {
          "name": "ZOOKEEPER_SERVER"
        }
      ],
      "cardinality": "1"
    },
    {
      "name": "worker",
      "configurations": [],
      "components": [
        {
          "name": "HIVE_CLIENT"
        },
        {
          "name": "TEZ_CLIENT"
        },
        {
          "name": "SPARK2_CLIENT"
        },
        {
          "name": "DATANODE"
        },
        {
          "name": "METRICS_MONITOR"
        },
        {
          "name": "NODEMANAGER"
        }
      ],
      "cardinality": "1+"
    },
    {
      "name": "compute",
      "configurations": [],
      "components": [
        {
          "name": "HIVE_CLIENT"
        },
        {
          "name": "TEZ_CLIENT"
        },
        {
          "name": "SPARK2_CLIENT"
        },
        {
          "name": "METRICS_MONITOR"
        },
        {
          "name": "NODEMANAGER"
        }
      ],
      "cardinality": "1+"
    }
  ]
}

2) Upload the blueprint to Cloudbreak (you can paste it under the Blueprints menu item).

3) When creating a cluster:

- Under General Configuration, select Platform Version > HDP-3.0 and then your blueprint should appear under Cluster Type

- Under Image Settings, specify Ambari 2.7 and HDP 3.0 public repos (you can find them in Ambari 2.7 docs: https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.0.0/bk_ambari-installation/content/ch_obtaining....

Explorer

Thanks, Dominika, I used your Blueprint and it didn't seem to need me to add the repo's, it had the correct information there automatically.

Great! I wasn't sure if Cloudbreak would do it correctly.

Hello Dominika, The blueprint in the example given was for Data Science: Apache Spark 2, Apache Zeppelin.

Do you have a sample blueprint for HDP 3.0 - EDW-ETL: Apache Hive, Apache Spark 2 which I can run on Cloudbreak 2.7.x?

@Pushpak Nandi I do not have any EDW-ETL blueprint for HDP 3.1. Last time I heard the plan was to only ship EDW-Analytics with HDP 3.1.

@Dominika Bialek : Hello Dominika, another interesting thing I found out - if I change the stack version to 3.1 in your HDP3.0 blueprint to try to create HDP3.1 cluster, it fails with the following error (but runs well with 3.0) -

Couldn't determine Ambari repo for the stack: <blueprint-name>

Change made:

  1. "Blueprints":{
  2. "blueprint_name":"hdp31-data-science-spark2-v4",
  3. "stack_name":"HDP",
  4. "stack_version":"3.1"
  5. },
  6. So, does it mean the latest Cloudbreak version (2.7.x) can support HDP3.0 but not HDP3.1?

    Another follow up question:

    When you said "the plan was to only ship EDW-Analytics with HDP 3.x", does it mean the customization of blueprint will not be possible in the current Cloudbreak version to include other components that come with EDW-ETL?

    Please advise.

    @Pushpak Nandi

    Cloudbreak 2.7.2 or earlier does not fully support HDP 3.x. That's why no default HD 3.x blueprints were included. This doesn't mean that it is impossible to create some HDP 3.x cluster; it just means that there was no sufficient testing completed and/or that no changes were made in Cloudbreak/Ambari for Cloudbreak to support it. A future Cloudbreak release will support some HDP 3.x release(s).

    Regarding the second question, what I meant to say is that there is always a limited number of blueprints provided by default; You can always create your own. If we do not ship one for EDW-ETL then you can prepare one by yourself snd upload it.

    Hope this helps!

    Hi @Dominika Bialek, few queries:

    1. Can you please supply a custom blueprint for

    Data Science: Apache Spark 2, Apache Zeppelin/EDW-Analytics with HDP 3.1?

    2. Also, if I use the custom blueprint (Data Science: Apache Spark 2, Apache Zeppelin with HDP3.0) supplied by you in this thread and try to create a 3 node cluster, there is a timeout happening due to which cluster creation is failing every time (this is not happening with HDP2.6 default blueprint).


    • Operation timed out. Failed to find all '3' Ambari hosts. Stack: '34' 2/6/2019, 4:24:20 PM
    • Building Ambari cluster; Ambari ip:172.31.90.36 2/6/2019, 4:04:06 PM
    • Starting Ambari cluster services 2/6/2019, 4:02:12 PM
    • Setting up infrastructure metadata 2/6/2019, 4:02:11 PM
    • Bootstrapping infrastructure cluster 2/6/2019, 4:01:45 PM
    • Infrastructure successfully provisioned 2/6/2019, 4:01:45 PM

    Snapshot of the error from the log:

    cloudbreak_1 | 2019-02-06 13:00:05,631 [reactorDispatcher-42] pollWithTimeout:56 INFO c.s.c.s.PollingService - [owner:d96fcce1-a991-4cf7-aa0b-6d186dc764bc] [type:CLUSTER] [id:34] [name:dip-test-cluster-hdp3x] [flow:84633730-dade-402b-b06b-8adf59f989a3] [tracking:53e509cd-6c8e-4c78-8d9f-2e79f6ec951e] Poller timeout.
    cloudbreak_1 | 2019-02-06 13:00:05,632 [reactorDispatcher-42] buildCluster:182 ERROR c.s.c.s.c.a.AmbariClusterSetupService - [owner:d96fcce1-a991-4cf7-aa0b-6d186dc764bc] [type:CLUSTER] [id:34] [name:dip-test-cluster-hdp3x] [flow:84633730-dade-402b-b06b-8adf59f989a3] [tracking:53e509cd-6c8e-4c78-8d9f-2e79f6ec951e] Error while building the Ambari cluster. Message Operation timed out. Failed to find all '3' Ambari hosts. Stack: '34', throwable: {}
    cloudbreak_1 | com.sequenceiq.cloudbreak.service.cluster.ambari.AmbariHostsUnavailableException: Operation timed out. Failed to find all '3' Ambari hosts. Stack: '34'

    Can you please advise?

    @Pushpak Nand

    Perhaps you want to try Cloudbreak 2.9 if launching HDP 3.1 is important to you:

    https://community.hortonworks.com/articles/239903/introducing-cloudbreak-290-ga.html

    https://docs.hortonworks.com/HDPDocuments/Cloudbreak/Cloudbreak-2.9.0/index.html

    You can update to it if you are currently on an earlier release. It does come with default HDP 3.1 blueprints.

    Take a Tour of the Community
    Don't have an account?
    Your experience may be limited. Sign in to explore more.