这两天花了点时间重装了win 10,必要的开发常用工具如IDE Idea以及运行spark等任务需要的hadoop本地依赖环境重新配起来,记录下简要步骤和几个小问题希望能给正在学习的小伙伴一点帮助。
同时解决使用idea开发spark程序时与scala sdk版本不兼容问题。
idea及scala插件安装建议
01、idea选择版本
https://www.jetbrains.com/idea/download/previous.html (idea官网历史版本下载页面)
首先去官网下载windows对应版本,如果最新版是非必要的建议下载比最新版低1到2个小版本号的idea zip包。呵呵,稳定绿色方便无需安装,解压后直接将idea64.exe(64位OS) or idea.exe(32位OS)快捷方式添加到桌面即可。
02、集成scala插件
https://plugins.jetbrains.com/plugin/1347-scala (scala插件下载页面)
当然也可以直接通过idea在线安装scala插件,不过需要拼网速和人品。本次通过本地离线安装。直接将匹配scala插件版本下载后不需要解压,通过idea 加载即可。
本地开发测试spark程序hadoop依赖配置
关于idea自身配置如文本字体以及spark项目创建可以参考网上帖子。本小结是为了解决spark运行时缺少hadoop依赖问题。
util.Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
运行spark程序时出现这种错误,典型的缺少windows下hadoop依赖。最简单的办法直接搜索或者到我在分享的资源中下载下载地址hadoop-common-2.6.0-bin-master.zip文件。解压后将解压后的文件目录配置到环境变量即可,如果没有立即生效可以尝试重启电脑后尝试。重启后无效一定要再次检查配置是否有误。
scala version与spark version版本冲突解决
java JDK1.8
scala 2.11.8
spark 1.6.3-hadoop2.6.0
如果运行程序的时候出现下面异常错误:java.lang.NoSuchMethodError:scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet
这种错误是因为scala与spark版本不兼容引起,所以我们需要在idea中为此项目配置兼容版本的scala sdk,不需要卸载系统安装的scala 2.11.8,spark2.x是需要2.11.x版本的。首先下载scala-2.10.6.tgz然后解压。
文章大致就到这里,很多细节没有面面俱到因为写这篇博客主要也是为了给刚开始学习大数据的朋友在这块的一点建议以及常见两个问题解决方案。码字不容易,希望自己能坚持下去。