Skip to content

poseidon集成hdfs的问题汇总及解决方法 #14

Description

@wubo2cyp

主要遇到的问题:
1、Incomplete HDFS URI, no host: hdfs:///
解决方法:MetaConfigured和InvertedIndexGenerate中修改

  •            conf.set("fs.default.name", "hdfs:///");
    
  •            conf.set("fs.default.name", "hdfs://" + name_node);
    

2、java.io.FileNotFoundException: File does not exist: //home/poseidon/src/test/conf/2017-01-05/IKAnalyzer.cfg.xml
解决方法:MetaConfigured和InvertedIndexGenerate中修改:

  •        fs_default_name = "hdfs://" + name_node + "/";
    
  •        fs_default_name = "hdfs://" + name_node;
    

3、Error: java.lang.ClassNotFoundException: org.wltea.analyzer.core.IKSegmenter
解决方法:下载IKAnalyzer2012_u6.jar相关包放到hadoop,classpath中即可
4、Error: class proto.PoseidonIf$DocIdList$Builder overrides final method setUnknownFields.(Lcom/google/protobuf/UnknownFieldSet;)Lcom/google/protobuf/GeneratedMessage$Builder;
protuobuf兼容问题集群中是2.5,poseidon是用的3.1,将3.1的jar替换到mapreduce的classpath中即可。
classpath所在路径:mapreduce-site.xml中的mapreduce.application.classpath
5、org.json.JSONException: JSONObject["token_filter_files"] not found.
缺少该属性,在test.json中增加该属性,属性值是json对象(该属性没有的话,测试过程中没有影响到测试结果)
6、curl查询结果时报错:java.io.IOException: No FileSystem for scheme: hdfs
缺少hadoop相关包,主要是hdfs相关的,放到hdfsreader-0.1/lib目录下即可
7、curl查询结果还会报一个protobuf相关的错误,将protobuf-java-3.1.jar拷贝到hdfsreader-0.1/lib 目录即可
8、其他还有一些错误,如:相关的配置文件中不能用127.0.0.1,hadoop_cmd 可能由于环境问题不能使用快捷方式,

下面说下我的问题:用官方提供的测试数据,在进行curl查询的时候,经常性的第一次查询结果显示为没有的,在执行一次才有数据,如果我输入days:条件中输入多个日期比如2017-01-06,2017-01-09,返回的结果中day属性有时候是2017-01-06,有时候是2016-01-07。当查询调节keywords中的text有多个值的时候也会出现类似的问题。期待解决

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions