Java连接Hadoop
1、导入依赖
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>3.2.2</version> </dependency>
2.代码连接:
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import java.net.URI; public class HdfsClient_1 { public static void main(String[] args) throws Exception{ //1、连接的集群地址 //访问nameNode的端口,这里的 h01系统并不知道是多少,所以,需要在本地的host中增加映射 URI uri = new URI("hdfs://h01:8020"); //端口就是 core-site.xml中的nameNode地址,并不都是8020 //2、创建配置文件 Configuration config = new Configuration(); //指定用户,为什么要指定用户,因为hdfs中,文件是有所属权限的,有Owner、Group String user = "root"; //3、获取到了客户端对象 FileSystem fileSystem = FileSystem.get(uri, config, user); fileSystem.mkdirs(new Path("/Beijing")); //创建hdfs文件夹 //4、关闭连接 fileSystem.close(); } }
查看HDFS网页结果:
从图中可见,Beijing的文件夹已经创建完成,而从图中也可看见,文件夹是有 Owner所属人的,所以在代码中需要指定用户。