system 远程创建文件夹失败_macOS:使用Intellij IDEA远程连接Hadoop

1.jdk环境配置

1.1 下载一个1.8版本的jdk(如果系统自带1.8版本的话 可以忽略这一条)

我提供一个官网的版本 也是我确定可以用的版本:https://www.oracle.com/cn/java/technologies/javase-jdk8-downloads.html

c92f1717f2e2869c517ee6f891ec0d55.png

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

可以通过终端指令查看本机上的jdk版本

在terminal输入 ls /Library/Java/JavaVirtualMachines/

061d1dd364e2fa02f7da44759d7aaf60.png
因为Mac系统是可以多jdk的 所以只需要下载 不需要删除原先的jdk

2.intelllij idea配置指定jdk

c2e945a4df78950795d2ad4f0363c8ff.png
File-Product Structure

2.1 添加指定SDK

917d900b091b306f58405b8d4e4e400c.png

b70f0aa52887d0547ca0a8126ac4eebe.png

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

da360bb6e12d930dafddde455f0e852a.png

3.新建项目

以下步骤参考链接:https://github.com/Philogag/blogs/blob/master/IDEA%20Hadoop%20开发环境构建.md

3.1回到最开始的界面 create a project

4d3d02b40aabd5fbd0e2431524049bfb.png

b66b9e717fdca804fb09174019817a4d.png
(步骤4可做可不做 最好修改 另外 需要记住location 稍后会用到)

location可以自己写 找得到即可 但是最好这样子写 例如name:aaa location: ~/xxxxxxx/aaa

4.构建远程连接的环境

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

4.1 复制粘贴

a42bb930c88f3fc90556ff2c24ceba96.png

将已经解压好的hadoop-2.7.1文件夹打开 里面的文件复制一下 然后到刚才新创建的maven项目中 可以点击桌面任意空白处,出现如下情况的时候,快捷键 command+alt(键盘上的⬆️+g) 然后输入刚才创建项目时候的location 打开新创建的文件夹

4397714bbf8f1b97754dcade39476c41.png

4.2 导入依赖包

打开intellij idea file下面的project structure 在2.里面做过

3ca250e3155f1723c79ef056763ec770.png

7a983a83ea2aeb5c3d94e82f1da4b23e.png

9cfc1c84b1987f56b0e26e039ae13653.png

如果跳过了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文件夹导入

b9dda1d0cd81cd5c331627ebb930d6fa.png

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

(远程连接需要将Hadoop启动:打开虚拟机 输入 start-all.sh 输入jps后应有五个进程)

0ee95e16e94efe48b4880707eea51aea.png

5.编译配置

File --> project structure

40cd4e0bcff12958f305ff7e96c5d335.png

6.检验及一些说明

intellij idea输出的结果:

66b5d20f28e4e0dfeb8ded73d36af2c7.png

Hadoop的根目录下的内容:

e2328c8c3fa6bc30f157fe18ff46c0e4.png

两者一致 连接成功

代码如下:

 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的

8481d5f883f85d40148553a7fd878ccb.png

这个代码是用来输出Hadoop的根目录下面的文件与文件夹的

在Linux系统上输入指令 
hadoop fs -ls / 
如果没有内容的话 idea会返回compile over 
有内容的话idea会返回 compile over + hadoop根目录下的内容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值