建议与该文章配合阅读https://editor.csdn.net/md/?articleId=108391946
本地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\目录下 在Hadoop的bin目录下找到hadoop.dll文件,将其复制到C盘的:\Windows\System32\目录中
4.配置hadoop环境变量HADOOP_HOME和PATH变量中加入%HADOOP_HOME%\bin和sbin 1)点击高级系统设置 2)选择环境变量 3)选择新建系统变量,添加Hadoop环境变量(注:请注意此处变量值为你安装的hadoop路径,特别注意在安装完成该版本hadoop时会生成内外两层目录,要选择最里层的目录路径) 4)新建maven环境配置,添加maven环境变量 5)修改Path配置,在其中分别新建如下变量配置 6)输入命令行指令mvn-version,出现如下所示结果即maven配置成功
选择maven,并勾选右侧create from archetype,输入quick,选择 org.jetbrains.idea.maven.model.MavenArchetype@88f75e0f项,点击next 将GroupId和ArtifactId改为你所需要的名称,并注意location的路径 点击next,进入下一页面;在图中Maven_home directory 位置,将其更改为你的maven所在路径;更改Using_settings file路径为你的maven目录中conf所在目录下的settings文件目录。点击finish 出现如下界面即maven工程创建成功
1.将pom.xml配置改为如图所示 代码如下:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <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> </dependencies>2.在虚拟机中新建hadoop文件 递归创建hdfs-test文件
hadoop fs -mkdir -p /test/java/hdfs-test将文件写入READEME文件写入到hdfs-test文件中
hadoop fs -put /opt/hadoop/README.txt /test/java/hdfs-test/3.在Java中新建TestHDFSjava项目读取虚拟机中的hdfs-test文件;运行结果如下所示 编写代码如下:
package cn.kgc.kb09.hdfs; 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 java.io.InputStream; import java.net.URI; /** * @Author WangTao * @Date 2020/9/4 * @Description演示hdfs流程 */ public class TestHDFS { public static void main(String[] args) throws Exception{ Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://192.168.134.101:9000"); //获取文件系统 FileSystem fs = FileSystem.get(new URI("hdfs://192.168.134.101:9000"),new Configuration(),"root"); //代替上述获取方法FileSystem fs = FileSystem.get(conf); //获取hfds路径对应的流 FSDataInputStream is =fs.open(new Path("/test/java/hdfs-test/README.txt")); int tmp; while ((tmp = is.read()) != -1) { System.out.print((char)tmp); } is.close(); } }4.将java项目打jar包传入虚拟机中运行查看结果 1)点击project structure 2)点击Artifact,如下图所示 3)选择main函数,如图 点击ok,出现如下界面 依次点击apply和ok 4)build 点击Build Artifact 点击buid,在左侧会生成out目录,打开目录,找到jar文件 右键点击该jar,在文件夹中显示, 5)在虚拟机中输入:cd opt/hadoop/share进入share目录 将该jar包拖入虚拟机当前目录中 输入以下代码,将etc/profile文件传到readme1.txt文件中
hadoop jar test2hdfs.jar cn.kgc.kb09.hdfs.TestHDFS /test/java/hdfs-test/readme1.txt /etc/profile