数据采集与Hadoop框架

Download Report

Transcript 数据采集与Hadoop框架

数据采集与Hadoop框架
报告人:黄文君
导
师:王华忠
2011-11-11
提要:
数据采集介绍
分布式Hadoop概述
待解决的问题
QA
[email protected]
数据采集介绍
1
数据采集流程
2
采集影响因子
3
远程采集控制系统
4
时间片数据采集单元(lzo和mdsplus)
5
分布式数据服务系统
[email protected]
数据采集流程
——物理模型
数据采集系统由数据采集控制系统、数据采集系统和数据服务系统三个部分组
成各系统之间通过以太网络连接,进行控制参数和实验数据的传递和交互
结。
Master Control System
control flow
other control subsystems
Data Acquisition
Control System
Central Timing System
control flow9999
trigger & clock
Data Acquisition System
Trigger & Clock
Unit
data flow
模拟量
数字量
DAQ2206 Unit
Data Service System
data flow
Data Servers
lzo
Index Server
ACQ196 Unit
[email protected]
[email protected]
时序模型
总控系统根据各子系统返回的状态信息判断是否进入下一炮等待状态
VIII
MCS
(i)
炮号、预放电时间及触发时刻
DACS
(viii)
I
发送控制参数到各数据采集单元
VII
III
(iii) 返回就绪状态给数据采集控制系统
(ii)
II
DAS
IV①
(iv)
(vii)
IV n
IV②
(v)
DSS
VI
(vi)
V①
V②
Vn
时钟和触发
Trigger
Clock
IPA
-100ms
-30s
0
如果在采集过程中检测到等离子体电流消失,数据采集控制系统立即发送停止信号至各数据采集单元
需要延迟采集的数据采集单元按设置时间完成采集后停止,不需要延迟的数据采集单元立刻停止采
集。
[email protected]
采集影响因子
灵活性
一部分的诊断信号通过屏蔽电缆送入采集机房,经隔离和放大处理后再
输入数据采集单元采集;
 另一部分诊断信号要求短距离传输,对这些信号进行采集这些信号从
EAST装置的传感器出来,经过放大器,然后由现场采集系统进行采集
(如近60道较微弱的软X射线信号)

可靠性和实时性

对于各重要诊断信号的变化情况,需要实时获取,以便对控制系统相应
参数进行调整,从而维持等离子体平衡,获得理想的放电结果
准确性
根据采样定理,要使信号不失真,采样周期不能大于信号周期的一半,
所以采样频率至少是信号频率两倍。
 为了提高准确性,有时需要高达10倍,20倍

[email protected]
数据采集控制系统
思想源泉:
由于数据采集的灵活性,有效地管理和控制这些数据采集单元,采用分而治之思想。
在总控系统与数据采集单元之间构建数据采集控制系统。
这样,数据采集控制系统、数据采集单元及两者之间的通信接口组成了一套DCS系统
需求分析:
对不同采集单元参数设定,如采集频率、触发时刻等
能监视系统状态(使能状态,就绪状态,完成状态)
C++ Bulider模式状态监视
Epics
[email protected]
时间片数据采集单元
--问题研究
数据采集单元在硬件上由相对独立的计算机和数据采集卡;
在软件上由不同的操作系统和数据采集软件系统组成
长脉冲采集面临的问题:采集,压缩,传输,存储

对采集卡内存

数据分析与可视化软件都是将实验数据获取到本机内存中进行分析和处理

数据发布速度要求
250KHz * 2Byte*16CH *1000s  8GB
单通道采集频率250KHz的信号,持续采集1000s信号文件为500MB,压缩后信号文件约为
200 MB
200MB,以最高速度获取10道数据所需的时间约为,
8MB / s
*10  250 s
时间片机制(Ts=5秒时间片进行划分,
采集程序针对5s的时间片在计算机内存中开辟了三块的内存
区域,前两块为循环缓冲的两个分区DataBuf1和DataBuf2,后一块为传输缓冲TransBuf。)
采集
①
②
③
④
⑤
⑥
传输
处理
①
②
③
④
⑤
T1=5s
T2<5s
采集
传输
发布
①
②
③
④
[email protected]
T3<5s
处理
存储
发布
时间片数据采集单元
--lzo
[email protected]
时间片数据采集单元
-- Mdsplus
[email protected]
时间片数据采集单元
--mdsplus
Mdsplus本地存储
本地存储:
一个线程:83,78
两个线程: 32,30,39
异地NFS存储:
(同步) 一个线程:26,30,32
两个线程: 18
(异步) 一个线程:41
两个线程: 22
Mdsplus服务器端
实时存储
[email protected]
数据服务系统(lzo存储)
存储:以文件方式将数据分布存储于多台基于Linux平台的数据服务器
中,并通过建立索引服务器来定位数据文件的位置。

