Windows10: 使用IntelliJ IDEA远程连接Hadoop
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是主流系统,向同学请教并查阅了资料后写了这篇文章,不当之处还望指出!!谢谢!!
- 点赞
- 收藏
- 分享
- 文章举报
- 初识Hadoop
- 在centos7上进行hadoop-3.1.2的伪分布搭建
- ## 详细搭建Hadoop集群
- Hadoop集群配置过程中需要注意的问题
- Flink实时数据的预处理-架构-分主题写入Hdfs(文本和Parquet格式)
- Linux 或 CentOs Hadoop出现 -bash-4.2#问题
- Hbase 整合 Hadoop 的数据迁移
- 基于Hadoop生态圈的数据仓库实践
- About Hadoop BigData Platform Dataflow
- About Hadoop Sqoop
- About Hadoop 集群管理维护
- 大数据学习笔记 第二章 大数据处理架构Hadoop
- 大数据学习笔记 第三章 分布式文件系统 HDFS
- 大数据技术原理与应用(林子雨)------分布式文件系统HDFS单元测验
- 大数据处理架构Hadoop
- 分布式文件系统HDFS
- 第三章 熟悉常用的HDFS操作
- 从零开始搭建hadoop集群,详细步骤
- HDFS环境搭建
- Class org.apache.hadoop.hdfs.DistributedFileSystem not found