- 浏览: 200548 次
- 性别:
- 来自: 广州
最新评论
-
永立s:
这篇博客帮我解决了一个问题,十分感谢.
HBase表增加snappy压缩 -
BlackWing:
日志是job运行日志,看你怎么配置了,一般就在hadoop安装 ...
解决Exception from container-launch: ExitCodeException exitCode=1的另类错误 -
heymaomao:
<div class="quote_title ...
解决Exception from container-launch: ExitCodeException exitCode=1的另类错误 -
heymaomao:
有两个问题,想请教下楼主 第一是日志楼主到底看的是哪个日志文件 ...
解决Exception from container-launch: ExitCodeException exitCode=1的另类错误 -
atomduan:
本地的Unix 进程创建失败,检查下服务器内存是否够用,是不是 ...
解决Exception from container-launch: ExitCodeException exitCode=1的另类错误
文章列表
solr升级到3.6后,以前的CommonsHttpSolrServer类以及过期,官方建议使用HttpSolrServer,但替换类后,运行会报错:
java.lang.NoClassDefFoundError: org/apache/http/HttpRequestInterceptor
找到这位仁兄的文章:
http://www.solrcn.com/?p=510
顺利解决。
此外,还遇到过一个奇怪的问题,用DIH导入数据时,过程正常,但部分字段没更新正确,用的sql语句带有where,后来发现是CachedSqlEntityProcessor的问题,替换成SqlEntityPro ...
配置solr的主从replication,slave机器一定要设置masterUrl这个参数,但项目是做好索引后,发送命令给从机到master上拉索引,而不是slave定时检查master索引。索引有个取巧的方法,就是虽然设置了masterUrl参数,但不指定其值
<requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="slave">
<str name="master ...
由于各台机器配置不同,想单独设置每个节点的mapred.child.java.opts参数,开始设置为<property>
<name>mapred.child.java.opts</name>
<value>-Xms512m -Xmx512m -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:PretenureSizeThreshol ...
最近要从数据库读取信息,但连接其他库都没问题,只有其中一个库老报错:
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. the driver has not received any packets from the server.
网上查到的符合我环境的,应该是我的连接数太多,导致MySQL连接数用完,所以优化代码,让多次连接公用一个connection;连接用完后,关闭。
此外,设置自动重连也能有一定帮助,但ms官方不太建议设置自动重连。 ...
Hadoop处理大量的数据,如果期间的输出数据、中间数据能压缩存储,对系统的I/O性能会有提升。
参考了网上不少资料,发现综合考虑压缩、解压速度、是否支持split,目前lzo是最好的选择。lzo最初在google code上托管,但后来转移 ...
hdfs的data.dir配置如下:
<property>
<name>dfs.data.dir</name>
<value>/diska/data/hadoop/data1,/diska/data/hadoop/data2</value>
</property>
后来在web界面的live nodes中看到,怎么hadoop配置的可用空间比实际的空间要多一倍,所以推测,hadoop不会检测是否相同的盘,只单独计算data.dir配置的每个目录的总容量,简单相加。
因为要运行balancer,但发现l ...
在solr相关程序运行一段时间后,很容易出现too many open files错误,以前因为找不到有效的解决办法(solr本身已经优化),所以只能用ulimit -SHn 20000来增大进程open files的数目。
今天意外的找到一个办法,似乎能比较好解决问题。
这个一方面可以优化solr,另一方面,我自己调用httpclient的代码没有设置好。主要是通过设置PostMethod的setRequestHeader("Connection","close"),使程序获取完数据后,立刻释放连接,减少close_wait的连接数。
文章在此: ...
linux下安装wine可以从源码编译安装,但一般都觉得麻烦,所以尽量利用yum进行安装,解决很多包的依赖关系。
首先安装一个epel
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
有可能这个地址往后会失效,我搜索教程时也遇到这种状况。我的做法是,浏览上层点第目录,直到找到最新第版本,例如,我从http://dl.fedoraproject.org/pub/开始慢慢往下浏览。
2. 直接安装wine
yum install wine
比较漫长第等待过程完成后,就完成wi ...
默认情况下,centos是没打开一个文件夹,都新开窗口,挺烦的,可以设置为在同一窗口打开所有文件夹,像windows一样,先打开一个文件夹:
编辑-->首选项-->行为-->总是在浏览器中打开
这样就行。
还有,在终端命令行状态,打开某个文件夹的图像界面,可以用命令nautilus,例如打开自己的宿主目录:
nautilus /home/blackwing
这样就能打开对应文件夹,不加参数的nautilus打开当前用户宿主目录文件夹。
系统上已经安装来Hadoop,并且hbase通过hadoop存储数据。
1.把hbase中某个表第数据导出到hadoop中:
>hbase org.apache.hadoop.hbase.mapreduce.Driver export table1 table1
hbase中首先要有table1这个表才能导出成功。导出的表,在hadoop文件系统的当前用户目录下,table1文件夹中。例如,导出后在hadoop文件系统中的目录结构:
hadoop fs -ls后,看到:
/user/blackwing/table1/part-r-00000
2.把这个表导入到另外一台机器第hbase中 ...
在Linux下正常的时间,切换到windows下后,发现时间晚了8个小时,原因是linux中用的是UTC时间。
如果要在windows中正确显示时间,只是修改Windows系统时间,是不行的,这样切换到Linux后还是会错乱。
解决办法是通过Windows注册表,更改设置。
开始-->运行-->regedit:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
下,右键新建DWORD类型的值,重命名为:
RealTimeIsUniversal
值为:1
之后重启windows,时间 ...
打包了个fat jar,后来程序作了小修改,如果重新打包一个fat jar再上传服务器实在麻烦,而如果能只把更改的class文件放到原来jar包替换相应文件,则简便很多。
jar命令可以替换jar包对于文件,但需要点小技巧。一般替换(增加)jar包根目录下的文件,用到的命令是:
jar uvf myjar.jar ClassToAdd.class
就能把ClassToAdd.class添加到myjar.jar包根目录下。但通常,我们的包都是有多层目录的,这时就需要做点更改。例如,我要更新jar包下:com.blackwing目录下的ClassToAdd.class文件,则命令改为:
jar u ...
由于操作HBase比较粗犷,有时直接在hadoop中删除hbase对应的表,导致.META.中还记录着表项,但实际存储空间中却没找到。这样就会导致HBase的log中总在报错,说找不到xxx表,而且log在飞快增长。
办法是删除.META.中对应表项。
原来,.META.和-ROOT-其实也是hbase的两个特殊的表,这就是说,我们可以scan、delete等对其进行操作。
1. scan ‘.META.'
可以看到,本来已经删除的表,还在这里存在记录。而且每个表,会分别对应3行记录。
2. delete对应的行。
删除.META.表项与删除table中一行一样,输入:
delete ...
hadoop的datanode启动失败,只能启动datanode进程,而tasktracker则未能启动,查看HADOOP HOME下的hs_err_pid*文件,错误如下:
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGFPE (0x8) at pc=0x0000003995f07827, pid=32635, tid=1076017504
#
# JRE version: 6.0_32-b03
# Java VM: Java HotSpot(TM) 64-Bit Server ...
好不容易拿到批机器部署hadoop1.0.1,却发现datanode的tasktracker死活启动不了,java还报了个fatal error,真莫名其妙。
这里再次佩服google的强大,x度真的啥都找不到。
tasktracker启动失败,最终找到原因:
hdfs的部分c底层,是针对gcc4.1构建,而Redhat AS 4系统中,最新的gcc是3.4。
那就动手升级gcc了。但这是个挺苦力的工作,gcc依赖挺多其他包,而且要重新编译。这里先列出gcc4.7依赖的一些包:
1. glibc-devel
在编译gcc过程中,报错,说:
/usr/bin/ld: crti.o: No s ...