首先要确保你的电脑上配置了hadoop环境变量
在windows系统中安装配置hadoop环境变量
我想用JAVA实现HDFS文件读写,所以在maven项目中写了如下的测试方法:
@Test
public void testCopyFromLocalFile() throws URISyntaxException, IOException, InterruptedException {
//1、创建配置文件
Configuration conf=new Configuration();
//2、获取文件系统
FileSystem fs=FileSystem.get(new URI("hdfs://hadoop01:9000"),conf,"root");
//3、调用API操作
fs.copyFromLocalFile(new Path("D:\sn.txt"),new Path("/hdfs/shell"));
//4、关闭资源
fs.close();
}
然后运行报错:java.net.UnknownHostException:hadoop01
具体显示为下面这一行报错:
已经明确知道了是这一行中的hadoop01无法被java所识别,所以要想办法解释程序中的hadoop01,而hadoop01是我linux虚拟机的hostname。
问题解决修改C:WindowsSystem32driversetc中的hosts文件内容
增加一行:
( 虚拟机IP hostname)
192.168.21.111 hadoop01



