1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/HITMassiveData-Monitor

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Структура проекта


src
└── main
    ├── java
    │   └── org
    │       └── hit
    │           └── monitor
    │               ├── bo          查询类
    │               ├── common      公共类、定义全局配置、数据返回等
    │               ├── controller  控制器
    │               ├── dao         持久化层
    │               ├── interceptor 拦截器
    │               ├── model       数据对象
    │               ├── service     服务层接口
    │               │   └── impl    服务接口的实现
    │               ├── timetask    定时任务
    │               └── vo          视图类

    ├── resources                   系统所有的配置文件
    │   ├── context                 非Web相关Spring Bean的定义
    │   ├── dbconfig                数据库配置
    │   └── mybatis-mappers         MyBatis

    |
    └── webapp                      // 以下为前端内容
        ├── asset
        │   ├── common              公共前端文件,包含网站主题、顶栏、侧边栏、公共CSS、JS、IMG
        │   ├── module              各个具体模块的前端内容
        │   │   ├── datanode        DataNode
        │   │   ├── history         历史数据分析
        │   │   ├── index           首页
        │   │   ├── namenode        NameNode
        │   │   └── node            节点状态
        │   └── plugins             项目中所依赖的前端插件
        │       ├── bootstrap
        │       ├── datatables
        │       ├── daterangepicker
        │       ├── datetime
        │       ├── echarts
        │       ├── fastclick
        │       ├── jQuery
        │       ├── other
        │       ├── pace
        │       └── slimScroll
        └── doc                     项目文档

Разработка


Проект использует Maven для сборки, конкретные зависимости определены в файле pom.xml. Основные составляющие фреймворка — Spring и MyBatis.

В настоящее время система в основном зависит от следующих сервисов:

  • Ganglia Gmond — каждый хост кластера имеет установленный Gmond, который собирает показатели системы, HDFS, Yarn и MapReduce.
  • Ganglia Gmetad — установлен на главном узле кластера и используется для объединения данных показателей, полученных от всех дочерних узлов.
  • MySQL — хранит все данные показателей (агрегированные данные, а не данные отдельных узлов) и постоянное содержимое платформы.
  • Resource Manager API — используется для получения информации о узлах, задачах и т. д.
  • Job History Server API — предоставляет исторические данные задач, которые являются источником данных для автоматической оптимизации параметров.
  • Ganglia API — плагин Python для Ganglia, предоставляющий REST API, который используется этой системой для получения показателей конкретного узла.

Примечание:

  • Поведение Ganglia Gmetad по умолчанию заключается в сохранении данных показателей в виде файлов RRD.
  • Эта система была модифицирована, чтобы позволить Gmetad записывать данные показателей в базу данных MySQL, указанную в конфигурации.
  • Процесс модификации и исходный код можно найти в ветке проекта Ganglia Gmetad.

О хранении данных показателей MySQL:

  • Учитывая, что системе может потребоваться сохранение данных за две недели в реальном времени, каждый показатель будет накапливать большое количество данных. Чтобы уменьшить нагрузку на одну таблицу, система создала отдельную таблицу для каждого показателя, используя формат m_показатель. Все определения таблиц можно найти в таблице metrics_define.
  • Процесс создания таблицы и добавления определений показателей определён в хранимой процедуре MySQL с именем push_metrics. Gmeted вызывает эту процедуру при записи показателей.
  • Задача timetask периодически очищает устаревшие данные показателей.

Инструкции по чтению исходного кода:

  • Поскольку система основана на Spring MVC, все бэкенд-коды имеют вход в контроллерах пакета controller.
  • При внесении изменений в исходный код, начните с поиска источника данных на странице, затем следуйте последовательности Controller > Service > DAO.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Инструменты для мониторинга производительности. Развернуть Свернуть
MulanPSL-1.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/HITMassiveData-Monitor.git
git@api.gitlife.ru:oschina-mirror/HITMassiveData-Monitor.git
oschina-mirror
HITMassiveData-Monitor
HITMassiveData-Monitor
master