Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wubo2cyp opened this issue Jan 16, 2017 · 8 comments
Open

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

wubo2cyp opened this issue Jan 16, 2017 · 8 comments

Comments

@wubo2cyp
Copy link

wubo2cyp commented Jan 16, 2017

主要遇到的问题:
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有多个值的时候也会出现类似的问题。期待解决

@wubo2cyp
Copy link
Author

集成hdfs的大致过程:
1、修改$POSEIDON_HOME/dist/index-0.1/bin/start.sh 主要涉及点 hadoop命令,环境变量 poseidon相关的jar包名称(编译之后的jar包名和start.sh 中不一致)
2、修改$POSEIDON_HOME/dist/index-0.1/etc/test.json 主要涉及点name_node,hadoop_user,local_mock
3、poseidon组件相关的配置文件:idgenerator/conf/idgenerator.ini,proxy/conf/app.ini,searcher/conf/app.ini, meta/conf/meta.ini 这几个配置文件中的127.0.0.1 地址改成真实的ip地址。

@liwei-ch
Copy link
Contributor

感谢回馈~
1-4 应该和hadoop版本有关;我在hadoop.2.7.1测试没有问题;请提供下具体的hadoop版本;
另外 @wubo2cyp 同学,集成hadoop,请使用$POSEIDON_HOME/dist/index-0.1/etc/test_hdfs.json
5:不影响使用
6-7: @dunixd 帮忙解决下

@liwei-ch
Copy link
Contributor

@guojun1992 帮忙看看有时候查询不到的问题

@wubo2cyp
Copy link
Author

@liwei-ch 我这边一共在两套集群做了测试,一套是基于HDP2.4(hadoop2.6)还有一套是hadoop2.4 都有上述的问题

@zieckey
Copy link
Contributor

zieckey commented Jan 17, 2017

@wubo2cyp

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

这个问题,我们也遇到多次,可以从readhdfs接口看到更多的错误日志。猜测是读HDFS数据时,第一次都是从磁盘加载,导致超时失败,第二次读的时候,由于有文件系统的缓存作用,读取成功率更高些。

欢迎交流。
谢谢。

@liwei-ch
Copy link
Contributor

@wubo2cyp 确认是使用$POSEIDON_HOME/dist/index-0.1/etc/test_hdfs.json 出现的上诉问题吗?

@wubo2cyp
Copy link
Author

刚更新了代码发现最近代码已经更新了,我集成hdfs的代码是一个月之前的代码,所以遇到了这些问题,按照最新的代码再进行编译试试!仅供参考吧

@zhouyuan-dev
Copy link

集成hdfs的大致过程:
1、修改$POSEIDON_HOME/dist/index-0.1/bin/start.sh 主要涉及点 hadoop命令,环境变量 poseidon相关的jar包名称(编译之后的jar包名和start.sh 中不一致)
2、修改$POSEIDON_HOME/dist/index-0.1/etc/test.json 主要涉及点name_node,hadoop_user,local_mock
3、poseidon组件相关的配置文件:idgenerator/conf/idgenerator.ini,proxy/conf/app.ini,searcher/conf/app.ini, meta/conf/meta.ini 这几个配置文件中的127.0.0.1 地址改成真实的ip地址。

@wubo2cyp

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

这个问题,我们也遇到多次,可以从readhdfs接口看到更多的错误日志。猜测是读HDFS数据时,第一次都是从磁盘加载,导致超时失败,第二次读的时候,由于有文件系统的缓存作用,读取成功率更高些。

欢迎交流。
谢谢。

请问还有在使用这个产品吗?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants