1. 报错JRE Compiler Compliance Problem 和 Java Build Path Problems
- 错误如图:
- 产生原因:pom.xml文件中引入的JDK,与电脑上安装的JDK版本不符。
pom.xml文件中引入JDK的依赖如下:
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
- 解决办法:统一pom.xml文件与电脑上安装的JDK版本,建议使用1.8版本,目前的11.0以及12.0版本没有对应的tool.jar文件,可能出现其他错误。
- Tip:
- 在电脑上配置JDK的教程搜索即可,此处不赘述。
- 配置好环境之后,在windows的CMD命令窗口输入“Java -version”,查看JDK版本,如果版本未改变请重启电脑;如果报错请重新尝试配置。
- 修改电脑上的JDK版之后记得修改Eclipse上使用的JDK版本,不然会报错,见错误3。
2. 类中无法自动导入org.apache.hadoop等相关包
或者 报错The container ‘Maven Dependencies’ references non existing library
产生原因:pom.xml文件引入的依赖没有成功导入本地库。
解决办法:右键点击项目名 –> Maven –> Update Project –> 勾选Force Update of Snapshots/Releases –> 点击OK,下载相关插件jar包即可, 时间可能有点长,耐心等待。
Tip:
利用Maven下载插件jar包速度很慢,可以采用以下方法加快下载速度:
- 获取jar下载位置后自行下载到本地
- 将下载的jar包拷贝到maven的本地库,maven本地库的位置是C:\Users\username\.m2\repository
- jar包所在位置可以根据jar的下载地址后半段获知,如图2.1:
图2.1 jar包的所在位置 部分插件jar包可从此处下载(注意版本是否对应):
3. 报错WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil
- 产生原因:Eclipse调用的JDK版本太高。
- 解决办法:修改Eclipse调用的JDK,使用JDK 1.8版本,步骤如下:
- 点击Window –> Preferences –> Java –> Installed JREs –> Add –> Standard VM –> Next –> Directory –> 选择JDK的安装目录,如”C:\Program Files\Java\jdk1.8.0_144” –> Finish –> Apply and Close。
4. 连接Hdoop集群报错Retrying connect to server: hadoop101/192.168.1.101:9000. Already tried 0 time(s); maxRetries=45
- 产生原因:访问的Hadoop集群的防火墙未关闭,需要关闭防火墙。
- 解决办法:在对应虚拟机上输入命令”service iptables stop”,关闭防火墙(需要root用户输入或者使用sudo命令)。