Git Product home page Git Product logo

mammoth's Introduction

0. Project Name

Container based hadoop distributed system log analyzer

1. Overview

Mammoth is a container based hadoop distributed system log analyzer.
It monitors the Hadoop system as a whole and plays a role in easily delivering meaningful data to users.


Manage your Hadoop system with ease!

Do not worry and use it in any OS!

Easy installation!

Just copy & Paste!

2. Features

  1. Hadoop Overview

    • Status monitoring of all nodes
    • Disk Usage/Quota monitoring with visualiztion
    • vCores/Memory monitoring
    • Status monitoring of all applications
  2. Resources(Yarn monitoring)

    • vCores monitoring with graph visualization
    • Memory monitoring with graph visualization
  3. HDFS(Hadoop File System monitoring)

    • Disk quota monitoring
    • Disk usage monitoring
    • Disk status monitoring with graph visualization
    • File browsing service
  4. Applications(MapReduce applications monitoring)

    • Status monitoring of all applications
    • Detailed application information monitoring

3. Architecture

3.1. Logical architecture

3.2. Physical architecture

4. Frameworks

  1. Mammoth monitor

Python is installed on most systems these days.

The monitor gets the Hadoop log directly from where the Hadoop system is installed and sends data to the collector server.
Since most systems these days have Python installed, we could implement a monitor program in Python easily and conveniently.

Here is README.md of mammoth monitor!

  1. Mammoth collector

Very high performance, on par with NodeJS and Go (thanks to Starlette and Pydantic).

Collector server is responsible for processing data received from numerous monitors appropriately and passing the data to influxdb.
Since it is a server that has to handle a lot of traffic, we configured a collector server by balancing the load in our service.
The framework used for Collector Server is a framework called FastAPI.
This framework has been proven to be as fast as Node.js or Go , and we used it because it is a Python-based framework.

Here is README.md of mammoth collector!

  1. Mammoth GUI

Flutter is Google's UI toolkit for building beautiful, natively compiled applications for mobile, web, desktop, and embedded devices from a single codebase.

There is only one reason I used flutter in the GUI.
Because it is a cross platform framework.
All apps can be compiled from one source to Windows , Mac , Linux , iPadOS , and Android tablet.
We do not plan to support the web environment and mobile phone environment.
Just because I want users to use it on the big screen.

Here is README.md of mammoth GUI!

5. Installation(General user)

  1. Download the Mammoth and register as a member.
    • Windows, OSX, Linux, or iPad, you can use this app anywhere you can think of.
  2. Install mammoth monitor in your hadoop system.
  3. Run Mammoth monitor

6. Installation(from server to client)

  1. Download the Mammoth and register as a member.

    • Windows, OSX, Linux, or iPad, you can use this app anywhere you can think of.
  2. Install mammoth monitor in your hadoop system.

  3. Install mammoth collector in your own server.

  4. Install influxdb and mongodb in your own server.

  5. Change conf.py in your collector

  6. Change conf.py in your monitor

7. Pages(Test on the iPad pro 12.9 inch 4th)

7.1. Initial page

7.2. Home page(Overview)

7.3. Resources monitoring page

7.4. HDFS page

7.5. HDFS file browsing page

7.6. Applications page

8. Demo video

9. Mammoth service server status

  1. Collector(Load balanced)

    • mammoth-collector1 :
      • CPU : 4 cores
      • Memory : 8GB
    • mammoth-collector2 :
      • CPU : 4 cores
      • Memory : 8GB
    • mammoth-collector3 :
      • CPU : 4 cores
      • Memory : 8GB
    • mammoth-collector4 :
      • CPU : 4 cores
      • Memory : 8GB
    • mammoth-collector5 :
      • CPU : 4 cores
      • Memory : 8GB
  2. InfluxDB

    • CPU : 8 cores
    • Memory : 64GB
  3. InfluxDB

    • CPU : 4 cores
    • Memory : 32GB












Sponsed by

mammoth's People

Contributors

leibniz21c avatar rongga avatar qkd1101 avatar yejin9989 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.