部分信号还将通过中间件转存到MDSplus服务器或送入二级库服务器进行计
算,供物理人员分析诊断。
信息文件
(SigName_Info.dat)
数据文件
(SigName_Data.lzo)
序号0时间片压缩数据
头信息
序号1时间片压缩数据
data
Temp
TRANS程序
文件
Lzo
Pipe
序号1时间片位置信息
COMPRESS程序
数据
序号N时间片位置信息
序号N时间片压缩数据
将接收到的HeadInfo作为第0个时间片数据写入临时文件
COMPRESS读取临时数据文件,按照采集通道进行解析,
并依次对各通道数据进行格式转换和数据压缩,再将压缩数据按照规定的格式进行最后的数据存储
访问:在数据服务器上,运行了数据访问接口程序GATE,来实现服务器与
EAST-Scope用户的数据交互。
[email protected]
Hadoop框架
核心部分:
Hadoop分布式文件系统(Hdfs)
Hadoop
Map-Reduce框架,
基于核心的其它产品
Hbase(MapReduce和海量数据存储)
[email protected]
Hadoop框架
1
Hadoop框架理论基础
2
Hadoop架构
3
HDFS文件系统
4
Map/Reduce
5
应用场景
[email protected]
Hadoop框架理论基础
Google GFS文件系统:
一个面向大规模数据密集型应用的、可伸缩的、高度容错网络化的分布式文件系统。,主
要chunkserver是由一个master(主)和众多chunkserver(大块设备)构成的。
Bigtable:
Google的分布式的结构化数据存储系统,用户可以动态的控制数据的分布和格式
 多级映射的数据结构
 结构上分为两部分:其一是Master节点,支持负载均衡。其二是Tablet节点,存储数
据库的分片tablet,并提供相应的数据访问,对压缩有很好的支持。
MapReduce:
一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。程序开发者不需
要像普通并行程序开发(共享内存模型和网络互联模型)设置barrier节点
[email protected]
Hadoop架构
ClientProtocol协议
Datanodeprotocol协议
data
结点

masters (一个或两个)
一台机器被指定为 NameNode(Hadoop文件系统)
另一台不同的机器被指定为JobTracker (Map/Reduce)

其他为slaves
余下的机器即作为DataNode (Hadoop文件系统)
也作为TaskTracker(Map/Reduce)
[email protected]
HDFS文件系统
Namenode和Datanode

Namenode:是所有HDFS元数据的仲裁者和管理者。执行文件系统的名字空间操作,比如
打开、关闭、重命名文件或目录。也负责确定数据块到具体Datanode节点的 映射。
Namenode管理文件系统的元数据,

Datanode真正处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块
的创建、删除和复制。Datanode存储了实际的数据

Namenode从所有的 Datanode接收心跳信号和块状态报告。块状态报告包括了某个
Datanode所有的数据块列表。
优势保证

副本机制(默认,副本系数是3:本地节点,同一机架的另一个节点上,不同机架的节点上)

机架感知(rack-aware)策略:提高数据的可靠性、可用性和网络带宽的利用率

EditLog事务日志 (edits)、FsImage的文件和检查点(checkpoint))

文件和目录的权限模型
[email protected]
Map/Reduce模型
Input
输入数据集的路径
框架把作业的输入看
为是一组<key,
value> 键值对送给
Map
Map
Reduce
调用用户自定义的Map函数
处理每一个<key, value> 键值
对,生成一批新的中间<key,
value> 键值对,这两组键值对
的类型可能不同。
Shuffle :为了保证Reduce
的输入是Map排好序的输出。
在Shuffle阶段,框架通过
HTTP为每个Reduce获得所有
Map输出中与之相关的<key,
value> 键值对;
此阶段会遍历中间数据,
对每一个唯一key,执行
用户自定义的Reduce函数
输出新的<key, value> 键值对
Sort,框架将按照key的值对
Reduce的输入进行分组
[email protected]
Output
Reduce输出的
结果写入输出目
录的文件中
Example
DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工
具。
它使用Map/Reduce实现文件分发,错误处理和恢复,以及报
告生成。
它把文件和目录的列表作为map任务的输入,每个任务会完成
源列表中部分文件的拷贝。
这些拷贝工作被分配给多个map任务, 然后每个TaskTracker
分别执行从nn1到nn2的拷贝操作

每个TaskTracker必须都能够与源端和目的端文件系统进行访问和交互。
[email protected]
待解决的问题
如何解决工控机的瓶颈
 除了分片采集,是不是还有其他的采集方式?(间歇采样,变频
采样)
 当cpu使用率过高时,如何降低cpu使用率?
 当采用服务器模式采集时,如何摆脱网络传输的限制?
如何将系统做的更标准化
 Epics采集控制台的完善
 Mdsplus存储的完善
 整个体系结构的完善(客户机-服务器结构——分布式体系结构)
[email protected]
Thank You !