java操作hadoop的api,
1、引入依赖,注意与服务器的版本匹配。hadoop-core的版本最高是2.1.1,不要再用,否则可能会报Server IPC version错:
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.7.7</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.7.7</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.7.7</version> </dependency>
2、加载配置:可以写入代码或者加载xml资源文件方式
代码方式: Configuration config = new Configuration(); config.set("fs.default.name", "hdfs://namenode:9000"); 配置文件(可从服务端复制): config.addResource("core-site.xml");
3、用户权限:运行报Permission denied。原因是运行客户端的登录用户不是hadoop集群启动用户。方法很多,见https://www.cnblogs.com/bkylry/p/8072132.html,运行时设置环境变量比较简单:
System.setProperty("HADOOP_USER_NAME", "bigdata");