目錄
1.前端服務
構建前端服務DsViewservice,創建項目,添加對應的maven依賴
測試前端服務連redis服務
引入maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
測試代碼:
@RequestMapping("listzjPdrd")
public String listzjPdrd(Model model){
String aq = redisService.getStr("aq");
model.addAttribute("result",aq);
System.out.println("hello listzjPdrd");
return "dsrdlist";
}
測試結果:
上一篇得出的存入dedis的結果:
完善整合flink分析後存入redis的代碼:
@RequestMapping("listzjPdrd")
public String listzjPdrd(Model model, int topnum){
//取出 pingdaord內的值
Map<String,List<String>> map = redisService.getAllData("pingdaord");
Set<Map.Entry<String, List<String>>> set = map.entrySet();
//排序
Map<Long,String> sortmap = new TreeMap<Long,String>(new Comparator(){
@Override
public int compare(Object o1, Object o2) {
return Integer.valueOf((long)o2-(long)o1+"");
}
});
//根據總數量分組
for(Map.Entry<String,List<String>> entry :set){
String pindaoid = entry.getKey();
List<String> 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<Map.Entry<Long,String>> sortmapset = sortmap.entrySet();
List<String> result = new ArrayList<String>();
for(Map.Entry<Long,String> 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";
}
前端頁面展示結果:
2.hadoop環境搭建
下載hadoop-2.6.0.tar.gz,解壓之後
修改etc/core-site.xml(如果是本地虛擬機,可以查看修改/etc/hostname名稱,儘量不要有下劃線)
如果沒有配置java_home,需要配置hadoop-env.sh
修改etc/hdfs-site.xml
添加mapred-site.xml(可以複製mapred-queues.xml.template進行修改)
修改etc/yarn-site.xml
修改slaves(之前自己修改的)
hadoop的bin目錄下執行./hadoop namenode -format
再執行./start-dfs.sh
再執行./start-yarn.sh
結果:
bug:
8088端口無法訪問,還在排查。。。有知道的可以告知
3.總結
昨天沒有顯示Task Slots數量是因爲:1.沒有配置taskmanager name2.服務器的內存太小。
今天先構建前端項目,搭建hadoop,依然出錯,後續再排查解決
後續搭建hbase,並整合在業務邏輯中。
具體代碼可參照我的git項目地址,現有代碼均已通過測試可以使用,後續會持續更新,直到項目結束,不懂的細節,可以關注公衆號,後臺留言,會細緻解答。
git地址:https://github.com/jyqjyq/filnkDS.git