在MR处理ORC的时候遇到如下异常:

1
2
3
4
5
6
7
8
9
10
11
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1024
at org.apache.orc.impl.RunLengthIntegerReaderV2.nextVector (RunLengthIntegerReaderV2.java:369)
at org.apache.orc.impl.TreeReaderFactory$BytesColumnVectorUtil.commonReadByteArrays (TreeReaderFactory.java:1231)
at org.apache.orc.impl.TreeReaderFactory$BytesColumnVectorUtil.readOrcByteArrays (TreeReaderFactory.java:1268)
at org.apache.orc.impl.TreeReaderFactory$StringDirectTreeReader.nextVector (TreeReaderFactory.java:1368)
at org.apache.orc.impl.TreeReaderFactory$StringTreeReader.nextVector (TreeReaderFactory.java:1212)
at org.apache.orc.impl.TreeReaderFactory$ListTreeReader.nextVector (TreeReaderFactory.java:1902)
at org.apache.orc.impl.TreeReaderFactory$StructTreeReader.nextBatch (TreeReaderFactory.java:1737)
at org.apache.orc.impl.RecordReaderImpl.nextBatch(RecordReaderImpl.java:1045)
at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl.ensureBatch(RecordReaderImpl.java:77)
at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl.hasNext(RecordReaderImpl.java:89)

通过搜索发现这个Bug在Hive 2.1.1版本中已经修复。我使用的就是这个版本,检查对应的源代码发现代码是已经按照下面的Patch修复过得:https://issues.apache.org/jira/browse/HIVE-14483

阅读全文 »

Nginx是不支持POST请求静态内容的,通过POST请求时出现以下错误:

1
2
3
4
5
6
7
8
# curl -d "a=b" "http://192.16.36.15:11013/upgrade"
<html>
<head><title>405 Not Allowed</title></head>
<body bgcolor="white">
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.14.2</center>
</body>
</html>

解决方法是在Nginx配置中添加以下配置:

阅读全文 »

使用Rsyslog的omhttp模块可以将收集的日志数据以HTTP请求的方式输出。该模块支持单条/批量发送数据,支持GZIP压缩,支持HTTPS。

Rsyslog默认未包含omhttp模块,需要重新编译。编译过程参考我的另外两篇博文:

阅读全文 »

导出示例:

1
$ mongoexport --host 192.168.72.60 --db realtime_statistic_backup --collection all_play_stats_summary --fields "_id.timestamp,total_uv" --type csv --out uv.csv --sort "{'_id.timestamp': -1}" --query "{'_id.province_id':'sc','_id.city_id':'all', '_id.display_name': 'all'}"
  • 3.4.6版本后支持--uri方式连接MongoDB
  • --fields指定要导出的field,如果是嵌套的json,可以通过点(.)操作指定内层的field
阅读全文 »

在使用Jenkins编译Hadoop3.1.2时报错信息如下:

1
2
3
4
[INFO] --- hadoop-maven-plugins:3.1.2:protoc (compile-protoc) @ hadoop-common ---
[WARNING] [protoc, --version] failed: java.io.IOException: Cannot run program "protoc": error=13, 权限不够
[ERROR] stdout: []
[INFO] ------------------------------------------------------------------------

原因是Jenkins中找不到protoc命令。解决方法是在Jenkins中配置环境变量PATH指定protoc路径。

阅读全文 »

Jenkins重启后发现Maven的项目都没有正常加载。检查Jenkins的启动日志发现以下错误信息:

java.io.IOException: Unable to read /home/jenkins/.jenkins/jobs/test-maven/config.xml
    at hudson.XmlFile.read(XmlFile.java:149)
    at hudson.model.Items.load(Items.java:371)
    at jenkins.model.Jenkins$14.run(Jenkins.java:3128)
    at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
    at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
    at jenkins.model.Jenkins$5.runTask(Jenkins.java:1069)
    at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
    at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: maven2-moduleset
    at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:79)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
    at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
    at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)

将Maven Integration plugin重装并重启Jenkins后恢复正常。

阅读全文 »
0%