- 浏览: 52151 次
- 性别:
- 来自: 上海
最新评论
-
gwgyk:
楼主你好,我想问问,ganglia的监控数据默认是保持多长时间 ...
编写ganglia的客户端发送metrics -
qjzxhurong:
请问博主有通过facebook的api抓取东西过吗?一个cha ...
Facebook Auth API文档中没说清楚的事情 -
cutesunshineriver:
音乐不错,
深夜两点
文章列表
环境
Spark On Yarn环境准备:
Spark:0.9.1 release。注意要选择relase版本(不是incubating版),踩到的坑会比较少。下载页面 http://spark.apache.org/downloads.html
Hadoop:2.0.0-cdh4.2.1。MRv2(Yarn)
环境:cygwin(Git console also works)
编译机器:内存够大(2G以上吧)
如果带宽够大,你就成功30了。如果你有SSD,你就成功80%了。
准备
下载后解压spark,然后SparkBuild.scala做一些修改。Spa ...
SAXP 使用streaming 读取xml ,基于事件触发和回调函数处理xml 内容,占用内存小,速度快,适用于1 )仅仅读取但是不改变xml 内容 2 )只处理内容一次,类似于在xml 中查找相关内容。
创建Factory
解析xml 过程。首先需要创建factory ,factory 是用来创建parser 的,包含一些创建parser 的属性。
view source print ?
1
SAXParserFactory spfactory = SAXParserFactory.newInstance(); // 得到一个实例
ganglia中gmond是负责搜集metrics数据的。gmond被设计为使用UDP搜集metrics数据,可以方便的使用python,脚本,java来发送metrics数据给gmond。这样,gmond上就可以包含除了本身搜集的机器级别的metrics之外的metrics内容。
gmond存储的metrics的信息如下:
<GANGLIA_XML VERSION="3.6.0" SOURCE="gmond">
<CLUSTER NAME="Yarn_Cluster" LOCALTIME=&qu ...
ganglia监控系统简介
- 博客分类:
- ganglia
模块和名词介绍
ganglia是个运行在linux上的集群监控系统,它有三个组件:gmond,gmeta,和web模块。ganglia以metrics为单位,对集群进行监控。
metrics:可以认为就是指标。一个metrics至少有一个名字,值和时间。比如cpu-usage,值是500,时间是2014-04-09 15:24。这样有了一连串的metrics,就可以以时间为x轴,值为y轴,绘制一张metrics的图像了。当然很多metrics还有附属的属性,比如hostname等。
gmond:是用来搜集集群中的metrics信息的。同时,gmond还负责搜集一些机器 ...
Java的log系统比较繁杂。在这里梳理一下。本文只涉及log系统介绍和处理log系统之间的切换。不涉及如何配置和使用。
具体的log系统
Log4j:准确的说是log4j 1.x版。是之前使用最广泛的log系统。
Logback:Log4j的作者另立炉灶写 ...
简介
ganglia是一个不错的用来监控集群的开源软件。依托于RRDTools,它可以方便的生成metrics graph,对metrics进行聚合等。ganglia自带的客户端可以搜集集群节点CPU,memory,network的负载。也可以方便的通过编程发送UDP包来将程序的metrics发给ganglia。
单独的metrics graph:
几个metrics聚合后的metrics graph:
本文包括对ganglia以及ganglia依赖的安装和配置。包括加ganglia的高级配置,包括multi datasource,rrd cache等 ...
云计算?
云计算现在算是比较火的一个名词了。从最开始的怀疑,质疑,到普遍的应用,再到现在各大软件公司都开发自己的云,云计算这个方向在企业应用里,就如同SOA一样,已经开始飞入寻常百姓家了。
云计算 ...
LinkageError包括其子类,是Java中比较不应该出现的Error。出现这
些问题,大概有几个问题:ClassLoader没有严格遵守Java中默认的双亲委派模式;全限定名相同的两个类在不同的CL中有重复;程序运行时使用
的类的版本与开发时候不一样(类有变化,比如改了方法的可见性等)。
而LinkageError本身则更少见。当遇到LinkageError loader (instance of xxx)
previously initiated loading for a different type with name
"lib/MyData"时 ...
KMP
号称是效率最高的字符串搜索算法,大学数据结构的时候老师说这玩意不考,然后我就 直接趴下睡觉了-_-|||
。这阵子正好要做点字符串搜索的东西,顺便抄起数据结构的书看看。KMP
算法是Knuth
、Morris
、Pratt
仨牛人发
明的,不过俺也只听说过Knuth
。算法的思想不难,不过还是有点小绕脑子的。
Java SDK
的String
类中的indexOf
方法没有使用KMP
搜索,基本上算是最简单的搜索
/**
* Code shared by String and
StringBuffer to do s ...
==================
闲扯的话================
对于现在越来越轻量级,越来越讲究速度和接近用户的应用来说,xml
确实有点复杂了。解析起来不仅耗内存,而且很复杂。这就好像花了几千块钱买了个MS
Office
,但是80%
的feature
都用不着,还白白的耗着CPU
和内存。
个人觉得,设置文件用XML
其实挺好,因为设置文件一般并不太大,而且要求可读性强,还有很多乱七八糟的需求,可以利用XML
的力量。昨天搞chrome
的设置,发现chrome
的设置文件也是使用的json
,读起来也是轻松愉快。
前阵子做 ...
BOM - Byte Order Mark。对于Unicode编码的文件,BOM可以出现在文件最开始,用来指示一个文本所使用的编码。
Unicode有好几种编码,UTF-8,UTF-16BE/LE等。如果不知道文件编码,将无法正确解析文件。BOM则解决了这种问题。
但是对于使用其它方式指定编码的文件,则BOM可能会引发问题。比如对于特定的系统,如果需要手动指定文件编码,则BOM和指定的编码就会有冲突。
而且在这种情况下,程序可能就会不处理BOM,即认为文件是没有BOM的。这样就会将BOM看作是普通的字符来处理。那就是个错误了。
还有就是XML。XML允许通过制定的属性来标记文件所使用 ...
JUnit4
比之前的版本可爱多了。
编写Testcase
使用JUnit4
编写testcase
不再有继承Testcase
类的负担了。只要在测试方法加annotation
@org.junit.Test
就行了。
@org.junit.Test
public
void
test1(){
// ur test code here
}
一个类可以有多个这种加了@Test annotation
标注的测试方法。它们会在跑testcase
的时候无序无依赖的跑。
如果一个类中的Te ...
用JSON也有挺长时间了,最近做了个小软件,需要调用第三方API。Google
translate API是使用JSON数据格式的。而douban
API是使用XML数据格式的。过程中不禁感慨,xml真是不大适合存储数据,占用资源多不说,解析起来也很麻烦。现在越来越多的api开始使用json
作为数据载体,还是有它的道理的。facebook最新的的graph api也是使用json作为数据载体。
相比之下json就简单多了。关于json的介绍可以参考官方文档http://www.json.org/json-zh.html
。json是如此的简单,1)以至于解析的时候只需要两个类 ...
facebook api
的文档写的不清不楚,很多都要靠自己碰壁之后猜测和琢磨问题的原因。
下面是几个文档中没说清楚的地方:
·
The URL
:
Facebook api
首先要使用
app
的一些
id
什么的,通过一个
link
来让用户授权这个
app
。如果用户授权后,
facebook
会
callback
到一个事前自己制定的一个
URL
,在这里,这个
callback URL
是
“The URL”
。因为在下一步想要生成
Access Token
的时候,设置的
redirec ...
自己写的一个小程序,做个视频冒充一下技术宅……
程序经多次优化,终于能够达到一个可以接受的性能了……莫言Java无效率,其实重要的还是要精雕细琢。至 少就绘制Julia Set而言,我这个程序比我见过的几个cpp版本的要快的多。
项目主页地址:http://code.google.com/p/juliasetcreator/
程序下载地址:http://code.google.com/p/juliasetcreator/downloads/list。