Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Floating elephants: Developing data wrangling s...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Floating elephants: Developing data wrangling systems on Docker

If you are building applications for the big data world, you’ll need access to a variety of big data platform configurations during development and continuous integration. These deployments need to scale down to an individual laptop or scale up to a realistic test cluster, and they need to be interchangeable with quick setup and teardown. Chad Metcalf and Seshadri Mahalingam explore several strategies for meeting this challenge by containerizing and deploying Hadoop services in Docker. Chad and Seshadri share lessons learned from solutions that they built, some which have been open sourced, and dig into topics including how to manage the images lifecycle, configuration, persistent data, multihost networking with Docker Engine and Swarm, and creating different deployment environments with Docker Machine.

http://conferences.oreilly.com/strata/hadoop-big-data-eu/public/schedule/detail/49727

Avatar for Seshadri Mahalingam

Seshadri Mahalingam

June 02, 2016

Other Decks in Technology

Transcript

  1. Applications on Hadoop What do we need? Docker: Containerizing Environments

    Floating Elephants: An implementation Outline 1 2 3 4
  2. Applications on Hadoop, eg. Trifacta 4 QUESTION ANALYZE INSIGHT DISCOVER

    STRUCTURE CLEANSE ENRICH VALIDATE PUBLISH DATA WRANGLING
  3. Challenges Vendor + Version Differences Maintaining compatibility across API changes

    Security Vast majority of customer issues due to security misconfiguration
  4. Challenges Reproducibility Recreating identical Hadoop environments with vendor tools is

    challenging Vendor + Version Differences Maintaining compatibility across API changes Security Vast majority of customer issues due to security misconfiguration
  5. Challenges Reproducibility Recreating identical Hadoop environments with vendor tools is

    challenging Vendor + Version Differences Maintaining compatibility across API changes Security Vast majority of customer issues due to security misconfiguration Test in Continuous Integration
  6. Applications on Hadoop What do we need? Docker: Containerizing Environments

    Floating Elephants: An implementation Outline 2 1 3 4
  7. Applications on Hadoop What do we need? Docker: Containerizing Environments

    Floating Elephants: An implementation Outline 2 1 3 4
  8. Docker containers wrap up a piece of software in a

    complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.
  9. Docker Containers Clear Definition Dockerfile contains all the commands used

    to assemble an image Portable Runs on practically any modern computer, on any infrastructure
  10. Docker Containers Clear Definition Dockerfile contains all the commands used

    to assemble an image Portable Runs on practically any modern computer, on any infrastructure Inheritance Add layers to existing images for more services
  11. Docker Containers Clear Definition Dockerfile contains all the commands used

    to assemble an image Portable Runs on practically any modern computer, on any infrastructure Inheritance Add layers to existing images for more services
  12. 23

  13. 23

  14. 23

  15. 24

  16. 24

  17. 24

  18. Security - Kerberos Permissions & Directory Structure User & Group

    Configuration https://hub.docker.com/r/adelton/freeipa-server/
  19. Complexity - Layers of Services 29 Base (Java, System deps)

    HDFS, YARN Spark Hive … Easy to add incremental services
  20. Complexity - Layers of Services 29 Base (Java, System deps)

    HDFS, YARN Spark Hive … Easy to add incremental services Difficult to change lower layers
  21. Complexity - Layers of Services 29 Base (Java, System deps)

    HDFS, YARN Spark Hive … Easy to add incremental services Difficult to change lower layers Code smell: Mirrors underlying implementation without abstraction
  22. Complexity - Layers of Services 29 Base (Java, System deps)

    HDFS, YARN Spark Hive … Easy to add incremental services Difficult to change lower layers Code smell: Mirrors underlying implementation without abstraction Bloated Dockerfile hard to understand
  23. Applications on Hadoop What do we need? Docker: Containerizing Environments

    Floating Elephants: An implementation Outline 2 1 3 4
  24. Docker Networking 32 Container = Virtual Node Attach nodes to

    networks Globe by Bluetip Design from the Noun Project
  25. Docker Networking 32 Container = Virtual Node Attach nodes to

    networks Globe by Bluetip Design from the Noun Project
  26. Docker Networking 32 Container = Virtual Node Attach nodes to

    networks Globe by Bluetip Design from the Noun Project
  27. More features with Docker Networking 34 Multi-host Overlay networks with

    Docker High Availability Redundant NameNode, ResourceManager, ZooKeeper
  28. 38 See a Demo at Booth #309 Download Trifacta Wrangler

    for Free trifacta.com/start-wrangling