
KOREAN | ENGLISH
Welcome to Flamingo Community!
Flamingo is a open source community and Flamingo Hadoop Manager is a open source Big Data Platform that combine a Ajax Rich Web Interface + CLI + Workflow Engine + Workflow Designer + MapReduce.
 | Download Flamingo Hadoop Manager
0.2 version - current stable version(03 December, 2012) 0.1 version - old legacy version(01 June, 2012) - How to build source code : Click me
- System requirements : Click me
- Learn how to setup a project and configure : Click me
Download it today and experience it for yourself! |
Why Flamingo Hadoop Manager?
Big Data Ecosystem is growing rapidly and so many people know what they need to use Hadoop for Big Data. BUT there is no EASY and FAST and INTUITIVE tool in the world of big data. Especially if you created a last file, you need a variety of workflows and there is a dependence between the workflows. And also it have to verify a Pre-Condition before start workflow. In addition there is a variety of DATE patten.
Just Imagine it!
Combine elastic MapReduce, Pig, Hive and their similar parts(based open source) AND interactive data visualization with processing AND Hadoop Optimization solution. What a great tool! That's why you have to use Flamingo Hadoop Manager! Flamingo Hadoop Manager is newly built-in Visual Workflow Engine Designer makes fast and flexible. That's what the Flamingo Hadoop Manager is wonderful in your company and in your life.
Features
- DAG(Directed acyclic graph) based Workflow Engine for Hadoop
- Job Scheduler
- Command Line Interface(CLI)
- Workflow Designer
- Job Management
- MapReduce Module(ex; ETL, Mining Algorithm) (limit customer subscription)
- Dashboard
- Apache Pig & Hive IDE (planning)
- Mahout, Pig, Hive Integration (planning)
- Command Line Shell (planning)
Flamingo Hadoop Manager is a open source Big Data Platform that developing the platform by field experience.
See the more details : License Policy
Mission
- Simple and Easy to handle
- A distributed processing of large file system using visual the Workflow Designer
- Integrated development environment for Hadoop Optimization
- Automatic workflow processe
- Intuitive User Interfaces(UI)
Resources
SVN : Source Code
#svn checkout svn://svn.code.sf.net/p/hadoop-manager/svn hadoop-manager
Screen Shots



