- 浏览: 25864 次
- 性别:
- 来自: 北京
最新评论
文章列表
发现一个sqoop的bug.
org.apache.sqoop.lib.RecordParser
public List<String> parseRecord(CharBuffer input)
在此方法中,如果某个field结尾有许多ascii值为0的char,会造成当遇到fieldDelim的时候,无法将state重置为FIELD_START,造成两个字段会被识别为一个字段
今天发现使用sqoop导入db的时候JOB失败,有异常数据导致的,但是如何根据日志中的异常堆栈信息定位到异常数据呢?
每次通过sqoop导入MySql的时,都会生成一个以MySql表命名的.java文件,然后打成JAR包,给sqoop提交给hadoop 的MR来解析Hive表中的数据。那我们可以根据报的错误,找到对应的行,改写该文件,编译,重新打包,sqoop可以通过 -jar-file ,--class-name 组合让我们指定运行自己的jar包中的某个class。来解析该hive表中的每行数据。脚本如下:一个完整的例子如下:
./bin/sqoop export --connect &quo ...
使用hadoop fs命令对hdfs进行写操作时,会报:Name node is in safe mode错误,造成无法读写,刚开始去网上搜了一些资料,使用命令 hdfs dfsadmin -safemode leave进行解决,但是namenode始终处于safe mode模式,也无法关闭。后来df -ah发现是因为磁盘100%的原因,释放磁盘空间后,关掉safe mode模式,问题解决
scribe安装(转载)
- 博客分类:
- Scribe
上一篇简要的了解了scribe的原理,这个一篇可以实践一下scribe。scribe在安装的时候依赖关系还是蛮多的,官方解释如下:
[libevent] Event Notification library
[boost] Boost C++ library (version 1.36 or later)
[thrift] Thrift framework (version 0.5.0 or later)
[fb303] Facebook Bassline (included in thrift/contrib/fb303/)
fb303 r697 ...
Java文件监控方式(转载)
- 博客分类:
- Java
有三种方式:
1、java common.io 内部实现是遍历的方式,小文件夹的效率还好,比如我测试60G的目录,就很慢很慢了。
2、jdk 7 的watch service //没有测试
3、jnotify 直接调用windows的api,效率很高,也很简单,推荐使用。
------------------------------------------------------------------------------------------------------------------------------------------- ...
Storm的一些运维经验
- 博客分类:
- Storm
今天的实时数据跑的不正确,看了下worker的日志,发现是worker重启造成的数据重复计算。但是又查找不到相关worker挂掉的证据。继续看supervisor的日志,发现在worker与zookeeper通信时出现了time out的现象,supervisor shutting down了worker,并重启lanuching了worker,于是想到做了时间校时,造成了worker与zookeeper的超时,最后导致了悲剧的发生。
JAVA启动参数大全之三:非Stable参数
- 博客分类:
- Java
转载自:http://blog.csdn.net/sawxb/article/details/4269007
前面我们提到用-XX作为前缀的参数列表在jvm中可能是不健壮的,SUN也不推荐使用,后续可能会在没有通知的情况下就直接取消了;但是由于这些参数中的确有很多是对我们很有用 ...
JAVA启动参数大全之二:非标准参数
- 博客分类:
- Java
转载自:http://blog.csdn.net/sawxb/article/details/4269007
非标准参数又称为扩展参数,其列表如下:
-Xint
设置jvm以解释模式运行,所有的字节码将被直接执行,而不会编译成本地码。
-Xbatch
关闭后台代码编译,强制在前台编译,编译完 ...
JAVA启动参数大全之一:标准参数
- 博客分类:
- Java
转载自:http://blog.csdn.net/sawxb/article/details/4269007
java启动参数共分为三类;
其一是标准参数 (-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;
其二是非标准参数 (-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;
其三是非Stable参数 (-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;
本文主要描述标准参数部分,剩下的两个部分将会陆续推出;
标准参数列表如下:
-client
设置jvm使用client模式,特点是启动速度比较快,但运行时 ...
在一个程序里面运行另一个程序的最简单的方法是把它们依次列入一个批处理文件(扩展名为.BAT的文件),在执行该批处理文件时,其中所列程序就会自动运行。
在C或DOS中,都没有一种特定的方法来完成“在一个程序结束后运行另一个程序”这样一种函数调用。然而,C提供了两组函数,它们允许一个程序随时可以运行另一个程序,而后者的运行将结束前者的运行。如果你将这样的函数调用放在第一个程序的末尾,就能达到上述目的。C提供的这两组函数是exec()和spawn()函数族,其中的每一个函数都具有一种区别于其它函数的功能。exec()函数族包含这样一些成员:execl()、execle()、execlpe( ...
转载http://blog.chinaunix.net/uid-23354495-id-3111498.html
#源码包存放目录
cd /usr/local/src
#下载源码包
wget -c http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz
#解压缩及配置,编译,安装
tar -xzvf rsync-3.0.9.tar.gz
cd rsync-3.0.9
./configure
make
make install
使用举例:
ex1: copy rsync-3.0.9 to aa (localhost)
[ro ...
这里记录一些mongodb在日常使用中遇到的一些问题
1.MongoDB做了replica sets之后,secondary节点出现recovering状态
官方的解释:
You don't need to repair, simply perform a full resync.
On the secondary, you can:
stop the failed mongod
delete all data in the dbpath (including subdirectories)
restart it and it will automatically ...
转载至http://see.xidian.edu.cn/cpp/html/1481.html
一、获取锁等待情况
可以通过检查table_locks_waited和table_locks_immediate状态变量来分析系统上的表锁定争夺:
mysql> show status like 'Table%';
+----------------------------+----------+
| Variable_name | Value |
+----------------------------+----------+
| Table_locks_immediate ...
http://hxraid.iteye.com/blog/522167
http://renxiangzyq.iteye.com/blog/549554
http://yiliner.iteye.com/blog/207723
http://topic.csdn.net/u/20091203/09/5390b332-2f4b-4366-af93-9688b5b982c3.html
http://developer.51cto.com/art/200906/132698.htm
http://blog.zhaojie.me/2009/11/string-concat-perf-1-benchmar ...
Java InputStream 的mark 和reset操作
mark用于标记当前位置;在读取一定数量的数据(小于readlimit的数据)后使用reset可以回到mark标记的位置。
FileInputStream不支持mark/reset操作;BufferedInputStream支持此操作;
mark(readlimit)的含义是在当前位置作一个标记,制定可以重新读取的最大字节数,也就是说你如果标记后读取的字节数大于readlimit,你就再也回不到回来的位置了。
通常InputStream的read()返回-1后,说明到达文件尾,不能再读取。除非使用了mark/reset
...