赞
踩
在上次Hadoop的介绍中,介绍了JDK的安装,在安装eclipse之前需要安装JDK,若未配置JDK中,可用参考如下链接
大数据底层生态之Hadoop
首先,去官网下载Eclipse安装包eclipse-inst-win64:https://www.eclipse.org/downloads/
运行安装包,选择Eclipse IDE for Java Developers,
开始安装,过程可能较慢。
等待一段时间后即可完成Eclipse的安装
进入Maven官网
http://maven.apache.org/download.cgi
选择最近的镜像,选择Maven压缩包apache-maven-3.6.0-bin.tar.gz开始下载
解压Maven压缩包apache-maven-3.6.0-bin.tar.gz,解压后的文件夹\apache-maven-3.6.0,将其考入自定义路径,如D:\eclipse\apache-maven-3.6.0
配置Maven的环境变量,Path添加Maven的\bin的安装路径,cmd命令行运行mvn -v,查看是否成功安装配置
成功界面显示如下
配置Maven的installation和User Settings
【Preferences】→【Maven】→【Installations】配置Maven安装路径,【User Settings】配置settings.xml的路径
通过以下方式即可完成eclipse中Maven的配置
项目结构如下图:
文件下载Java程序代码:
import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class HDFSDownload { private static InputStream input; private static OutputStream output; public static void main(String[] args) throws IOException { //设置root权限 System.setProperty("HADOOP_USER_NAME", "root"); //创建HDFS连接对象client Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://izwz97mvztltnke7bj93idz:9000"); FileSystem client=FileSystem.get(conf); output = new FileOutputStream("c:\\hdfs\\bbout.txt"); //创建HDFS的输入流 input=client.open((new Path("/bb.txt"))); byte[] buffer= new byte[1024]; int len=0; while ((len=input.read(buffer))!=-1) { output.write(buffer, 0, len); } output.flush(); input.close(); output.close(); } }
文件上传Java程序代码:
import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class HDFSUpload { private static InputStream input; private static OutputStream output; public static void main(String[] args) throws IOException { //设置root权限 System.setProperty("HADOOP_USER_NAME", "root"); //创建HDFS连接对象client Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://izwz97mvztltnke7bj93idz:9000"); conf.set("dfs.client.use.datanode.hostname", "true"); FileSystem client = FileSystem.get(conf); /*//要上传的资源路径 String src = "C:/Users/Desktop/bcdf.txt"; //要上传的hdfs路径 String hdfsDst = "/aadir"; client.copyFromLocalFile(new Path(src), new Path(hdfsDst)); System.out.println("Success");*/ //创建HDFS的输入流 input = new FileInputStream("D:\\xx编程\\bcdf.txt"); //创建HDFS的输出流 output = client.create(new Path("/aadir/about.txt")); //写文件到HDFS byte[] buffer = new byte[1024]; int len=0; while ((len=input.read(buffer))!=-1) { output.write(buffer, 0, len); } //防止输出数据不完整 output.flush(); //使用工具类IOUtils上传或下载 input.close(); output.close(); } }
文件创建程序代码
import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class HDFSMKdir { public static void main(String[] args) throws IOException { //设置root权限 System.setProperty("HADOOP_USER_NAME", "root"); //创建HDFS连接对象client Configuration conf = new Configuration(); conf.set("fs.defaultFS","hdfs://izwz97mvztltnke7bj93idz:9000"); FileSystem client = FileSystem.get(conf); client.mkdirs(new Path("/aadir")); client.close(); System.out.println("successfully!"); } }
文件是否存在程序代码:
import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class HDFSFilelfExist { public static void main(String[] args) throws IOException { //设置root权限 System.setProperty("HADOOP_USER_NAME", "root"); //创建HDFS连接对象client Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://izwz97mvztltnke7bj93idz:9000"); FileSystem client = FileSystem.get(conf); //声明对象文件 String fileName="/bb.txt"; if (client.exists(new Path(fileName))) { System.out.println("文件存在"); }else { System.out.println("文件不存在"); } } }
通过以下命令可用查看到Hadoop的结果:
hdfs dfs -ls / 查看hdfs根目录下文件和目录
hdfs dfs -ls -R / 查看hdfs根目录下包括子目录在内的所有文件和目录
hdfs dfs -mkdir /aa/bb 在hdfs的/aa目录下新建/bb目录
hdfs dfs -rm -r /aa/bb 删除hdfs的/aa目录下的/bb目录
hdfs dfs -rm /aa/out.txt 删除hdfs的/aa目录下的out.txt文件
通过hdfs命令也可将文件上传
hdfs dfs -put /root/mk.txt /aa 把本地文件上传到hdfs
hdfs dfs -copyFromLocal a.txt / 把本地文件上传到hdfs
hdfs dfs -get /bb.txt bbcopy.txt 从hdfs下载文件到本地
hdfs dfs -copyToLocal /bb.txt bbcopy.txt 从hdfs下载文件到本地
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。