java web调用mapreduce算法-Day1

来源:互联网 发布:cucumber java 编辑:程序博客网 时间:2024/06/06 02:36

  1.Reduce输出结果未排序,把reduce的key改为longwritable类型应该是可以的,但是无效,如果同时把mapper的key 也改为longwritable类型就好啦~

2.启动spring报错:Server IPC version 9 cannot communicate with client version 4 这种,就是添加的Hadoop的dependency不能用hadoop-core,因为它的版本太低了,要用另外三个依赖就好 http://blog.csdn.net/u012554102/article/details/47971697 另外看见大佬说的一个http://mvnrepository.com/网址,搜dependency的,提供maven依赖的相应模板

3.修改完dependency之后,发现import报错,引入没什么问题,版本是2.8.1maven仓库看见了都有,update project也不行,大佬这样说http://blog.csdn.net/achilles12345/article/details/45689297 也就是在update project时勾选上force update那个选项即可

4.HDFS的路径应该是hdfs://主节点:端口号这种形式,端口号要看配置的Hadoop的HDFS的端口号是什么了,我本机的8020,因为当时启动如果不是8020匹配就有问题,但是大集群上是9000,师兄帮我找到了的bug~

5.安装好了XQuartz,它在MAC上的使用方法是,安装完了之后,它居然被安装到“其他”文件夹里,导致我都没看见它啊,还得从CleanMyMac上启动,反正就是安装然后启动,之后点击图标,选择应用程序,选择终端,在终端上按带-X参数方式连接集群,连上以后输入firefox,就打开浏览器了,期间还出现firefox is already running的问题,解决方案见博客http://www.bubuko.com/infodetail-163710.html

6.我在大集群上启动spring boot的时候出现8080端口占用问题,但是也不能停掉大集群的Tomcat,那就要该spring boot内嵌的Tomcat的端口号,http://www.cnblogs.com/godtrue/p/4755902.html 厉害厉害 加个-Dserver.port参数,命令行输入时位置如下:java -Dserver.port=8090 jar ******* java web终于在集群上跑起来了

7.对于map 和reduce输出的key不一样的问题,虽然是可以通过setmapoutputkeyclass方法区分,但是跑起来仍然有错,问题出在 http://blog.csdn.net/juanjuan1314/article/details/51523631 如她所说,不要setcombinerclass就好啦~

8.连接HDFS时报错 https://stackoverflow.com/questions/23779976/java-lang-illegalargumentexception-wrong-fs-expected-hdfs-localhost9000 按一楼说的用URI方式,但是其中的字符串不是“hdfs://localhost:9000”而是“hdfs://master:9000”,master是集群主节点的名称,这样操作HDFS就没问题啦~注意是URI不是URL哦,他俩都在java.net包里,我还弄混了,区别在于 http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html

  另不知道为什么算法不放在springboot框架里耗时4min+,放在框架里第一次12min,第二次20min,第三次干脆就在map 11%不动了……卡在SQL查询上,我现在是要算上解决reduce排序等各种对代码有修改的问题整合起来(因为我操作了三个版本的代码……一个springboot里的,一个在本地Hadoop上跑的,一个为了打成包放在集群上跑算法的,一致性太不好管理!!要减少一下了……)跑一下看有没有问题,结果二十分钟过去了,动都没动,我就把它放实验室跑一晚上吧,但是明天不管它究竟动没动,我都得解决它在框架里跑的这么慢的原因,太影响性能了,不是影响,这性能就废了!当然如果动了,说不准还有bug要调。







原创粉丝点击