hadoop提交任务时提示:The number of tasks for this job 312292 exceeds the configured limit 250000.
出现这个错误时, 需要修改每个任务的限制的task数。
在streaming模式下,需要添加一个配置,大于自己所需的任务数(312292)即可:
-D mapred.jobtracker.maxtasks.per.job=320000
阅读全文

hadoop提交任务时提示:The number of tasks for this job 312292 exceeds the configured limit 250000.
出现这个错误时, 需要修改每个任务的限制的task数。
在streaming模式下,需要添加一个配置,大于自己所需的任务数(312292)即可:
-D mapred.jobtracker.maxtasks.per.job=320000
大家共用的开发机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即可。
CentOS及其它RedHat系列产品提供了net-snmp的二进制包。我们可以直接从源里安装。
yum install net-snmp net-snmp-devel net-snmp-utils
说明:net-snmp-devel是为了使用net-snmp-config, net-snmp-utils是为了使用snmpwalk。
create-snmpv3-user -ro -A snmp@jiankongbao -a MD5 jiankongbao
以上命令,创建一个snmpv3用户,只读,使用MD5,用户名为jiankongbao,密码为snmp@jiankongbao。
注意:运行之前请先停用net-snmp服务。
service snmpd stop
运行 Net-SNMP 服务的方法比较简单,不过Net-SNMP服务的名字是snmpd。
service snmpd start
如果要加入开机自动运行服务列表:
chkconfig snmpd on
我们可以使用 snmpwalk 来检测snmp服务是否正常开启。
snmpwalk -v 3 -u jiankongbao -a MD5 -A "snmp@jiankongbao" -l authNoPriv 127.0.0.1 sysDescr
如果一切正常,就会返回正常结果。 有关snmpwalk的参数说明,请参见其man文档。
Go如何比较时间大小:
先把当前时间格式化成相同格式的字符串,然后使用time的Before, After, Equal 方法即可.
time1 := "2015-03-20 08:50:29"
time2 := "2015-03-21 09:04:25"
//先把时间字符串格式化成相同的时间类型
t1, err := time.Parse("2006-01-02 15:04:05", time1)
t2, err := time.Parse("2006-01-02 15:04:05", time2)
if err == nil && t1.Before(t2) {
//处理逻辑
fmt.Println("true")
}
这里有oneline的Demo,可以在线修改,运行。https://play.golang.org/p/oRJ_1-DE4l
Go如何声明一个多行字符串的变量?使用 ` 来包含即可。
package mainimport ( “fmt” )
func main() { str :=
hello world v2.0fmt.Println(str) }
Demo:http://play.golang.org/p/BOL8_SwQ0D
想用go做一个统计svn代码提交的工具,类似statsvn。
今天进展到了用go解析svn log生成的xml格式的文件,在go doc上找了一个Example,已经包括了一些比较典型的解析案例,但是在照葫芦画瓢的时候还是遇到了问题,有个paths下有多个path,每个path都有自己的属性和值,想同时渠道属性和值,真是费了好大的劲。
先上个svn xml 格式 log 的demo。
<?xml version="1.0"?> <log> <logentry revision="43424"> <author>fukun</author> <date>2015-03-13T11:05:17.341130Z</date> <paths> <path kind="file" action="M">/BigDataPlatform/trunk/application/controllers/Enterpriseajaxapi.php</path> <path kind="file" action="M">/BigDataPlatform/trunk/application/models/ChartDataFormater.php</path> <path kind="file" action="M">/BigDataPlatform/trunk/application/controllers/Mediaajaxapi.php</path> </paths> <msg>抽象出 格式化折线图的方法</msg> </logentry> <logentry revision="43423"> <author>zhengjin</author> <date>2015-03-13T11:04:50.450051Z</date> <paths> <path kind="file" action="M">/BigDataPlatform/trunk/public/static/js/mapChart.js</path> </paths> <msg>地图事件响应</msg> </logentry> </log>
解析其它的都很顺利,但是解析paths这块的时候遇到了点麻烦。如果 … Paths []Path `xml:”paths”` …,
type Path struct {
Kind string `xml:"kind,attr"`
Action string `xml:"action,attr"`
Path string `xml:"Path"`
}
这样的话,只能取到一个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 {
三次握手的第三个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的错误.
