手撕项目-Flink电商实时分析四

目录

 

1.前端服务

2.hadoop环境搭建

3.总结


1.前端服务

构建前端服务DsViewservice,创建项目,添加对应的maven依赖

测试前端服务连redis服务

引入maven

    org.springframework.boot    spring-boot-starter-data-redis    2.2.6.RELEASE

测试代码:

@RequestMapping("listzjPdrd")public String listzjPdrd(Model model){    String aq = redisService.getStr("aq");    model.addAttribute("result",aq);    System.out.println("hello listzjPdrd");    return "dsrdlist";}

测试结果:

手撕项目-Flink电商实时分析四_第1张图片

上一篇得出的存入dedis的结果:

手撕项目-Flink电商实时分析四_第2张图片

完善整合flink分析后存入redis的代码:

@RequestMapping("listzjPdrd")public String listzjPdrd(Model model, int topnum){    //取出 pingdaord内的值    Map> map = redisService.getAllData("pingdaord");    Set>> set = map.entrySet();    //排序    Map sortmap = new TreeMap(new Comparator(){        @Override        public int compare(Object o1, Object o2) {            return Integer.valueOf((long)o2-(long)o1+"");        }    });    //根据总数量分组    for(Map.Entry> entry :set){        String pindaoid = entry.getKey();        List list = entry.getValue();        long total = 0l;        for(String o : list){            total += Long.valueOf(o);        }        if(sortmap.get(total)!=null){            String pindaoidtemp = sortmap.get(total);            sortmap.put(total,pindaoidtemp+","+pindaoid);        }else {            sortmap.put(total,pindaoid);        }    }    int temptotal = 0;    //取出总数量分组后的值,排序展示    Set> sortmapset = sortmap.entrySet();    List result = new ArrayList();    for(Map.Entry entry :sortmapset){        String pindaoid = entry.getValue();        String [] temp = pindaoid.split(",");        temptotal += temp.length;        if(temptotal >= topnum){            int sy = temptotal - topnum;            int tempqz = temp.length - sy-1;            for(int i=0;i<=tempqz;i++){                result.add(temp[i]);            }            break;        }else{            for(String tempinner :temp){                result.add(tempinner);            }        }    }    model.addAttribute("result",result);    System.out.println("hello listzjPdrd");    return "dsrdlist";}

前端页面展示结果:

手撕项目-Flink电商实时分析四_第3张图片

 

 

2.hadoop环境搭建

 

下载hadoop-2.6.0.tar.gz,解压之后

修改etc/core-site.xml(如果是本地虚拟机,可以查看修改/etc/hostname名称,尽量不要有下划线

手撕项目-Flink电商实时分析四_第4张图片

如果没有配置java_home,需要配置hadoop-env.sh

手撕项目-Flink电商实时分析四_第5张图片

修改etc/hdfs-site.xml

手撕项目-Flink电商实时分析四_第6张图片

添加mapred-site.xml(可以复制mapred-queues.xml.template进行修改)

手撕项目-Flink电商实时分析四_第7张图片

修改etc/yarn-site.xml

    

手撕项目-Flink电商实时分析四_第8张图片

修改slaves(之前自己修改的)

手撕项目-Flink电商实时分析四_第9张图片

hadoop的bin目录下执行./hadoop namenode -format

再执行./start-dfs.sh

手撕项目-Flink电商实时分析四_第10张图片

再执行./start-yarn.sh

结果:

手撕项目-Flink电商实时分析四_第11张图片

bug:

    8088端口无法访问,还在排查。。。有知道的可以告知

 

 

3.总结

 

昨天没有显示Task Slots数量是因为:1.没有配置taskmanager name2.服务器的内存太小。

今天先构建前端项目,搭建hadoop,依然出错,后续再排查解决

后续搭建hbase,并整合在业务逻辑中。

具体代码可参照我的git项目地址,现有代码均已通过测试可以使用,后续会持续更新,直到项目结束,不懂的细节,可以关注公众号,后台留言,会细致解答。

git地址:https://github.com/jyqjyq/filnkDS.git

你可能感兴趣的:(手撕项目)