hadoop提交任务时提示:The number of tasks for this job 312292 exceeds the configured limit 250000.
出现这个错误时, 需要修改每个任务的限制的task数。
在streaming模式下,需要添加一个配置,大于自己所需的任务数(312292)即可:
大家共用的开发机io不正常,磁盘空间总是被莫名其妙的占满,怀疑是某些东西在不断的生成日志,,想看下具体是那些进程在使用IO,需要安装一个iotop, 使用命令sudo yum install iotop,安装成功,但是运行iotop时提示
No module named iotop.ui
To run an uninstalled copy of iotop,
launch iotop.py in the top directory
开始还以为是没安装好,卸载了重新安装,问题依然存在。
后来仔细分析了提示信息:No mudule name xxx 应该是python的提示信息,由于服务器上默认的python版本2.4太低,我们自己安装了2.6的版本,并且把/usr/bin/python指向了2.6版本的python,而使用yum安装的库在python2.4的路径下,这就导致直接运行iotop时出现模块不存在的信息,之前yum也有同样的问题。
解决方法也很简单,只需要把安装的iotop -> /usr/bin/iotop第一行的python运行环境由#!/usr/bin/python改为#!/usr/bin/python2.4即可。
安装 Net-SNMP CentOS及其它RedHat系列产品提供了net-snmp的二进制包。我们可以直接从源里安装。
说明:net-snmp-devel是为了使用net-snmp-config, net-snmp-utils是为了使用snmpwalk。
配置 Net-SNMP 以上命令,创建一个snmpv3用户,只读,使用MD5,用户名为jiankongbao,密码为snmp@jiankongbao。
注意:运行之前请先停用net-snmp服务。
运行 Net-SNMP 运行 Net-SNMP 服务的方法比较简单,不过Net-SNMP服务的名字是snmpd。
如果要加入开机自动运行服务列表:
检测 Net-SNMP 我们可以使用 snmpwalk 来检测snmp服务是否正常开启。
如果一切正常,就会返回正常结果。 有关snmpwalk的参数说明,请参见其man文档。
Go如何比较时间大小:
先把当前时间格式化成相同格式的字符串,然后使用time的Before, After, Equal 方法即可.
Go如何声明一个多行字符串的变量?使用 ` 来包含即可。
想用go做一个统计svn代码提交的工具,类似statsvn。
今天进展到了用go解析svn log生成的xml格式的文件,在go doc上找了一个Example,已经包括了一些比较典型的解析案例,但是在照葫芦画瓢的时候还是遇到了问题,有个paths下有多个path,每个path都有自己的属性和值,想同时渠道属性和值,真是费了好大的劲。
先上个svn xml 格式 log 的demo。
解析其它的都很顺利,但是解析paths这块的时候遇到了点麻烦。如果 … Paths []Path `xml:”paths”` …,
这样的话,只能取到一个path的值,但是如果使用 Paths []Path `xml:”paths>path”` ,又只能取到Action和Kind的值,path的value取不到。在stackoverflow上又看了几个例子,发现有个,chardata的用法,才知道原来指定value还可以这样用。将Path的struct Path 的xml定义改为 `xml:”,chardata”`,就可以顺利的取到value了。
具体的struct就不写了,如果有需要,可以到我正在开发的GoStatsvn去看看。托管在GitHub。
参考:
跟表示XML相关的数据结构
①type Name struct {
Space, Local string
}
Local表示本地名字,Space表示命名空间前缀(命名空间标示符),该类型没有提供任何方法,主要用途一般是在XML根元素上定义一个该类型,变量名必须为XMLName,类型就为:xml.Name
②Attr(属性)、CharData(字符数据)、Comment(注释)、ProcInst(处理指令)等。这些类型都是XML标准定义的表示,有兴趣可以查看XML的标准对照学习。
三次握手的第三个ACK包丢了——客户端认为连接建立,写数据时,会触发RST
当Client端收到Server的SYN+ACK应答后,其状态变为ESTABLISHED,并发送ACK包给Server;
如果此时ACK在网络中丢失,那么Server端该TCP连接的状态为SYN_RECV,并且依次等待3秒、6秒、12秒后重新发送SYN+ACK包,以便Client重新发送ACK包。
Server重发SYN+ACK包的次数,可以通过设置/proc/sys/net/ipv4/tcp_synack_retries修改,默认值为5。 如果重发指定次数后,仍然未收到ACK应答,那么一段时间后,Server自动关闭这个连接。
但是Client认为这个连接已经建立,如果Client端向Server写数据,Server端将以RST包响应,方能感知到Server的错误.