+-
idea远程连接hadoop(macOS)

windows系统可直接参考

因为mac系统的idea中图标位置不太一样, hadoop安装位置也不一样, 所以这里补充我在mac上的配置方式.

前提是电脑中已经安装有hadoop

首先下载安装jdk8官网下载JDK8
我的电脑上原本有JDK11, 但是hadoop对于JDK9以上的配置对于我这个新手太不友好了, 加上远程虚拟机安装的是hadoop2.7,所以这里就选择非常保险的JDK8.

安装好后进入idea, 创建新maven工程
image.png
image.png

接下来打开Finder, 找到刚刚创建的工程目录
image.png
如果没有lib文件夹, 就手动创建一个

然后进入hadoop的安装路径, 将复制到刚刚创建的lib文件夹中
由于我是使用homebrew安装,所以路径默认是隐藏的
打开Finder后按下Shift+Command+G, 输入/usr/local
image.png
image.png
我的hadoop路径是 /usr/local/Cellar/hadoop/3.2.1
然后继续找下去
image.png
将上图所示拷贝到lib文件夹后, 打开idea
image.png
image.png
image.png
其中, 导入tools文件夹时要做个选择
image.png
选择Jar Directory
将上面的6个文件夹导入之后, 再额外导入common下的lib文件夹
image.png
全部导入后的结果就是这样了
image.png
接下来就是测试是否可以正常连接远程虚拟机

全部导入过, 左侧就会出现目录结果
在src-main-java文件夹下新建一个Main文件
image.png
image.png

将如下代码拷贝进文件

import org.apache.hadoop.conf.Configuration;  
import org.apache.hadoop.fs.FileStatus;  
import org.apache.hadoop.fs.FileSystem;  
import org.apache.hadoop.fs.Path;  
  
import java.net.URI;  
  
public class Main {  
        public static void main(String [] args) throws Exception {  
            System.out.println("Compile Over");  
 FileSystem fs = FileSystem.get(new URI("hdfs://换成自己的IP:换成自己的端口"), new Configuration());  
  
 FileStatus[] files = fs.listStatus(new Path("/"));  
 for (FileStatus f : files) {  
                System.out.println(f);  
 }  
        }  
}

再次打开ProjectStructer,按照下图依次进行操作
image.png
image.png
image.png
image.png

然后就可以运行刚刚的Main中的代码啦!
输出结果就是虚拟机上HDFS的文件夹
至此, 这个过程就算成功了!
image.png
image.png