大家好,又见面了,我是你们的朋友全栈君。
系列文章目录
前言
做大数据有几年了,这些年耳濡目染了一些大数据管理平台的使用,但是或多或少使用起来,都不怎么方便,所以决定自己来实现一个简单的大数据平台
一、功能概述
大数据应用组件往往很多,可能几百台服务器组成一个Hadoop集群,当部署这些节点时,需要一个节点一个节点的操作,简直不敢想象。同时在这些服务器上可能还部署着Spark、Flink、Hive、Hbase、ES等很多很多的组件,有时一个节点出问题,如果不即使发现处理/可能会引起一系列问题,而如果想关闭一些节点,或迁移某些节点,则需要运维人员手动去操作,当需要操作的节点很多的时候,就很耗费人力资源。为解决此类问题,大数据管理平台就出现了。
一个比较完善的大数据平台,应该包含有如下功能:
具体包括:
- 能一键安装大数据产品
- 能管理/监控多台服务器
- 能监控到各个大数据产品的运行状况
- 能在主页面上管理各个产品,并对其操作
- 有个shell,可以远程操作服务器
- 能安全管理各个用户/用户组/权限/角色等
前4个是基本的功能,第五个待后续更新
二、使用步骤
2.1 安装
已目前业内比较通用的大数据产品,包括zk,hdfs,yarn,hive,hbase,es等,各个产品的部署方式不同,需要的配置文件操作步骤都不相同,所以必须抽象出一个通用的组件来达到可以满足任何新组件的要求。
- 环境的配置
linux环境必须统一,因此在部署前必须做环境检查- 首先是系统版本
第一阶段,我们要求系统版本为CentOS7.x - CPU/内存
要求X86架构和最低8G的内存 - 硬盘
不做硬性要求,但至少要有足够大的根分区 - 网卡
百兆网卡及以上 - 分区
不做硬要求 - 密码
每个服务器最好都统一 - 数量
为组成集群,要求服务器数量至少三台
- 首先是系统版本
- 架构
我们以master/slave方式部署,为高可用,我们使得每个服务器,既是master,又是slave,即使又宕机,也可以迅速切换。
2.2 监控
- 我们需要实时的监控各个组件的运行状况,分别用绿/黄/红代表组件的可用度
- 当组件出现问题时能及时的发出通知
- 实时展示组件运行中出现的异常日志,并提供搜索功能
2.3 管理
大数据平台,应当可以对组件进行如下操作:
- 组件整体关闭
- 组件整体启动
- 组件某个角色的关闭/启动
- 组件某个角色更换节点
- 组件的删除
- 组件的升级
- 组件配置文件/参数的修改
2.4 用户管理
应当提供基础的用户登录/权限控制
2.5 应用市场
需提供组件安装包的上传/版本控制/hotfix修复/镜像包构建
2.6 操作系统
如果使用传统的安装方式,不方便应用的隔离,所以我们采用kubernetes + docker的方式,构建一个简单的操作系统,组件的安装/迁移等,都通过k8s的接口来实现
三、总结
本篇文章主要介绍了大数据平台的基本作用和一个必要的功能,通过此概述,我们大概可以了解到一个比较完善的大数据平台,会在工作、学习中大大提高效率
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132787.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...