大数据技术Hadoop笔试题
大数据技术Hadoop笔试题
导读:Hadoop有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。以下是由我JL为您整理推荐的面试笔试题目和经验,欢迎参考阅读。
单项选择题
1 下面哪个程序负责 HDFS 数据存储。
a)NameNode
b)Jobtracker
c)Datanode
d)secondaryNameNode
e)tasktracker
2 HDfS 中的 block 默认保存几份
a)3 份
b)2 份
c)1 份
d)不确定
3 下列哪个程序通常与 NameNode 在一个节点启动
a)SecondaryNameNode
b)DataNode
c)TaskTracker
d)Jobtracker
4 Hadoop 作者
a)Martin Fowler
b)Kent Beck
c)Doug cutting
5 HDFS 默认 Block Size
a)32MB
b)64MB
c)128MB
6 下列哪项通常是集群的最主要瓶颈
a)CPU
b)网络
c)磁盘
d)内存
7 关于 SecondaryNameNode 哪项是正确的
a)它是 NameNode 的热备
b)它对内存没有要求
c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间
d)SecondaryNameNode 应与 NameNode 部署到一个节点
多选题
8 下列哪项可以作为集群的管理工具
a)Puppet
b)Pdsh
c)Cloudera Manager
d)d)Zookeeper
9 配置机架感知的下面哪项正确
a)如果一个机架出问题,不会影响数据读写
b)写入数据的时候会写到不同机架的 DataNode 中
c)MapReduce 会根据机架获取离自己比较近的网络数据
10 Client 端上传文件的时候下列哪项正确
a)数据经过 NameNode 传递给 DataNode
b)Client 端将文件切分为 Block,依次上传
c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作
11 下列哪个是 Hadoop 运行的模式
a)单机版
b)伪分布式
c)分布式
12 Cloudera 提供哪几种安装 CDH 的方法
a)Cloudera manager
b)Tar ball
c)Yum d)Rpm
判断题
13 Ganglia 不仅可以进行监控,也可以进行告警。( )
14 Block Size 是不可以修改的。( )
15 Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。( )
16 如果 NameNode 意外终止,SecondaryNameNode 会接替它使集群继续工作。( )
17 Cloudera CDH 是需要付费使用的。( )
18 Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。( )
19 Hadoop 支持数据的随机读写。( )
20 NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。( )
21 NameNode 本地磁盘保存了 Block 的位置信息。( )
22 DataNode 通过长连接与 NameNode 保持通信。( )
23 Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。( )
24 Slave 节点要存储数据,所以它的磁盘越大越好。( )
25 hadoop dfsadmin –report 命令用于检测 HDFS 损坏块。( )
26 Hadoop 默认调度器策略为 FIFO( )
27 集群内每个节点都应该配 RAID,这样避免单磁盘损坏,影响整个节点运行。( )
28 因为 HDFS 有多个副本,所以 NameNode 是不存在单点问题的。( )
29 每个 map 槽就是一个线程。( )
30 Mapreduce 的 input split 就是一个 block。( )
31 NameNode 的 Web UI 端口是 50030,它通过 jetty 启动的 Web 服务。( )
32 Hadoop 环境变量中的 HADOOP_HEAPSIZE 用于设置所有 Hadoop 守护线程的内存。它默认是 200 GB。( )
33 DataNode 首次加入 cluster 的时候,如果 log 中报告不兼容文件版本,那需要 NameNode执行“Hadoop namenode -format”操作格式化磁盘。( )
别走开,答案在后面哦!
1 下面哪个程序负责 HDFS 数据存储。答案C datanode
a)NameNode
b)Jobtracker
c)Datanode
d)secondaryNameNode
e)tasktracker
2 HDfS 中的 block 默认保存几份 答案A默认3分
a)3 份
b)2 份
c)1 份
d)不确定
3 下列哪个程序通常与 NameNode 在一个节点启动答案D
a)SecondaryNameNode
b)DataNode
c)TaskTracker
d)Jobtracker
此题分析:
hadoop的集群是基于master/slave模式,namenode和jobtracker属于master,datanode和 tasktracker属于slave,master只有一个,而slave有多个SecondaryNameNode内存需求和NameNode在一个数量级上,所以通常secondary NameNode(运行在单独的物理机器上)和NameNode运行在不同的机器上。
JobTracker和TaskTracker
JobTracker 对应于 NameNode
TaskTracker 对应于 DataNode
DataNode 和NameNode 是针对数据存放来而言的
JobTracker和TaskTracker是对于MapReduce执行而言的
mapreduce中几个主要概念,mapreduce整体上可以分为这么几条执行线索:obclient,JobTracker与TaskTracker。
1、JobClient会在用户端通过JobClient类将应用已经配置参数打包成jar文件存储到hdfs,并把路径提交到Jobtracker, 然后由JobTracker创建每一个Task(即MapTask和ReduceTask)并将它们分发到各个TaskTracker服务中去执行。
2、JobTracker是一个master服务,软件启动之后JobTracker接收Job,负责调度Job的每一个子任务task运行于 TaskTracker上,并监控它们,如果发现有失败的task就重新运行它。一般情况应该把JobTracker部署在单独的机器上。
3、TaskTracker是运行在多个节点上的slaver服务。TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。TaskTracker都需要运行在HDFS的DataNode上。
4 Hadoop 作者 答案C Doug cutting
a)Martin Fowler
b)Kent Beck
c)Doug cutting
5 HDFS 默认 Block Size 答案:B
a)32MB
b)64MB
c)128MB
(因为版本更换较快,这里答案只供参考)
6 下列哪项通常是集群的最主要瓶颈:答案:C磁盘
a)CPU
b)网络
c)磁盘IO
d)内存
该题解析:
首先集群的目的是为了节省成本,用廉价的pc机,取代小型机及大型机。小型机和大型机有什么特点
1cpu处理能力强
2内存够大
所以集群的瓶颈不可能是a和d
3网络是一种稀缺资源,但是并不是瓶颈。
4由于大数据面临海量数据,读写数据都需要io,然后还要冗余数据,hadoop一般备3份数据,所以IO就会打折扣。
7 关于 SecondaryNameNode 哪项是正确的答案C
a)它是 NameNode 的热备
b)它对内存没有要求
c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间
d)SecondaryNameNode 应与 NameNode 部署到一个节点。
多选题:
8 下列哪项可以作为集群的管理答案:ABD
a)Puppet
b)Pdsh
c)Cloudera Manager
d)Zookeeper
9 配置机架感知的下面哪项正确:答案ABC
a)如果一个机架出问题,不会影响数据读写
b)写入数据的时候会写到不同机架的 DataNode 中
c)MapReduce 会根据机架获取离自己比较近的网络数据
10 Client 端上传文件的时候下列哪项正确答案B
a)数据经过 NameNode 传递给 DataNode
b)Client 端将文件切分为 Block,依次上传
c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作
该题分析:
Client向NameNode发起文件写入的请求。
NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
11 下列哪个是 Hadoop 运行的模式:答案ABC
a)单机版
b)伪分布式
c)分布式
12 Cloudera 提供哪几种安装 CDH 的方法答案:ABCD
a)Cloudera manager
b)Tarball
c)Yum
d)Rpm
判断题:
13 Ganglia 不仅可以进行监控,也可以进行告警。( 正确)
分析:此题的目的是考Ganglia的'了解。严格意义上来讲是正确。ganglia作为一款最常用的Linux环境中的监控软件,它擅长的的是从节点中按照用户的需求以较低的代价采集数据。但是ganglia在预警以及发生事件后通知用户上并不擅长。最新的ganglia已经有了部分这方面的功能。但是更擅长做警告的还有Nagios。Nagios,就是一款精于预警、通知的软件。通过将Ganglia和Nagios组合起来,把Ganglia采集的数据作为Nagios的数据源,然后利用Nagios来发送预警通知,可以完美的实现一整套监控管理的系统。
14 Block Size 是不可以修改的。(错误 )
分析:它是可以被修改的Hadoop的基础配置文件是hadoop-defaultxml,默认建立一个Job的时候会建立Job的Config,Config首先读入hadoop-defaultxml的配置,然后再读入hadoop- sitexml的配置(这个文件初始的时候配置为空),hadoop-sitexml中主要配置需要覆盖的hadoop-defaultxml的系统级配置。
15 Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。(错误 )
分析:Nagios是集群监控工具,而且是云计算三大利器之一
16 如果 NameNode 意外终止,SecondaryNameNode 会接替它使集群继续工作。(错误 )
分析:SecondaryNameNode是帮助恢复,而不是替代,如何恢复,可以查看
17 Cloudera CDH 是需要付费使用的。(错误 )
分析:第一套付费产品是Cloudera Enterpris,Cloudera Enterprise在美国加州举行的 Hadoop 大会 (Hadoop Summit) 上公开,以若干私有管理、监控、运作工具加强 Hadoop 的功能。收费采取合约订购方式,价格随用的 Hadoop 丛集大小变动。
18 Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。(错误 )
分析:rhadoop是用R语言开发的,MapReduce是一个框架,可以理解是一种思想,可以使用其他语言开发。
19 Hadoop 支持数据的随机读写。(错 )
分析:lucene是支持随机读写的,而hdfs只支持随机读。但是HBase可以来补救。HBase提供随机读写,来解决Hadoop不能处理的问题。HBase自底层设计开始即聚焦于各种可伸缩性问题:表可以很“高”,有数十亿个数据行;也可以很“宽”,有数百万个列;水平分区并在上千个普通商用机节点上自动复制。表的模式是物理存储的直接反映,使系统有可能提高高效的数据结构的序列化、存储和检索。
20 NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。(错误)
此题分析:
NameNode 不需要从磁盘读取 metadata,所有数据都在内存中,硬盘上的只是序列化的结果,只有每次 namenode 启动的时候才会读取。
1)文件写入
Client向NameNode发起文件写入的请求。
NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
2)文件读取
Client向NameNode发起文件读取的请求。
21 NameNode 本地磁盘保存了 Block 的位置信息。( 个人认为正确,欢迎提出其它意见)
分析:DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode。NameNode返回文件存储的DataNode的信息。
Client读取文件信息。
22 DataNode 通过长连接与 NameNode 保持通信。( )
这个有分歧:具体正在找这方面的有利资料。下面提供资料可参考。
首先明确一下概念:
(1)长连接
Client方与Server方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在,此种方式常用于点对点通讯。
(2)短连接
Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点通讯,比如多个Client连接一个Server
23 Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。(错误 )
hadoop只能阻止好人犯错,但是不能阻止坏人干坏事
24 Slave 节点要存储数据,所以它的磁盘越大越好。( 错误)
分析:一旦Slave节点宕机,数据恢复是一个难题
25 hadoop dfsadmin –report 命令用于检测 HDFS 损坏块。(错误 )
26 Hadoop 默认调度器策略为 FIFO(正确 )
27 集群内每个节点都应该配 RAID,这样避免单磁盘损坏,影响整个节点运行。(错误 )
分析:首先明白什么是RAID,可以参考百科磁盘阵列。这句话错误的地方在于太绝对,具体情况具体分析。题目不是重点,知识才是最重要的。因为hadoop本身就具有冗余能力,所以如果不是很严格不需要都配备RAID。具体参考第二题。
28 因为 HDFS 有多个副本,所以 NameNode 是不存在单点问题的。(错误 )
29 每个 map 槽就是一个线程。(错误 )
分析:首先我们知道什么是map 槽,map 槽->map slotmap slot 只是一个逻辑值 ( orgapachehadoopmapredTaskTrackerTaskLaunchernumFreeSlots ),而不是对应着一个线程或者进程
30 Mapreduce 的 input split 就是一个 block。(错误 )
31 NameNode 的 Web UI 端口是 50030,它通过 jetty 启动的 Web 服务。(错误 )
32 Hadoop 环境变量中的 HADOOP_HEAPSIZE 用于设置所有 Hadoop 守护线程的内存。它默认是 200 GB。( 错误)
hadoop为各个守护进程(namenode,secondarynamenode,jobtracker,datanode,tasktracker)统一分配的内存在hadoop-envsh中设置,参数为HADOOP_HEAPSIZE,默认为1000M。
33 DataNode 首次加入 cluster 的时候,如果 log 中报告不兼容文件版本,那需要 NameNode执行“Hadoop namenode -format”操作格式化磁盘。(错误 )
分析:
首先明白介绍,什么ClusterID
ClusterID
添加了一个新的标识符ClusterID用于标识集群中所有的节点。当格式化一个Namenode,需要提供这个标识符或者自动生成。这个ID可以被用来格式化加入集群的其他Namenode。
二次整理
有的同学问题的重点不是上面分析内容:内容如下:
这个报错是说明 DataNode 所装的Hadoop版本和其它节点不一致,应该检查DataNode的Hadoop版本
;tomcat作为使用非常广泛的web容器,确实给我们带来了很多帮助,就像任何软件系统一样,一旦正式投入生产环境,那监控手段就不可或缺。如何有效的监控tomcat的运行情况,尤其是在复杂IT环境下就更显得迫切了,如tomcat集群部署;1、单点tomcat的监控到底一个tomcat服务我们应该监控哪些指标呢?每个人可能都有不同的见解,但下面这些指标是基本的:JVM可用内存情况:可用内存一定不能太小,否则直接影响tomcat的处理性能响应时间:该指标直接反映tomcat响应用户请求的速度线程池使用情况:线程池的使用情况能直接反映tomcat的工作负荷Web请求处理情况:这里应该关注网站访问量、处理一次请求的最大耗时等几个关键指标网站流量:这里应该关注每分钟的出、入流量,而不是总流量,总流量的监控价值不大,因为总流量反映的是tomcat自启动以来所有的流量和,哪怕它达到100G都没关系,因为这可能是过去三个月的总流量。EOMP作为一个IT监控平台,提供了很多实用功能来帮助用户有效的运维各种IT资源,下面我们就如何通过EOMP对tomcat进行有效监控做一个详细介绍:EOMP里tomcat的详细监控界面如下:上图中做标记的5个地方,都是EOMP反映给用户的重要监控信息,如‘响应时间’、‘可用内存’、‘正在运行线程数’、‘处理一次请求最长时间’,它们都可以反映出tomcat的运行情况,同时EOMP还能提供tomcat上部署的每个应用的监控信息,如下图所示:通过对这些关键指标进行阀值、故障通知等设置,就可以在严重问题出现前有效的进行处理。EOMP阀值的设置很简单,在图中任何一个做标记的监控指标处,点击[size=medium]鼠标右键弹出菜单,进行相关设置,如我们想对‘处理一次请求最长时间’这个指标进行如下设置:在上午8:00-下午6:00间,任意5分钟内,该指标至少有3次超过10秒,就发出问题级别的告警,并通过Email、手机短信等方式通知相关人员;下面是具体阀值和故障通知设置截图:并且如果‘处理一次请求最长时间’确实发生了故障,我们可以通过刚才弹出菜单中的‘历史数据查询’功能,对这个监控指标的所有历史数据进行故障分析,下图是一次查询结果:2、集群tomcat的监控对于复杂的集群tomcat,就应该把它们通过某种方式放到一起来共同运维和监控,EOMP提供的‘视图’功能,就能很好完成这个任务,下图是EOMP一个简单tomcat集群的‘监控视图’:上图中,我们把集群的两个tomcat服务放到一张视图里,同时把它们的一些关键监控指标也放到这张视图里,如最近一分钟接收、发送byte数等,通过这样一张视图,用户可以把所有反映这个tomcat集群健康情况的监控信息都放到一起,这在很大程度上方便用户的监控。EOMP是以‘视图’为其设计核心,所以它的视图配置非常灵活,既可以是整个一个tomcat服务,也可以是某个tomcat服务的一个监控指标。越是复杂的监控要求,越是能体现出这种内在设计的灵活性。‘视图’不仅仅是个展现的窗口,它是个监控实体,如下图EOMP的首页所示,任何故障信息都是以‘视图’为载体的,这样用户在任何时候都可以看到自己能理解的监控信息,而不是什么什么设备或服务等。下面是首页的截图:
施工现场监控方案
一、系统概况
为规范建筑业施工现场管理,并借助计算机信息网络技术手段实现建筑业监督管理的信息化,强化监督执法部门的监管手段,提高政府宏观调控的科学性、动态性、准确性。根据各工地现场监控的需求,建立一套具有统一性、完整性和科学性重大工程施工工地视频监控系统。
在现有的管理机制中整合视频管理的元素,做到动静皆管的立体管理机制,可以更有效地对建筑工程施工进行管理。同时,由于视频管理源于安防监控,因此,在整合后的管理机制中,在视频管理之外,更能够为管理系统增加安全保障的能力,使新的管理系统具有更强的管理能力。
施工工地视频监控系统的建设目标:
对重点或大型工地的重点位置监视,并可根据需要改变监控的角度和焦距,及时发现问题。
向用户提供最高达到720×576解析度,25帧/秒的高质量监视画面,在光照较好的情况下获得清晰的视频监控图像。
监控单一工地场景的现场情况、分屏监控不同工地的现场图像,并实现多点场景之间的自由切换,做到所有视频监控点与监控中心的时钟同步。
监控中心根据需要可随时录像,分监控中心通过安装监控软件可实现本地录像。
系统具备双向语音通讯功能,通过语音远程通知施工工地相关信息。
监控系统便于移动和现场安装,在工地施工完成后,可对现场监视设备进行回收再利用,避免重复投资。
视频监控图像能供其他需求单位或部门共享使用,提高系统的使用效率和投资收益。
二、系统优点
通过Internet,作为建委的行政管理人员,只要在可以接入互联网的地方,通过台式计算机、笔记本电脑、PDA等设备,就可以随时随地访问获取建筑工地施工现场的视频图像。
通过“CreMedia分布式网络视频监控平台”,可以向全方位提高建委的工地监管水平,增强对各种工地的质量管理、安全管理、现场管理、进度管理、投资等方面的管理力度,实时提供视频图像。
安徽创世科技有限公司推出的“CreMedia分布式网络视频监控平台”将为建设方提供强有力的监控工具,提高人员工作效率,节约办公费用,提高对各施工工地的监管水平,为桥梁的工程质量提供强有力的保障。
CreMedia分布式网络视频监控平台主要特点表现在以下几个方面,我们分别加以简要叙述:
一、实时全方位的施工现场监控平台
通过CreMedia分布式网络视频监控平台,建设指挥人员可以使用在办公室、家中、外地的任何一台接入Internet的计算机,通过用户授权,就可以实时观看所辖区域的所有各施工桥梁工地的现场情况。
二、加强公路局对各工地监管的执法力度
通过CreMedia分布式网络视频监控平台,交通局有效利用信息化手段,有效克服人员少的问题,实现政府行政执法效率、监管水平的全面提高。
通过安装于各施工现场的监控点,全天24小时在线实时、不见断的传送现场实时情况,系统安装完毕后,就像交通局为每个工地派去数名兢兢业业、一丝不苟的执法人员,全面加强了对全市各工地的监管的执法力度,从根本上保证了建筑施工的质量和安全。
三、全面加强对桥梁建设项目的管理与支持力度
通过CreMedia分布式网络视频监控平台,每天实时的传递来自各个桥梁施工现场的建设信息,执法人员可以随地了解现场的建设进度,建设质量,安全防护,操作规程等,为2工程顺利完工使用提供了有力保障。
通过CreMedia分布式网络视频监控平台,交通局人员可以随时了解黄河大桥、青河汤大桥、吴堡车站等工程的施工情况。
四、有利于加强对各工地基础管理、质量管理、安全管理、现场管理、宣传教育、卫生防疫、人员管理的管理力度
通过CreMedia分布式网络视频监控平台,有利加强对各工地的基础管理、质量管理、安全管理、现场管理、宣传教育、卫生防疫、人员管理的管理力度,有效杜绝重大疫情传播,重大建设事故的发生。
五、对违法、违规建设行为,提供录像取证方式,有利于管理人员执法有理有据的执行
通过CreMedia分布式网络视频监控平台,提供录像取证方式,为建委执法人员对违法、违规建设行为纠正、处罚,提供的有力证据与依据,做到执法的有理有据,便于执法人员执行法规。
三、系统实施
根据现场勘察拟安装28个视频监控 “CREMEDIA分布式网络视频监控平台”,将充分利用现有的网络资源,由现场勘测知道: 1)梁厂、2)黄河桥、3)吴堡车站、4)青河汤桥没有网络信息点到,故只能使用无线CDMA视频服务器;5)薛家寺大桥、6)义合车站、7)钱汤川大桥;在西安交通科技大厦设立中心服务管理系统,在柳林搭建客户端,以便实时观看。管理人员通过Internet网络,使用客户端软件,就可以让您轻松获取工程施工进度,工程现场管理,工程安全管理,施工工艺等的现场实时情况。
基于Internet的CreMedia分布式网络视频监控平台,将提供一个前所未有的全新工地监管方式和管理理念
图1
四、系统组成及工作原理
监控前端设备采集(音视频)信号,报警信号送入报警联动模块输入端,通过网线传入中心服务器;
中心服务器具有数字多画面显示、联动报警、灯光,音视频同步采集,硬盘记录监控图像,远程监控图像,监听、报警等功能;
中心服务器还可通过互联网远程传输监视图像,实现远程监视和控制; 分控计算机作为客户端,本地监控图像可作数字多画面显示,可远程监视和控制监控前端设备;
在监控计算机(PC),均可实现满屏显示,也可控制监控前端图像和联动报警;
通过宽带网远程传输,接入速率10M/100M,图像传输质量25fps以上; 远程传输方式。
五、系统设计方案:
CreMedia网络视频监控系统由监控前端、网络通信平台、管理服务器、监视系统组成。CreMedia网络监控系统是一套完全基于IP网络,采用Browser/Server结构设计的网络视频监控系统,代表了目前国内远程视频监控系统的先进水平。 监控前端包括模拟摄像机、CR视频编码器、报警输入设备等。可以依据用户及环境的不同需求,另外加配护罩、雨刷、避雷器等。CreMedia监控系统可以支持多种云台编码协议。
网络通信平台由路由器、交换机、无线网桥、防火墙、通信线路等设备组成。通信线路可以采用多种方式:双绞线、光纤、无线局域网、GPRS、CDMA等。 管理服务器由中心服务器、注册服务器、存储服务器等组成。CreMedia监控管理软件提供了完整的监控中心管理、录像管理、报警管理、用户认证和权限管理、服务器集群管理等功能。CreMedia监控管理软件基于拥有专利的流媒体分布式处理技术,能够在复杂网络环境中优化视频流的传输控制,提供大容量、高质量的网络视频传输和处理。
监视系统由监控终端和显示系统组成。监控终端可采用普通的PC机,无需安装任何专门软件,只要使用标准浏览器访问监控管理服务器,第一次访问会自动从服务器下载一个控件。用户使用只需输入用户名和口令就可以访问视频监控系统,并根据权限管理的设置使用系统功能。对于中心监控室,通常会配置高性能的PC机作为监控终端,并建立电视墙系统。
系统设计
1系统集于Internet / Intranet架构设计,利用网传输视频信号、报警等信号,管理平台采用基于Browser / Server架构设计的CreMedia网络视频监控系统
2系统整体采用中央集中监控与区域监控相结合的架构设计,各区域相对独立,中央监控中心对所有区域统一管理
3中央监控中心安装中央监控服务器,可实时多画面显示各区域重要的监控点画面,并对其进行录像、云台控制、画面切换、历史资料查询等操作
4根据具体需求,在中央监控室对监控功能进行设置,监控系统即可运作 系统功能特点
与传统的闭路电视系统相比,CreMedia网络视频监控系统具有一些独特的优势,CreMedia网络视频监控系统的部署非常简单方便,一套软件和若干个网络视频编码器和必要的网络设备,就可以实现一个功能强大的、完全满足用户需求的图像监控系统。
图像质量:系统所采用的自适应高性能流媒体服务器设备,图像清晰、实时性好,根据网络情况,传输速率可以在1-25帧/秒间自适应调整,并将QoS应用于接入层中的视频监控,提高视频监控效率
安全性:利用网络安全技术使信息更安全、可靠,支持网络*** 隧道的加密数据传输,使得视频图像在远程监控时更加安全
管理性:对网络用户实行权限控制,设置访问权限,视频的存储和发送简单、便于管理和查询,强大的智能监控管理软件为用户提供了灵活的图像监视选择权控制镜头的三可变,即变倍、变焦和光圈,还有云台的转动,有效的管理,以及实现报警和安全策略、可实现电子地图控制,实现联动报警功能
适用性:于多种网络平台、充分地利用现有网络资源,如:CDMA、LAN、WAN、支持断线重连(如PPPoE)无线等
网络带宽:支持多种分辨率:4CIF、2CIF用户可根据与服务器之间的可用带宽,进行调节;支持组播技术可以对多个设备(如手提电脑等)视频发布 可扩展性:能够持续平滑升级和扩展,降低对系统的整体投资成本
兼容性:提供更多产品和功能的选择,采用国际公认的标准协议和信息网络,使得和其他系统的兼容变得简单
易操作性:客户端无需安装任何视频监控软件,只要使用浏览器并输入相应的用户名和密码就可以访问视频监控系统
字符叠加:在每路监控图像上,可以实时叠加场景发生的时间以及来源地,使得场景信息更加完整
六、方案系统图
图2
七、设备简介
施工现场视频监控平台”的分为以下几个部分:
1、前端采集部分
主要包括摄像机、云台、护罩等设备。
2、视频处理部分
主要包括视频服务器等设备。
CR4000L 4路实时网络视频服务器是安徽创世科技于2003年10月北京“国际社会公共安全产品博览会”推出的全国第一款4路全实时产品,型号为CR4000L。该产品基于高性能DSP平台,实现每秒高达120帧的CIF图像编码;采用嵌入式系统设计,通过公安部安全与警用电子产品检测中心的检验,稳定可靠。CR4000L经过两年多的市场考
验,功能和性能不断提升,其稳定性和易用
性得到客户的普遍好评。
产品特点:
1 4路实时视频编码,性价比高
2 4路音频输入,两路音频输出,满足双向
通话的需求
3 远程传输延时小,图像清晰流畅
4 支持噪声滤波,有效抑制摄像机在夜间产生的噪声
5 支持任意区域移动侦测报警设置
6 支持时间和摄像机名称叠加
7 内置DHCP、PPPoE动态IP获取协议,支持ADSL自动拨号功能
8 支持88IP动态域名注册,使用方便
9 内置硬件狗,确保7x24小时稳定运行,不死机
10 支持免费升级,客户可通过网络或串口升级嵌入式代码,实现新增功能
11 内置NRCAP网络视频监控协议,适用于任何支持NRCAP协议的中心管
理平台
CR4000L型网络视频服务器与其它CNVS系列视频服务器一样集成有功能强大的网络协议栈,支持多种网络协议,可以通过以太网或ADSL轻松接入网络,在局域网、广域网和国际互联网上方便地实现视频监控。配合CNVS系列网络视频解码器,为从模拟CCTV到IP网络的升级扩展提供简单方便的解决方案。该产品支持CreMedia41,CreMedia50中心管理平台,可组建大规模、分布式网络视频监控系统。
CR1020C无线网络视频服务器是安徽创世科技为联
通CDMA网络精心打造的一款高档无线视频服务器。
内置两个CDMA1X网络模块,增强无线网络传输带
宽18倍。弹出式R-UIM卡槽,安装使用方便。该产
品采用了安徽创世科技四项自主产权的关键技术:
H264超低码流视频压缩技术、专有的信道动态适配技
术、针对无线信道设计的可靠传输纠错技术、无线双
通道自动平衡协调传输技术;继承了单模块设备的优点,弥补了单卡网络带宽的不足,在使用上兼容单卡的使用方式,即使只有一块CDMA卡在工作,也能正常传输图像。在同等无线网络条件下图像质量远高于国内外同类产品。
产品特点:
1、超强H264编码能力,超低码率,带宽自适应,CIF图像最高可达20帧/秒;独有的前处理技术,把握视觉细节
2、支持分级用户权限管理,采用数据流加密技术,保证网络通信安全
3、动态信道自适应技术,画面连续无停顿
4、传输延时小,平均延时小于2秒
5、系统架构合理,通过移动视频网关实现码流分发
6、与CNVS系列网络视频服务器和解码器兼容,组网灵活
7、多路双向语音通信,支持多种语音编解码算法,音视频同步
8、支持多种PTZ协议,协议可扩展,工业标准的控制I/O,支持多路报警联动
9、包含四选一视频子型号,通过软件选择当前编码通道
10、单卡也可以正常工作
11、双卡工作时网络带宽提高约18倍。
采用嵌入式结构设计,内置硬件狗,保证系统运行稳定可靠,不死机
CR1010C是国内最早推出的基于联通CDMA网络的无线视频服务器,也是目前国内性能最好的CDMA1X无线网络视频服务器。已经广泛应用于军警演习、水文水情、煤炭生产、通信设施、消防车、武装押运等行业,工程商、代理商和OEM商遍布全国各地。
3、网络传输部分
主要包括传输线缆、网络设备等设备。
4、监控中心部分
主要包括计算机、CreMedia客户端和服务端软件、电视墙、视频解码器等设备和软件。
1、创世CreMedia 服务器
中心管理服务器
中心管理服务器是CreMedia系统的核心,负责管理系统中的各种设备和资源,包括音视频流管理、联动管理、录像管理和用户管理等。
动态域名解析服务器
动态域名解析服务器是中心管理服务器配套使用的子系统,主要负责解决前端设备的动态接入问题,管理前端产品的在线注册,维护前端设备的地址列表。
存储服务器
采用分布式存储管理技术,实现存储的层次化、网络化,可以使用集中式存储或分布式存储,具有计划、联动、手动等多种录像方式,录像检索和回放方便快捷。
2、创世CreMedia 客户端
监视器
监视器软件登录中心管理服务器或直接登录前端产品,实现多画面实时视频浏览,提供多站点登录、双向音频控制、PTZ控制、联动
报警、录像控制和分组轮跳等功能。
管理器
管理器软件登录中心服务器或者直接登录前端产品,实现对系统内相应设备和资源的配置管理,包括音视频资源管理、串口资源管理、PTZ资源管理、联动管理、用户管理和录像计划管理等。 播放器
播放器软件登录中心服务器,实现录像检索、下载和回放功能,提供多样化检索方式,支持单帧播放。
电视墙控制器
电视墙控制器软件通过绑定网络视频服务器和网络视频解码器,实现虚拟网络矩阵功能,控制和管理视频解码输出,在电视墙上实现实时监控和画面分组轮跳功能。
八、工程预算
略
九、 创世网络视频监控系统简介
1、创世公司简介
安徽创世科技有限公司( ),是总部位于马来西亚的KWE国际集团成员之一。由中国科技大学和KWE集团共同组建的一家中外合资高科技企业。公司凭着集团雄厚的国际资本和市场资源,以国际化的人才和管理,提供一流的产品和服务。公司现有员工100余名,研发人员60%以上具备硕士或
博士学位,具有高水平的研究和开发能力。创世科技以中国科技大学为主要依托,并与周边著名高效建立了密切的合作关系,跟踪国际最新技术,不断突破,不断创新。
作为国内音视频领域的技术先锋,创世科技以振兴民族IT产业为己任,不断致力于拥有自主知识产权和核心竞争力的技术研究和产品开发,成为该领域系统解决方案和关键技术的提供者。创世科技掌握嵌入式网络音视频的核心技术,是国内第一家在单片DSP上完全实现MPEG4/H264实时压缩和网络协议栈的公司。
创世科技拥有一系列完全自主研发的软硬件产品,为工程商、系统集成商提供集于LAN/WAN/Iternet的“CreMedia分布式网络视频监控系统方案”。改系统以其完全数字化、系统网络化、应用多媒体化、以及管理智能化的特点,成为新一代视频监控系统的杰出代表。
创世科技已先后通过高新企业技术认证、软件企业和软件产品认证,并成为中国安防协会会员,产品已经通过公安部安全与警用电子产品质量检测中心认证。创世科技是美国TI公司在国内的唯一的核心算法第三方,是中国科学院计算所龙芯产业联盟中的坚实一员。与中国电信、中兴通讯、俄罗斯Unicore、美国KWEIIdeng国内外众多知名企业家里了广泛而深入和合作关系。
2、监控系统发展简述
视频监控系统的发展大致经历了三个阶段。在九十年代初以前,主要是以模拟设备为主的闭路电视监控系统,称为第一代模拟监控系统。
九十年代中期,随着计算机处理能力的提高和视频技术的发展,人们利用计算机的高速数据处理能力进行视频的采集和处理,利用显示器的高分辨率实现图像的多画面显示,从而大大提高了图像质量,这种基于PC机的多媒体主控台系统称为第二代半数字化本地视频监控系统。
九十年代末,随着网络带宽、计算机处理能力和存储容量的快速提高,以及各种实用视频处理技术的出现,视频监控步入了全数字化的网络时代,称为第三代远程网络视频监控系统。第三代视频监控系统以网络为依托,以数字视频的压缩、传输、存储和播放为核心,以智能实用的图像分析为特色,引发了视频监控
行业的技术革命,受到了学术界、产业界和使用部门的高度重视。安徽创世开发的远程监控系统是第三代视频监控的代表产品之一。
“全景”分布式网络视频管理系统是创世公司自主开发的数字化、网络化的监控系统,是运用互联网及多媒体技术开发的整合式集中智能管理平台,可提供高清晰监控图像、软件是视音频切换、分布式存储、录像回放检索、远程控制、WEB服务和系统集中控制管理等全方位支持。系统功能强大、先进、可靠,网络适应能力强,可适用于网络化监控和远程监控。
3、创世网络视频监控系统特色
1)、CR系列产品特色
1、先进的H264算法,DVD图像品质,超低码流,占用带宽小,适合网络传输。传输图像在25帧/秒、分辨率352×288像素时,平均占用带宽仅为250kbps,使用户在同样的网络条件下可传输的视频路数提高了数倍,无形中节约了用户的网络资源投入,同样充分利用了网络资源。
2、多种网络接入方式,支持PPPoE动态拨号,适应各种复杂的网络环境。
3、通用BNC、RAC音视频接口,自带12V直流稳压开关电源,方便工程使用
4、多个报警输入输出干接点接入口,连接烟感、红外等等报警器材,增强系统智能化。
5、嵌入式系统设计,功耗小,产品稳定性高
2)、CreMedia系统特色
1、资源集中管理。音频、视频、云台、报警、串口等等资源集中管理,统一配置,管理方便、科学;不用针对多个设备进行多次、单独、重复操作。节约系统管理的人力、物力、财力。
2、多级用户权限管理;用户名密码机制保障了系统使用的安全性。管理员提供了用户帐号的开户、修改、删除、密码修改等维护操作;对于每个用户,管理员可以分配他的操作权限(包括浏览/控制/管理)。
3、随时随地全实时音视频监控。通过网络,用户可以在远端,随时随地查看现场情况,及时了解、指导工作。对单位形象宣传也有很好的促进作用。
4、强大的网络录像管理功能,系统不仅能够自动录像,自动清除以往录像,还能够提供录像异地查询,下载等功能。系统的录像启动方式有多种:
A、客户端本地录像:客户在使用监视器软件(Resource User)时可以随时
启动/关闭“本地录像”功能,录像文件保存在当前的电脑中。
B、客户端网络录像:客户在使用监视器软件(Resource User)时可以启动“网络录像”功能进行录像,录像文件保存在预先设定的、指定网络路径的电脑中。
C、按时间计划录像:管理员可以配置“录像计划”进行有目的的录像。“录像计划”是设定录像类型、录像启动时间、录像停止时间、每个录像文件的持续时间段、以及录像保存周期,等等。
D、联动触发录像:管理员可以配置联动录像,当系统发生某些预期的事件后(比如还面移动检测;比如红外报警输入发生、比如某个客户登陆,等等,都是一个事件),将出发录像启动。
5、智能管理功能:主要体现在联动功能上。系统定义了26中事件,定义了15中可执行的操作。管理员可以任意绑定“事件”和“操作”之间的关系,建立“联动”。只要有任何一种事件发生,系统都会按照预设定的联动完成相应的“操作”。不需要再人为干预,提高系统的智能化,节约管理成本。比如“画面移动”事件可以联动“录像开始”、“打开声光设备”、“发送文字提示信息”等等操作。
6、系统结构灵活,系统具备无限扩展性。采用标准的组网方式,支持IP单播、组播功能,可以组成点对点的监控系统,又可以组成一个中心对各站点的系统;在网络上可以设置多个分控图像工作站,满足多个用户的需要,可以组成多级监控系统。嵌入式的产品设计,每个视频服务器都是一个独立工作的站点,增加/减少一个站点,非常方面。系统具备无限的扩展性。
7、电子地图导航功能,完全模拟监控点实地分布图,方便人员操作和管理,显示简洁直观、操作便利。
8、完全自主开发:系统的核心硬件设备和管理软件均属自主开发,能够及时提供良好的售后服务,响应用户的特殊需求,针对用户的要求进行功能方面的量身定做。提供完整的SDK,方便客户作二次开发。
您好
网上找到的一个教程
数据中心管理软件之Intel DCM平台概述
对于数据中心的节能减耗、监控和管理,是数据中心的运维管理者们最为关心的问题。那么数据中心IT系统内部需要监管哪些内容
通常来讲,监控的目的在于保护数据中心内IT系统的正常、有效运行,在事故发生之前侦测出潜在危机。因此,数据中心监管核心应该是对IT系统运行状态的监控,而最直接有效的监控应该是直接对IT设备运行状态进行监控。
例如,服务器内风扇转速与CPU温度等是最直接、最迅速影响IT设备正常运行的因素。有时候即使数据中心内空调运转正常,整体环境参数值也在预设范围内,但某服务器却因为某种原因出现服务器内风扇的转速不正常、CPU过热,事实上,温度、状态等都是需要监管的。
我们都知道,单靠人工是不可能完成的,那么依靠IT设备自身的监管功能,也必将面临每台服务器都有自己的监控和管理界面,这对数据中心监管的最终需求--降低能耗来说,并不是什么好事情。那么,怎样帮助数据中心的CIO们解决这种难题呢
英特尔数据中心管理平台IntelDCM
英特尔在09年春季IDF上,正式发布英特尔数据中心管理平台软件技术,可以实时监控、管理和优化数据中心的功耗。作为此前刚发布的至强 5500系列处理器新产品组件之一,英特尔数据中心管理平台将充分利用其强大的平台性能,结合英特尔节点管理器技术,为用户提供最优的数据中心能耗管理方案。
这款数据中心管理平台,得到了美国服务器制造商Supermicro公司,国内服务器制造商浪潮和宝德,以及国内IT运维管理软件开发商游龙科技支持。
DCM(数据中心管理产品)应具备三大基本功能,即监测、管控和报表。英特尔数据中心管理平台 (IntelDataCenterManager)是监控、管理数据中心的机架和服务器组电、热等能耗的软件技术,IT部门利用它来实现提高机架密度、降低能耗与散热成本,从而优化机房布局并轻松获益。
监测:实时采集能源信息,包括服务器功耗和温度等能耗信息。
事实上,在以前,这些信息是无法得到的,即便是得到,也不是精确值。任何的管理第一步必定是监测,可以说,没有监测就没有管理。要控制温度,就要先测量温度;要管理功耗,要要先测量到功耗的信息。
管控:配置能源使用策略,管理服务器集群的功耗。
用户可以根据数据中心的情况,优化并使用策略。这意味着,在服务器上,用户第一次有能力对服务器功耗使用策略。并且,能源使用策略,可以对整个数据中心进行优化配置。
报表:通过对能源使用报表的分析,帮助用户梳理能源消耗的时间、地点等信息。
事实上,报表无非就是日志分析功能,其意义在于,数据中心的运维管理者们,关注的是什么时候消耗最大能源,什么地方消耗能源最集中,如果这些问题由报表自动生成,那么管理者就有据可依,可以帮助他们更好的把握和选择最合适的能源使用策略。
为了发挥最好的性能,安装英特尔数据中心管理平台的服务器至少需要:一个双核的26Ghz或更高的处理器,4GBRAM,60GB硬盘空间。
IntelDCM平台特点
英特尔数据中心管理平台支持所有具备英特尔节点管理器并能够通过基板管理控制器(BMC)发出英特尔节点管理器IPMI规范命令的原始设备制造商(OEM)平台。该技术专门提供在不影响工作性能的同时进行的服务器组能源管理。为了达到这一目标,英特尔数据中心管理平台为每一台独立的服务器动态调整能耗标准以适应该服务器工作量的变化、使用率和由此改变的能源需求量。我们现在正在大型企业和主要网络数据中心中进行广泛测试。
IntelDCM平台应用场景
英特尔数据中心管理平台能使您的机架在当前功耗和温度范围内,存放更多设备,最大程度优化机架密度。
结合英特尔节点管理器(IntelNodeManager)技术,不受操作系统限制,便捷管理数据中心。
IntelDCM调整数据中心能耗
根据服务器的优先级别动态分配电源,使用实际的和观察到的数据,重新估计和设计数据中心的制冷系统和电源供给。通过分析供电和负载,诊断机架空间的使用效率,观察数据中心供电系统和高温异常等情况,并及时提醒用户。
IntelDCM带来的实际价值
首先是节约能源,节约功耗。显而易见,通过监控、管理和报表功能,可以很好地帮助管理者们找到能耗的热点,并对热点能耗进行有效的管控。据张泽军介绍,可以节约15-20%的能源消耗。
举例来说,如果没有对CPU温度、频率等信息进行监管,可能当下班时,服务器使用率就降低,可CPU的28G主频还在运行,这时就有必要动态的给CPU降低频率,而功耗也就大幅降低。
其次,可以增加机房和机架密度,节约空间。事实上,更多的情况不是空间受限制,而是能耗受限制。比如42U服务器,放不满机架,因为提供机架的能源、电源不够。而通过数据中心管理平台,可以增加每个机架的密度,能源动态分配,充分利用机架空间,增加机房和机架的密度。这也达到了节约能耗的目的。
在数据中心管理中,还有一个不能忽视的趋势。由于虚拟化的普及和应用,包括数据中心在内的管理软件市场,必将涉及虚拟机的管控。显然,虚拟机消耗的资源,消耗的CPU、能源、内存等,也是未来数据中心管理中的一个难题。
英特尔数据中心管理平台功能一览表
配置数据中心层级 从配置管理器(CMDB)或者其他资产数据库中通过XML模型便捷地导入资产信息
数据中心合计和趋势 实时监控节点能耗和入口温度数据,汇总所有能耗和温度数据并提供给用户或既定团队,为优化管理策略储存相应的历史数据信息
制定警报 在制定能耗和热能事件的基础上接收警报。通过自定义各种策略改变能耗上限来自动处理事件
智能控制能耗上限 根据基于可用资源的工作量的变化动态地管理能耗预算,同时支持多个有效策略,自动管理机架和服务机组能耗,并提供应对紧急情况的防护
策略可配置性 根据时间规划调整能耗上限策略和数据中心的切实环境。
无需代理软件管理 Intel DCM不需要在能耗管理节点上安装任何代理软件。
易集成 易共存 Intel DCM可以存在于一个独立的服务器,也可以与其他管理软件共存于同一台服务器
高扩展性支持 管理服务器可以管理多达5000个节点
名词解释:什么是英特尔节点管理器
英特尔节点管理器位于IntelNextGenerationServerChipsetplatforms(英特尔下一代服务器芯片 Nehalem-EP平台)。它为独立的服务器提供能耗温度监控和基于各种策略的能源管理。它可以通过基于规范IPMI协议的接口、由支持的基板管理控制器(BMC)使用。它需要一个类似PMBusTM的仪器供电源。
监控是集群管理的核心任务。监控数据可用于调度任务、负载平衡、向管理员报告软硬件故障,并广泛地控制系统使用情况。监控信息必须在不影响集群性能的情况下获得。本文将讨论使用/proc文件系统和Java来获得监控数据的方法。
Java在Linux集群中的应用
Java技术为集群管理开发者提供了许多解决问题的办法。Java是动态、灵活、可移植的,这些不寻常的特征使得它成为了在异构网络及平台上构造集群管理的理想基础。
Java具有广泛的例程库,很容易处理IP协议,如TCP、UDP,并可在multi-homed主机上进行网络程序设计,用它创建网络连接比用C或C++更容易。通过Java本地接口(JNI),运行在Java 虚拟机(JVM)内的Java代码能够与用其它语言编写的应用及库文件相互操作并汇编。
在构造集群监控和管理时,Java早已是一个可选的语言。然而,Java语言通常只被用于系统的前端或集群主机部分,而将用C 语言编写的守护进程安装在集群结点上。尽管Java程序设计语言提供了许多优点,但是,对于高性能集群监控,Java能够有效地替换运行在每个结点上的C 语言守护进程吗这将是本文讨论的重点。
高性能监控
监控Linux集群工具传统上以秒为测量频率来提供有限量的数据。而高性能集群监控被定义为“以intrasecond为测量频率,从结点有效地采集数据的能力”。当涉及较大集群时,监控软件的低效率问题就变得更加严重,这是因为所运行的应用软件必须互相协调或共享全局资源。
在一个结点上的阻隔冲突(Interference)能影响其它结点上作业的运行。例如,一个MPI作用需要与所有参与的结点同步。一种解决办法是收集少量的数据,并以小频率传输。然而,如果是高性能监控,这种解决办法是不可接受的,因为有较重利用率的集群应该被频繁持续地监控。本地作业调度器必须能够基于资源使用情况做快速决策。管理员经常希望收到紧急事件的立即通知,并希望观察到历史趋势数据,如果集群不能被频繁持续地监控,那么这些要求是不可能实现的。因此,必须采取一些措施,如使用更有效的算法、增加传输的并行性、提高传输协议及数据格式的效率、减少冗余等。
在跟踪运行中的资源使用情况时,压缩Profiling应用有助于调试程序或优化程序。对一个给定的应用而言,像存储器、网络、CPU这样动态资源的使用可能快速地改变着,为了能够观察应用是怎样使用这些资源的,一种可能的办法是使用高频率的监控。
即使用户对高频率监控没有兴趣,如果算法是有效的,不管监控频率是多少,它也将消费很少的资源。在异构集群中这种效率将更重要,用户的作业可以被分散到较快的及较慢的结点上,慢的结点需要全部CPU来跟上较快的结点并与之同步。一个监控程序花费在较慢结点上的CPU时间是作业的关键路径。
监控阶段
集群监控主要消耗CPU周期与网络带宽这两个重要资源。然而,资源消费问题与这两个资源是根本不同的。CPU利用问题对结点而言是完全本地化的问题,可通过创建有效的收集与合并算法来解决。网络带宽是共享资源,是规模问题,可以通过最小化网络上传输的数据量来解决。
为了解决这两个问题,我们将集群监控分为三个阶段:收集、合并、传输。收集阶段负责从操作系统装载数据、分析数据值,并存储数据。合并阶段负责将来自多个数据源的数据合在一起,决定数据值是否改变并过滤它们。传输阶段负责压缩并传输数据。本文集中讨论Linux集群监控的收集阶段。
1收集阶段
Linux有几种方法来进行系统统计,每种方法都各有其优缺点。
◆ 使用现有的工具
标准及非标准工具能执行一个或多个收集、合并及传输阶段,如rstatd或SNMP工具,然而标准的rstat后台程序提供的信息是有限的,速度慢而且效率低。
◆ 内核模块
几个系统监控工程利用内核模块来存取监控数据。一般情况下,这是很有效的收集系统数据的方法。然而这种方法存在的问题是,当主内核源内有其它改变时,必须保持代码一致性。一个内核模块可能与用户想使用的其它内核模块相冲突。此外,在使用监控系统之前,用户必须获得或申请模块。
◆ /proc虚拟文件系统
/proc 虚拟文件系统是一个较快的、高效率执行系统监控的方法。使用/proc的主要缺点是必须保持代码分析与/proc 文件格式改变的同步。事实表明,Linux内核的改变比/proc 文件格式的改变要更频繁,所以,用/proc虚拟文件系统比用内核模块存在的问题要少。
◆ 混合系统
某些监控系统采用混合方式,用内核模块收集数据,用/proc虚拟文件系统作为数据接口。
2合并阶段
合并阶段的实现可以在结点上、集群管理的主机上,或者分布在两者上。考虑到效率,我们只采用在结点上的合并。原因在于结点是监控数据的收集器与提供者。两个或多个同时的数据请求不会引起两次操作系统调用来收集数据,而是将第一次请求获得的数据缓存,并可以提供给第二次请求调用。这种方法减少了操作系统的负担,提高了监控系统的响应性。合并阶段也可以用于将多个数据源的数据以相互独立的收集速率结合,因为并不是所有的数据都以同样的速度改变,或者需要以同样的速率收集。
使用在结点层上合并的另一个原因是,减少了包括传输在内的信息量。许多/proc文件既包含动态数据也包含静态数据。删除最近一次传输后没有改变的值,一个结点发送的数据量可以大大地减少。合并不仅除去了不经常改变的动态值的传输,也解决了从不改变的静态值的传输。
3传输阶段
监控数据几乎总是按一个层次结构组织起来。传输阶段的任务就是将层次数据进行有效的编码,形成一种能高效传输的数据格式。Java拥有的文件格式是存储层次数据的有效方法,并且用提供的Java APIs很容易完成。S-Expressions已经被认为是传输这种数据的另一个有效的方法。
关于传输监控数据普遍讨论的问题是,数据应该按二进制编码还是按文本格式编码。二进制数据更容易压缩,因此也能更有效地传输。但是,当采用/proc文件系统时,监控数据通常以人们易读的格式存储。在传输之前,将数据转换为二进制格式将需要更多的处理资源与时间。以文本格式保留收集的数据,结点资源能被用于更多非监控性的相关工作。
采用文本格式的数据将提供如下额外的益处:
◆ 平台独立性
当监控异构集群时,机器之间数据字节指令的配置不是永远相同的。文本格式的使用在代码方面解决了这个问题,而且体系结构独立不会影响更多的处理需求。
◆ 易读的格式
文本数据能以人们易读的格式进行组织。如果需要的话,这种特征能容易地进行程序调试或允许用户观看数据流。
◆ 有效压缩
数值数据的文本表示由来自10个字节集中的字符组成,而不是二进制下的256个字节集。它们产生的数字及模式的相对频率允许有效地使用基于压缩算法的字典及熵(平均信息量)。
/proc虚拟文件系统
/proc虚拟文件系统(也叫procfs)是Unix操作系统所使用的虚拟文件系统的Linux实现,包括Sun Solaris、LinuxBSD。在/proc开始时,它以一个标准文件系统出现,并包含与正在运行的进程IDs同样名字的文件。然而,在/proc中的文件不占用磁盘空间,它们存在于工作存储器(内存)中。/proc最初的目的是便于进程信息的存取,但是现在,在Linux中,它可被内核的每一部分使用来报告某些事情。
在/proc文件系统提供的成百上千的值当中,我们将集中考虑集群监控所需的最小集,它们包括:
◆ /proc/loadavg:包含系统负载平均值;
◆ /proc/meminfo:包含存储管理统计量;
◆ /proc/net/dev:包含网卡度量;
◆ /proc/stat:包含内核统计量;
◆ /proc/uptime:包含总的系统正常工作时间及空闲时间。
每个文件提供的值的数量是不同的。这些文件的完整有效值列表如下。
◆ /proc/loadavg提供以下数据:
1秒钟平均负载;
5秒钟平均负载;
15秒钟平均负载;
总作业数;
正在运行的作业总数。
◆ /proc/meminfo提供的存储器信息包括:
活动存储器;
不活动存储器;
缓冲存储器;
高速缓冲存储器;
总的自由存储器;
总的高位存储器;
自由高位存储器;
总的低位存储器;
自由低位存储器;
共享存储器;
交换存储器;
交换高速缓冲存储器;
交换自由存储器;
总存储器。
◆ /proc/net/dev中包括每个网卡的如下数据:
接收到的字节;
接收到的压缩字节;
收到的误码数;
收到的漏失误码;
收到的FIFO误码;
收到的帧误码;
收到的多播误码;
收到的总包数;
已传输的字节;
已传输的压缩字节;
传输误码总数;
传输载波误码;
传输冲突误码;
传输漏失误码;
传输FIFO误码;
传输的总包数。
◆ /proc/stat提供:
引导时间;
上下文切换数量;
中断总量;
进页面总数;
出页面总数;
进程总数;
换入总数;
换出总数;
合计CPU空闲时间;
合计CPU nice时间;
合计CPU系统时间;
合计CPU用户时间。
同时提供对每个CPU的:
单个CPU空闲时间;
单个CPU nice时间;
单个CPU系统时间;
单个CPU用户时间。
以及对每个磁盘驱动器的如下数据:
单个磁盘块读;
单个磁盘块写;
单个磁盘I/O总数;
单个磁盘I/O读;
单个磁盘I/O写。
◆ /proc/uptime中包括:
系统总工作时间;
系统总空闲时间。
值得注意的是,每次某个/proc被读时,一个句柄函数都被内核或特有模块调用,来产生数据。数据在运行中产生,不管是读一个字符还是一个大的字块,整个文件都将被重建。这对效率是至关重要的一点,因为使用/proc的任何系统监控器将吞下整个文件,而不是一点一点地处理它。
Java提供了丰富的文件I/O类集,包括基于类的流、基于类的块设备,以及J2SDK 14提供的新的I/O库。实验表明,一般而言,对基本的块读写文件操作,用RandomAccessFile类进行I/O是最佳的。例如,块读文件操作如下:
mFile = new RandomAccessFile( "/proc/meminfo", "r" );
//以读方式打开文件
mFileread( mBuffer ); //读文件块
结论
本文讨论了如何将Java语言有效地用于Linux集群结点上的高性能监控。在程序设计中,要注意以下方面:
◆ 采用/proc文件系统;
◆ 以块形式读/proc文件,而不是以行或字符形式;
◆ 在读文件期间保持文件打开;
◆ 消除不必要的数据转换;
◆ 在结点上合并数据;
◆ 以压缩形式传输数据;
◆ 注意与性能问题相关的语言或库。
对高性能监控而言,内核模块不是必要条件,这点很重要,因为它在Linux版本和分类之间提供了很大程度的可移植性,在监控器实现语言上有很多的选择。但是,/proc文件系统的性能却很依赖内核代码的效率,因此,适当地理解有关的机制将对以任何语言编写的监控器性能有非常大的影响。
目前双机热备产品的选择:
(1) NEC ExpressCluster集群软件:支持丰富的构成方式,支持纯软件方式(镜像),多点集群及双机,远程监控,异地容灾镜像;支持虚拟技术;NEC公司出品。
(2)LifeKeeper集群软件:支持多点集群及双机,SteelEye公司出品。
(3)LanderCluster集群软件:支持多点集群及双机;远程监控;支持Unix,联鼎公司出品
(4)RoseHA双机软件:双机热备、互备,共享磁盘阵列柜,Rose公司出品
(5)RoseMirrorHA双机软件:双机热备、互备,纯镜像方式,不需要磁盘阵列柜,Rose公司出品 (6)RoseHA(Multi-node)集群软件:支持多机及双机,远程监控,多平台,易管理,Rose公司出品
(7)EterneCluster集群软件:支持多机及双机集群,远程监控,支持多平台,易于管理,易腾数信公司出品
0条评论