操作目的
1、在Linux环境下 编写HDFS写文件程序的java文件
2、编译并打包HDFS的写程序
3、执行HDFS的写程序
环境、工具说明
1、先搭建一个 Hadoop 的基础集群环境
参考:Hadoop集群搭建
2、JDK版本:jdk1.8
安装配置过程
3、工具:xshell5
4、VMware 版本:VMware Workstation Pro15
5、Hadoop:3.3.0
在clinet节点上编写HDFS写程序
1、在将要编写 java 程序的节点上配置环境变量
此处我选择了 slave1 节点
[root@slave1 ~]# vim /etc/profile
1
在最后写入如下内容
export JAVA_HOME="/usr/lib/jvm/java-1.8.0"
export JRE_HOME="/usr/lib/jvm/java-1.8.0/jre"
export HADOOP_HOME="/usr/bigdata/hadoop-3.3.0"
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/common/lib/*
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
使配置的环境变量生效
[root@slave1 ~]# source /etc/profile
编写文件 WriteFile.java
编辑文件
[root@slave1 opt]# vim /opt/WriteFile.java
写入内容
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class WriteFile {
public static void main(String[] args) throws IOException {
Configuration conf = new Configuration();
FileSystem hdfs = FileSystem.get(conf);
Path dfs = new Path("/HelloHadoop.txt");
FSDataOutputStream outputStream = hdfs.create(dfs);
outputStream.writeUTF("HDFS基础操作,新建文件,并写入内容。");
outputStream.close();
}
}
2、编译并打包程序 WriteFile.java
[root@slave1 opt]# javac WriteFile.java
查看目录
打包
[root@slave1 opt]# jar -cvf WriteFile.jar WriteFile.class
查看
3、使用 hadoop 的 jar 命令执行 WriteFile.jar
[root@slave1 opt]# hadoop jar ./WriteFile.jar WriteFile
4、查看在 HDFS 创建的文件
[root@slave1 opt]# hadoop fs -ls /
或
[root@slave1 opt]# hdfs dfs -ls /
5、查看文件内容
[root@slave1 opt]# hadoop fs -cat /HelloHadoop.txt
或
[root@slave1 opt]# hdfs dfs -cat /HelloHadoop.txt
至此 Centos7.x Hadoop 3.x HDFS 写入文件操作完毕,希望能够对您有所帮助!
任何程序错误,以及技术疑问或需要解答的,请添加