win10下IDEA连接虚拟机上HDFS实现文件操作
2021/5/20 18:28:52
本文主要是介绍win10下IDEA连接虚拟机上HDFS实现文件操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
要在windows下连接虚拟机上的HDFS首先要保证windows下有java环境和hadoop环境
这里给出hadoop在windows下的配置方法https://blog.csdn.net/weixin_43387852/article/details/117047467,java环境的配置可以搜相关教程。
IDEA实现虚拟机上HDFS的文件操作
- IDEA连接虚拟机上的HDFS
- 一、环境准备
- 二、big data tools插件连接HDFS
- 安装步骤
- 三、通过代码方式连接远程HDFS
- 四、报错解决
IDEA连接虚拟机上的HDFS
一、环境准备
- JDK-13
- IDEA2020.3
- Ubutun 18.04
- Hadoop 2.10.1
二、big data tools插件连接HDFS
安装步骤
1. 打开IDEA,进入插件下载,点击左上角File->Settings-> Plugins,输入big data tools进行下载。
2. 打开big data tools 进行配置
打开侧边栏的big data tools 新增一个hdfs。
然后进行ip地址的配置.,
HDFS开放的端口地址通过如下方法可以获取,首先在虚拟机中通过ifconfig指令,获取到当前虚拟机的ip地址,然后在虚拟机hadoop安装目录下/etc/hadoop/core-site.xml文件,显示如下
,然后将big data tools的url设置为文件中的地址。这里要注意如果你的是9000端口开放则客户端无法访问到这个端口,可以将9000修改为8020。
最终如下:点击ok即可。
3. 打开big data tools 进行配置
三、通过代码方式连接远程HDFS
连接hadoop所需要的maven依赖:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.7.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.7.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.7.2</version> </dependency>
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IOUtils; public class Read { public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://192.168.164.134:8020");//这里填写你的hdfs端口 FileSystem fs = FileSystem.get(conf); System.out.println(fs); FSDataInputStream fis = fs.open(new Path("/input/file1.txt")); IOUtils.copyBytes(fis,System.out,4096,true); } }
四、报错解决
- 连接服务器时,出现Connection refused: no further information异常
(1)首先检查主机和虚拟机之间的通信,通过ping命令进行检测主机和虚拟机之间是否连通。如果主机无法ping通虚拟机,则首先通过sudo ufw disable关闭虚拟机防火墙,然后检查主机网络连接,是否存在VMent1 和VMnet8 ,然后分别对这两个网络连接进行诊断,重新定位IP地址。然后通过ping命令,看看主机能否正常连接虚拟机。若正常则进行下一步。
(2) 检查虚拟机能够ping通主机,如果不能ping通主机,则可能是由于主机防火墙的原因,直接的办法就是关闭主机的防火墙,然后再次尝试ping主机IP,一般都能够成功。如果想不通过关闭防火墙ping通主机,可在百度上自行查找资料,修改虚拟机网络连接配置。这里采用的是关闭主机的防火墙。
这篇关于win10下IDEA连接虚拟机上HDFS实现文件操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-21订单系统资料入门教程:轻松管理你的订单
- 2024-09-21Java部署资料:新手入门教程
- 2024-09-21Java部署资料:新手入门教程
- 2024-09-21Java订单系统资料:新手入门教程与实战指南
- 2024-09-21Java管理系统资料入门教程
- 2024-09-21从零开始学习Java监控系统资料
- 2024-09-21Java就业项目资料:新手入门的必备教程
- 2024-09-21Java全端资料:初学者指南
- 2024-09-21Java全栈资料入门教程及资源汇总
- 2024-09-21Java日志系统资料入门教程