想建设个网站卖东西,推销网站,站外引流推广渠道,wordpress电子商务视频教程1. 前言 终于又有实际的大数据计算业务功能开发了#xff0c;是对一个以前用SpringBoot来处理Elasticsearch集群上的日志数据的计算程序#xff0c;这个程序的最大问题就是单进程内存会达到几十G#xff0c;直到最后运行在中途出现OutOfMemoryError而崩溃掉#xff0c;毕竟…1. 前言 终于又有实际的大数据计算业务功能开发了是对一个以前用SpringBoot来处理Elasticsearch集群上的日志数据的计算程序这个程序的最大问题就是单进程内存会达到几十G直到最后运行在中途出现OutOfMemoryError而崩溃掉毕竟用SpringBoot来实现分布式计算是有难度的而且Spark框架已经帮我们实现了一切非常稳定高效何必自己再去造轮子呢。 2. 环境配置
2.1 解决找不到winutils.exe 在本地eclipse环境里运行Spark程序需要Hadoop windows环境不然会报错 java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. 这是因为我们确实没有本地的winutils.exe那么就配置一个直接访问GitHub - steveloughran/winutils: Windows binaries for Hadoop versions (built from the git commit ID used for the ASF relase) 按github常规copy它的url在命令行窗口执行 git clone https://github.com/steveloughran/winutils.git 成功则得到一个winutils目录cd ./winutils/, 里面有很多hadoop版本目录由于我采用hadoop-2.10.0而这里2.x最大版本是hadoop-2.8.3故选择它我的最终目录是 D:\app\hadoop\winutils\hadoop-2.8.3 在代码入口main()方法下加一行 public static void main(String[] args) {logger.info(spark execute begin...........);System.setProperty(hadoop.home.dir, D:\\app\\hadoop\\winutils\\hadoop-2.8.3); 2.2 解决master URL设置问题 上面问题处理好之后我们再次执行还是会报错 A master URL must be set in your configuration 我们在入口main()所在类文件上单击右键
Run As -- Run Configurations -- Arguments -- VM arguments下输入 -Dspark.masterlocal[*] 点Apply保存然后点“Run执行终于程序跑起来从Elasticsearch读取日志数据最后把计算结果再次写入Elasticsearch里另外一个索引。 3. 后记 Spark程序还是比较好调测的在面对亿级以上的数据分析时不建议用SpringBoot框架来写schduler模式的后台处理程序解决问题那不是SpringBoot擅长的建议用Spark框架来批处理这种数据分析问题你会发现代码行少得多分布式多进程多线程问题不用我们去手工解决。