您的位置:首页 > 大数据 > Hadoop

Windows10: 使用IntelliJ IDEA远程连接Hadoop

2020-04-07 12:15 1221 查看

1.jdk环境配置

1.1 下载一个1.8版本的jdk(如果系统自带1.8版本的话 可以忽略这一条)
我提供一个官网的版本 也是我确定可以用的版本:https://www.oracle.com/cn/java/technologies/javase-jdk8-downloads.html


因为我所学的Hadoop只能在jdk 1.8环境下跑,进行远程连接如果jdk版本过高的话是无法成功的,所以要求ide的jdk版本与Hadoop一致 选择1.8

(以下图片参考百度经验https://jingyan.baidu.com/article/4e5b3e19fb0f2991911e246a.html
(过程中如果出现配置之后输入

java -version
无法切换版本问题 可以参考以下链接 对照解决:https://blog.csdn.net/yhl_jxy/article/details/80137161

1.2安装jdk - 选择安装目录。
安装过程中会出现两次安装提示,第一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错 具体原因可以去找一下Java官方文档)
安装jre时选择一个与jdk目录不一样的目录再点击下一步





1.3 配置环境变量,打开“此电脑” 打开属性,进入控制面板,打开“高级系统设置”,进入“环境变量”。

点击“新建” ,弹出窗口,环境的变量:JAVA_HOME 变量值为Java的安装路径,原作者为: C:\Program Files\Java\jdk1.8.0_144 ,点击“确定”按钮。


点击“新建” ,弹出窗口,环境的变量:CLASSPATH ,变量值为:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

更改 Path 的值,选中path 栏,点击“编辑”弹出窗口,原作者输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 。点击“确定”按钮,完成。
注:这里中间有一个分号,与win7是有区别的。win10要点击两次右上角“新建”,然后才编辑的。


1.4 检查安装版本
配置完成,最后点击确定按钮,然后可以进入cmd中检查Java是否安装正确,检查的命令为 java -version检查版本。(官网上下载的版本不同 最后显示输出的version会有所不同 如果按照上面我给的地址 应该是返回的 java version “1.8.0_231”)

2.intellij idea 配置jdk

** 指定jdk 1.8** (以下图片参考链接 https://www.cnblogs.com/hkgov/p/8074085.html 使用的是jdk1.8.0_92)
File - Project Structure,或者按快捷键ctrl+alt+shift+s,或者点击界面上的按钮,进入项目结构配置界面,确定项目的jdk和sdk是是否配置正确。

2.1 确定SDK是否选中(如果没有1.8 需要手动添加:点击绿色加号-添加JDK-到jdk1.8.0_231的安装目录下-点击文件夹-open-apply)

2.2 project 下的project SDK,是否为项目需要的jdk 并且language level不能比jdk版本高

2.3 确定modules下dependencies配置的jdk是否正确

3.新建项目

(以下参考链接:https://github.com/Philogag/blogs/blob/master/IDEA%20Hadoop%20开发环境构建.md
回到最开始的界面 create a project


4.构建远程连接的环境

(先解压hadoop-2.7.1.tar.gz 可以跳过4.1直接到4.2)
4.1 复制粘贴

4.2 导入依赖包


如果跳过了4.1的复制粘贴的话,这一步是到解压后的hadoop-2.7.1的目录下 hadoop-2.7.1 --> share --> hadoop 将hadoop目录下的所有文件夹依次导入 apply


4.3 额外导入 ./common/lib文件夹 跳过了4.1的可以在 hadoop-2.7.1 --> share --> hadoop --> common 下将整个lib文件夹导入


4.4 进行代码的开发(src目录下才能new 一个 java class)

5.编译配置





运行Main即可

6.检验与其他一些说明

(远程连接需要将Hadoop启动:打开虚拟机 输入

start-all.sh
输入jps后应有五个进程)

然后在虚拟机上输入指令

hadoop fs -ls /

查看Hadoop根目录下的内容 我的是这样子的
所以我在idea上运行代码结果是

代码的目的是输出Hadoop根目录下的文件与文件夹 所以如果Hadoop根目录下没有内容的话idea会返回compile over 有内容的话会返回 compile over + hadoop根目录下的内容

代码如下:

public static void main(String [] args) throws Exception{
System.out.println("Compile Over");
FileSystem fs = FileSystem.get(new URI( "hdfs://hostname或者ip 我用的ip地址 :9000"), new Configuration());

FileStatus[] files =  fs.listStatus(new Path( "/"));
for (FileStatus f:files){
System.out.println(f);
}

如果出现红字 双击会自动导入 或者输入的时候手动选择

org.apache.hadoop

笔者使用的系统是macOS,不是Windows,但是考虑到Windows是主流系统,向同学请教并查阅了资料后写了这篇文章,不当之处还望指出!!谢谢!!

  • 点赞
  • 收藏
  • 分享
  • 文章举报
不吃香菜的小学生 发布了2 篇原创文章 · 获赞 0 · 访问量 86 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: