本文介绍大数据相关的概念、软件、环境部署和使用等。大数据分析的挑战包括采集数据、数据存储、数据分析、搜索、共享、传输、可视化、查询、更新、信息隐私和数据源等。
相关软件
大数据指的是过于庞大或复杂的数据集,无法用传统的数据处理应用软件来处理。因此,开发了一系列的相关软件解决该问题
- Yarn(Yet Another Resource Negotiator)是一种 Hadoop 资源管理和调度框架,Yarn 架构
- ResourceManager:负责资源调度,由两个主要组件:
- 定时调度器(Scheduler)
- 应用管理器(ApplicationManager)
- NodeManager:负责容器的管理,是 ResourceManager 在每台机器的上代理,监控资源使用情况(cpu、内存、磁盘及网络等),并向 ResourceManager/Scheduler 提供这些资源使用metrics
- ApplicationMaster:每当 Client 提交一个 Application 时新建一个 ApplicationMaster。它从 ResourceManager 申请容器资源,并将要运行的程序发送到容器上启动,然后进行分布式计算
- 容器(Container)是 Yarn 对资源做的一层抽象
- 容器由 NodeManager 启动、管理和监控
- 容器由 ResourceManager 调度
- Apache DolphinScheduler(海豚调度),是一款分布式易扩展的带有强大可视化 DAG 界面的新一代工作流任务调度系统,致力于
解决大数据任务之间错综复杂的依赖关系,并监控整个数据处理过程
。它能够实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill 任务等操作。
Azkaban
is a batch workflow job scheduler created at LinkedIn to run Hadoop jobs. Azkaban resolves the ordering through job dependencies and provides an easy to use web user interface to maintain and track your workflows.
日志采集
- logstash
- filebeat
- fluentd
- ilogtail