Git Product home page Git Product logo

hadoop's Introduction

What is this repository?

This repository is based on Apache Hadoop 2.7.1 source code. It is used to make Naver's large scale multi-tenant hadoop cluster, which is called C3. The C3 users can execute several data processing jobs with MapReduce, Spark and Hive on CPU, and execute Deep Learning algorithms on GPU. And also they can run long-live applications on docker container.

Recently hadoop's new features is adding to Hadoop 2.8 or Hadoop 3.0. However if you are using hadoop cluster for years in production, your hadoop version maybe is not hadoop 2.8 or 3.0, because these versions is not recommended for production cluster yet. Thus you can't use very useful new features: GPU scheduler, docker container, several resource isolations(e.g. network outbound, disk).

We're applying and developing new features to this repository. You can see histories in commit logs.

Features

  • GPU resource type for scheduling : YARN-5517
  • Docker Containers in LinuxContainerExecutor : YARN-3611
  • Network Outbound isolation : YARN-2140
  • Balanced DataNode's local disk use ratio in several different disk capacity : Doc
  • Choose native library considering node' OS automatically : Doc
  • Multiple remote-app-log-dir for multiple NameNodes : See yarn-default.xml
  • ...

Build

See BUILDING.txt to check required packages and run install_requirements.sh to install.

If you installed required packages, there is source.me file which declare several environment variables.

source source.me
REV={NUMBER} # add 1 to lastest tag which checking git tag
git tag r$REV
mvn clean package install -Dversion-info.scm.commit=${REV} -Pdist,native -DskipTests -Dtar -Dmaven.javadoc.skip=true -Dcontainer-executor.conf.dir=/etc/hadoop/ -Dsnappy.prefix=$SNAPPY_PREFIX -Drequire.snappy=true -Dsnappy.lib=$SNAPPY_PREFIX/lib -Dbundle.snappy=true
git push --tags

If you want to build the package without native libraries, remove -Pnative option.

source source.me
REV={NUMBER} # check last tag using git tag command, then add 1
mvn clean package install -Dversion-info.scm.commit=${REV} -Pdist -DskipTests -Dtar -Dmaven.javadoc.skip=true -Dcontainer-executor.conf.dir=/etc/hadoop/

Currently if you build the hadoop package, we recommend running maven with -DskipTests. Depending on the build environment, maven tests can sometimes fail and some our improvements need to be fix.

Package Naming

We are using a separate package for HDFS and YARN, so the packages's name is like this:

  • YARN: hadoop-yarn-2.7.1-r${REV}-arch-${OS}-x86_64.tar.gz
  • HDFS: hadoop-hdfs-2.7.1-r${REV}-arch-${OS}-x86_64.tar.gz
  • MAPRED: hadoop-2.7.1-r${REV}.tar.gz
    • this is package without native libraries

hadoop's People

Contributors

acmurthy avatar arp7 avatar aspen01 avatar atm avatar aw-was-here avatar cdouglas avatar cmccabe avatar cnauroth avatar elicollins avatar jian-he avatar jing9 avatar jlowe avatar junpingdu avatar kambatla avatar kihwal avatar oza avatar qwertymaniac avatar revans2 avatar shvachko avatar sidseth avatar sryza avatar steveloughran avatar szetszwo avatar tgravescs avatar toddlipcon avatar tomwhite avatar umamaheswararao avatar umbrant avatar vinoduec avatar zjshen14 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.