本地Hadoop配置
1.在Windows上安装hadoop
解压hadoop-2.6.0-cdh5.14.2.tar.gz 压缩包 (解压过程中可能会提示需要管理员权限,最好解压前找到解压软件,右键以管理员身份运行,再尽进行解压)
2.把hadoop-bin.rar中的内容解压并替换到hadoop的bin目录下
(该文件可以去网上自行搜索下载,要与自己版本匹配)
3.把hadoop.dll放到c:\windows\System32\目录下
4.配置hadoop环境变量
右键我的电脑–>属性–>高级系统设置–>环境变量
新建HADOOP_HOME变量,值就是自己的hadoop地址 然后在Path变量中添加如图所示的文本即可
Java操作
1.在idea中新建一个maven工程
修改一下自己相关的版本号 然后引入hadoop相关jar包
<dependency>
<groupId>org
.apache
.hadoop
</groupId
>
<artifactId>hadoop
-common
</artifactId
>
<version>2.6.0</version
>
</dependency
>
<dependency>
<groupId>org
.apache
.hadoop
</groupId
>
<artifactId>hadoop
-hdfs
</artifactId
>
<version>2.6.0</version
>
</dependency
>
<dependency>
<groupId>org
.apache
.hadoop
</groupId
>
<artifactId>hadoop
-core
</artifactId
>
<version>1.2.0</version
>
</dependency
>
2.新建一个class文件(需要在APP下级目录)
a.简单的查看流
public class TestHDFS {
public static void main(String
[] args
) throws Exception
{
Configuration conf
= new Configuration();
conf
.set("fs.defaultFS","hdfs://192.168.129.40:9000");
FileSystem fs
= FileSystem
.get(new URI("hdfs://192.168.129.40:9000"),conf
,"root");
FSDataInputStream is
= fs
.open(new Path(args
[0]));
int tmp
;
while((tmp
=is
.read())!=-1){
System
.out
.print((char)tmp
);
}
is
.close();
}
}
在Run 的 Edit Configuration处如图所示的位置添加参数
b.上传下载流
fs
.copyToLocalFile(new Path(args
[0]),new Path(args
[1]));
fs
.copyFromLocalFile(new Path(args
[1]),new Path(args
[0]));
c.其他操作
诸如创建,删除等不再此赘述
hadoop jar 执行 Java的jar包
1.编写测试完成后,打jar包,指定main方法
Build选择Build Artifact建立jar包(jar包在out里查看)
2.jar包上传至hadoop的share目录下
3.执行命令
hadoop jar <jar在linux的路径> <main方法所在的类的全类名> <参数>