HDFS配置及运行Java程序

HDFS分布文件系统
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
HDFS分布文件系统的特点:hdfs快照、hdfs数据组织、hdfs阶段状态、hdfs流水式复制

实验 安装配置JDK+Eclipse+Maven,搭建HDFS,运行Java程序
软件程序 JDK Eclipse Maven
实验步骤
一、安装配置JDK+Eclipse+Maven
1.安装配置JDK
运行jdk-8u201-windows-x64.exe安装包,配置JDK的环境变量,Path添加JDK的\bin的安装路径,cmd命令行运行javac,查看是否成功安装配置。

系统变量→新建 JAVA_HOME 变量 。变量值填写jdk的安装目录,例: E:\Java\jdk1.7.0
系统变量→ Path 变量→编辑在变量值: %JAVA_HOME%\bin;

2.安装Eclipse
运行eclipse-inst-win64安装包,选择Eclipse IDE for Java Developers,开始安装。过程可能较慢。

3.安装Maven
解压Maven压缩包apache-maven-3.6.0-bin.tar.gz,解压后的文件夹\apache-maven-3.6.0,将其考入自定义路径,如C:\eclipse\apache-maven-3.6.0。配置Maven的环境变量,Path添加Maven的\bin的安装路径,cmd命令行运行mvn -v,查看是否成功安装配置。

新建环境变量MAVEN_HOME,变量值:C:\eclipse\apache-maven-3.6.0。
编辑环境变量Path,编辑在变量值%MAVEN_HOME%\bin\;

4.Eclipse配置Maven
在安装所在文件夹\apache-maven-3.6.0下面,新建\repository文件夹,作为Maven本地仓库。
HDFS配置及运行Java程序_第1张图片
① 修改settings.xml,找到maven的安装路径,打开文件settings.xml在里面添加 (新建repository的路径E:\apache-maven-3.6.0\repository)保存退出
HDFS配置及运行Java程序_第2张图片
HDFS配置及运行Java程序_第3张图片
②配置Maven的installation和User Settings
【Preferences】→【Maven】→【Installations】配置Maven安装路径,【User Settings】配置settings.xml的路径。在Eclipse里新建Maven Project,输入com.bla,项目名称HDFSTest,等待自动生成Maven项目。
HDFS配置及运行Java程序_第4张图片
新建包hdfs.files,包里新建class:4个java文件
HDFS配置及运行Java程序_第5张图片
③添加pom.xml依赖(这步需要联网)
依赖(Maven Repository: hadoop)所在网址:https://mvnrepository.com/tags/hadoop,
找到对应版本的三个依赖(如下),拷贝至pom.xml的与之间,保存之后自动生成Maven Dependencies。


       org.apache.hadoop
       hadoop-hdfs
       2.7.3

 
        org.apache.hadoop  
        hadoop-client  
        2.7.3 
  

      org.apache.hadoop
     hadoop-common
     2.7.3


HDFS配置及运行Java程序_第6张图片
安装配置成功后,Maven项目树显示如下
在这里插入图片描述
二、HDFS
1.Linux的shell命令
常用的linux的shell命令:

cd  /aa          转到/aa目录
pws            显示当前目录
ll  /aa           显示/aa目录
mkdir  /aa       新建/aa目录
rm /aa/out.txt   删除/aa目录下的out.txt文件
cat /aa/out.txt   查看/aa目录下的out.txt文件的内容
vi /aa/out.txt    编辑/aa目录下的out.txt文件的内容
ifconfig         查看IP地址
ipaddr         查看IP地址

2.hdfs的shell命令
hdfs的shell命令,有三种形式,用前面两个。hdfs dfs 、hadoop fs可用,hadoop dfs 不可用。
常用的hdfs的shell命令:

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  dfs -put anaconda-ks.cfg /aa        把本地文件上传到hdfs 
hdfs  dfs -copyFromLocal a.txt /          把本地文件上传到hdfs
hdfs  dfs -get /bb.txt bbcopy.txt          从hdfs下载文件到本地
hdfs  dfs -copyToLocal /bb.txt bbcopy.txt   从hdfs下载文件到本地

3.HDFS的Java程序
(1)HDFSMKdir.java新建HDFS目录/aadir。
HDFS配置及运行Java程序_第7张图片
(2)HDFSUpload.java写入/上传 本地文件c:\hdfs\aa.txt 到HDFS的/aadir目录下。
HDFS配置及运行Java程序_第8张图片
(3)HDFSDownload.java读/下载 HDFS的根目录文件/bb.txt到本地c:\hdfs目录下。
HDFS配置及运行Java程序_第9张图片

(4)HDFSFileIfExist.java查看HDFS文件/bb.txt是否存在。
HDFS配置及运行Java程序_第10张图片
三、总结
虽然说hdfs是文件系统,但本质上并没有格式化本机上的硬盘,所以其实只是硬盘上的一种特殊的文件储存格式,并且必须通过IP:PORT进行访问。实质上在配置并启动了集群之后,集群之间便会进行网络通信,并通过namenode的IP和指定端口(50070)对外提供访问。

你可能感兴趣的:(HDFS配置及运行Java程序)