News
Flamingo Hadoop Manager 0.1 버전에는 HDFS를 편리하게 사용하기 위한 HDFS Browser가 제공됩니다. 이 HDFS Browser를 통해 디렉토리 및 파일 관리를 보다 편리하게 할 수 있습니다. 기본화면 다음은 HDFS Browser에 접근했을 때 나타나는 기본 화면입니다. 좌측은 디렉토리를 우측은 파일을 보여줍니다. 파일 및 디렉토리를 처리하는 기능은 상단의 툴바에서 버튼 형식으로 제공합니다. 파일 목록 보기 다음은 좌측의 디렉토리를 선택했을 때 파일 목록을 보여주는 화면입니다. 디렉토리를 선택할 때마다 우측에는 파일의 목록과 디렉토리의 크기 그리고 파일의 개수가 나타납니다. 디렉토리 및 파일 관리 파일과 디렉토리 목록이 나타나면 새로 생성하거나 복사등과 같은 파일 처리 작업을 할 수 있습니다. 파일 이동 및 복사 다음은 파일 이동 화면으로 파일을 이동하기 위해서 이동할 파일을 선택한 후 우측 목록의 상단에 있는 이동 버튼을 누르면 됩니다.…
릴리즈 정보 이번 첫번째 릴리즈에는 공통으로 사용가능한 MapReduce 기반 ETL이 포함되어 있습니다.…
Hadoop MapReduce Job을 실행하기 위해서는 그것에 맞는 적절한 파라미터를 제공해야 한다. 파라미터 처리 방법을 표준화하는 것도 생각보다 까다롭고 하나 이상의 Job을 chain 형태로 동작시키는 경우 파라미터리 또한 만만하지 않다. 이런 문제를 조금이나마 해결해주는 기능이 Mahout에 포함되어 있다. Mahout은 파라미터 처리를 AbstractJob에서 처리하며 실제로 그 근간은 Commons-CLI가 수행한다. 모든 Hadoop MapReduce Job은 이 AbstractJob을 상속하게 되며 이 AbstractJob에는 input path, output path, parameter 등을 처리하도록 공통 기능을 제공한다. 예를 들어 다음과 같이 Hadoop MapReduce Job에 파라미터를 넘긴다고 가정해보면 #hadoop jar flamingo-mapreduce.jar CleanDriver --input /input.txt --output /output.…
Maven 2를 쓰다가 Maven 2 Repository 위치를 MAVEN_HOME/conf/settings.xml 파일에 수동으로 지정하여 변경하게 되면 신기하게도 settings.xml 파일이 제대로 동작하지 않는 경우가 있다. 하도 테스트를 하다가 결국 이 방법을 쓰기로 했다. #mvn --settings /home/fharenheit/settings.xml install 왜 이렇게 해뒀을까 싶다.
Spring Framework을 사용하다보면 Bean 내부에서, Application Context XML 내부에서 .properties 파일을 직접 참고해서 사용해야 할 때가 있습니다. 이때 사용할 수 있는 방법입니다. 우선 config.properties 파일에 다음과 같이 정의합니다. hello.world=Hello World Application Context XML 파일에 다음과 같이 .properties 파일을 로딩합니다. 이때 여러 개의 파일이 있다면 id로 unique하게 지정할 수 있습니다. <
util:properties id="config" location="
classpath:config.properties" /> PropertyPlaceHolder를 이용하면 expression으로 즉시 사용할 수 있지만 .properties 파일에서 접근하고자 하면 다음과 같이 id와 key의 조합으로 injection할 수 있습니다. <property name="helloProperty" value="#{config['hello.world']}"/> Annotation을 기반으로 injection을 수행하려면 다음과 같이 @Value annotation을 사용하면 되비다.</property></
util:properties>…
Hadoop Configuration 정보를 수정할 수 있는 UI Prototype입니다. Global, Job에 대한 Key/Value 형식의 정보를 추가할 수 있습니다.
Open Flamingo UI에서 제공하고자 하는 Hadoop Job Tracker Summary UI Prototype입니다. 해당 Job을 더블클릭 하거나 정보 버튼을 누르면 해당 Job Tracker UI로 이동하게 됩니다.
Open Flamingo의 UI에서 지원할 HDFS Browser의 초기 UI Prototype입니다. 추후에 추가했으면 하는 기능은 일괄 처리 기능과 업로드 기능입니다. 일괄 처리 기능은 일괄 파일명 변경이나 패턴에 따른 파일 삭제 및 복사 등의 기능이며 업로드 기능은 해당 디렉토리에 바이너리 파일을 업로드하는 기능입니다.
Flamingo ETL에 Clean & Aggregate ETL이 추가되었습니다. 이 두 ETL은 MapReduce를 기반으로 구현되어 있습니다. Clean ETL은 복수의 컬럼을 삭제하는 기능으로 제공합니다. 이 기능을 구현하기 위해서 재사용성을 위해서 CsvRowParser를 이용하였습니다. 하나 이상의 컬럼을 columnsToClean 옵션으로 comma separated 형식으로 제공하면 CsvRowParser가 삭제하고 컬럼을 재구성하는 구조입니다. Aggregate ETL은 하나 이상의 파일을 하나로 취합할 때 사용합니다. 다만 일반적인 기능으로 크게 활성은 제공되지 않으나 파일의 모아서 다른 시스템에 제공하거나 또는 Counter를 이용하고 싶은 경우 사용할 수 있습니다. Aggregate ETL에는 특별하게 하나 이상의 디렉토리 및 파일을 입력 파일로 사용하는 경우 파일별로 Line Number를 Counter로 제공합니다.…
Open Flamingo 통합 빌드를 위해서 KT ucloud cs 서비스로 CentOS에 Atlassian Bamboo를 구성했습니다. 주소는
http://14.63.215.20:8085 입니다. 도메인은
http://bamboo.openflamingo.org 입니다.
Flamingo Hadoop Manager 0.2 버전이 릴리즈되었습니다. 이번 릴리즈 버전은 안정화 버전입니다.
0.2 버전 다운로드
설치 가이드
Release Note
Bug
[FLAMINGO-10] - 한글 파일 업로드시 Audit History 저장 에러 발생
[FLAMINGO-12] - 새로운 디렉토리 생성후 업로드시 업로드 오류
[FLAMINGO-30] - FileSystem 획득시 무한 루프에 빠지는 문제
[FLAMINGO-34] - Workflow 테이블의 날짜 형식중에서 HHmmss 짤리는 문제
[FLAMINGO-45] - 기간 검색(시작일,종료일,상태코드) 출력되지 않음
[FLAMINGO-47] - 조회 목록과 페이징 네비게이션 공백이 보인다.…
JavaDoc 생성하기
Flamingo Hadoop Manager의 JavaDoc 생성은 Ant로 수행하며 그 결과는 UML을 포함한 HTML 형식의 JavaDoc과 RTF 형식의 JavaDoc이 생성됩니다. RTF 형식의 JavaDoc은 Microsoft Word를 통해서 로딩할 수 있습니다. 다음은 Flamingo Community에서 운영하는 통합 빌드 서버인 TeamCity입니다. Hadoop Manager 항목에 보면 JavaDoc API가 있습니다 .여기에 다음과 같이 Artifacts를 선택하면 두 가지 형태의 JavaDoc 결과물을 받아볼 수 있습니다.
TeamCity 서버의 URL은 http://115.68.14.50:8111 이며 로그인은 사용자명에 guest 라고 입력하시면 됩니다. guest로 로그인시 패스워드는 입력하지 않습니다.…
Flaming Hadoop Manager에서 사용하는 ExtJS 기반 JavaScript의 API를 생성하기 위해서 서버에 JSDuck이 설치되었고 Ant 빌드 스크립트에 JSDuck을 이용하여 API를 생성하는 target이 추가되었습니다. 현재 TeamCity 빌드 서버에는 다음과 같이 설정되어 있습니다.
위와 같이 js-api.zip 파일의 index.html을 선택하면 다음과 같은 화면을 확인하실 수 있습니다.
Flamingo Hadoop Manager의 JavaScript API를 생성하는 방법을 확인하려면 Java & JavaScript API 생성 페이지를 확인해주십시오.
Flamingo는 통합 빌드 서버로 JetBrains TeamCity를 사용합니다. 매일 1회 바이너리 빌드 및 JavaDoc API를 새벽에 자동 생성하도록 스케줄링 되어 있습니다. 빌드 서버는 http://115.68.14.50:8111 에 있으며 guest 계정(패스워드 입력하지 않음)으로 로그인 하면 다음과 같은 화면을 볼 수 있습니다.
JavaDoc API를 다운로드 하기 위해서는 다음과 같이 artifacts에서 javadoc-api.zip 파일을 다운로드 하면 됩니다.
다운로드 후에는 압축을 해제하고 웹 브라우저로 내용을 확인하실 수 있습니다.
Flamingo 위키에 Scroll Office가 설치되어 있습니다. 그래서 다음의 순서대로 MS Word 파일로 위키 페이지를 변환할 수 있습니다. 우선 MS Word로 변환할 페이지의 상단에 다음과 같이 Export to Word를 선택합니다.
그리고 나서 다음과 같이 template을 선택하고 Export 할 페이지의 범위를 선택합니다.
이제 MS Word에서 불러올 수 있는 페이지가 완성되었습니다. 자동 다운로드가 되지만 만약에 다운로드가 되지 않는 다면 다음과 같이 click here to download를 선택합니다.
이제 권한이 없는 익명의 일반 사용자 분들도 Issue Tracker에 접근하실 수 있습니다. 접근 URL입니다.
http://jira.openflamingo.org/browse/FLAMINGO
Flamingo Hadoop Manager 0.1 버전에는 HDFS를 편리하게 사용하기 위한 HDFS Browser가 제공됩니다. 이 HDFS Browser를 통해 디렉토리 및 파일 관리를 보다 편리하게 할 수 있습니다.
기본화면
다음은 HDFS Browser에 접근했을 때 나타나는 기본 화면입니다. 좌측은 디렉토리를 우측은 파일을 보여줍니다. 파일 및 디렉토리를 처리하는 기능은 상단의 툴바에서 버튼 형식으로 제공합니다.
파일 목록 보기
다음은 좌측의 디렉토리를 선택했을 때 파일 목록을 보여주는 화면입니다. 디렉토리를 선택할 때마다 우측에는 파일의 목록과 디렉토리의 크기 그리고 파일의 개수가 나타납니다.
디렉토리 및 파일 관리
파일과 디렉토리 목록이 나타나면 새로 생성하거나 복사등과 같은 파일 처리 작업을 할 수 있습니다.
파일 이동 및 복사
다음은 파일 이동 화면으로 파일을 이동하기 위해서 이동할 파일을 선택한 후 우측 목록의 상단에 있는 이동 버튼을 누르면 됩니다.…
Hadoop MapReduce Job을 실행하기 위해서는 그것에 맞는 적절한 파라미터를 제공해야 한다. 파라미터 처리 방법을 표준화하는 것도 생각보다 까다롭고 하나 이상의 Job을 chain 형태로 동작시키는 경우 파라미터리 또한 만만하지 않다. 이런 문제를 조금이나마 해결해주는 기능이 Mahout에 포함되어 있다.
Mahout은 파라미터 처리를 AbstractJob에서 처리하며 실제로 그 근간은 Commons-CLI가 수행한다. 모든 Hadoop MapReduce Job은 이 AbstractJob을 상속하게 되며 이 AbstractJob에는 input path, output path, parameter 등을 처리하도록 공통 기능을 제공한다.
예를 들어 다음과 같이 Hadoop MapReduce Job에 파라미터를 넘긴다고 가정해보면
#hadoop jar flamingo-mapreduce.jar CleanDriver --input /input.txt --output /output.…
Maven 2를 쓰다가 Maven 2 Repository 위치를 MAVEN_HOME/conf/settings.xml 파일에 수동으로 지정하여 변경하게 되면 신기하게도 settings.xml 파일이 제대로 동작하지 않는 경우가 있다. 하도 테스트를 하다가 결국 이 방법을 쓰기로 했다.
#mvn --settings /home/fharenheit/settings.xml install
왜 이렇게 해뒀을까 싶다.
Spring Framework을 사용하다보면 Bean 내부에서, Application Context XML 내부에서 .properties 파일을 직접 참고해서 사용해야 할 때가 있습니다. 이때 사용할 수 있는 방법입니다.
우선 config.properties 파일에 다음과 같이 정의합니다.
hello.world=Hello World
Application Context XML 파일에 다음과 같이 .properties 파일을 로딩합니다. 이때 여러 개의 파일이 있다면 id로 unique하게 지정할 수 있습니다.
<util:properties id="config" location="classpath:config.properties" />
PropertyPlaceHolder를 이용하면 expression으로 즉시 사용할 수 있지만 .properties 파일에서 접근하고자 하면 다음과 같이 id와 key의 조합으로 injection할 수 있습니다.
<property name="helloProperty" value="#{config['hello.world']}"/>
Annotation을 기반으로 injection을 수행하려면 다음과 같이 @Value annotation을 사용하면 되비다.</property></util:properties>…