記一次 Centos7.x Hadoop 3.x HDFS 寫入檔案

一花一世界~發表於2020-12-20

操作目的

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

在最後寫入如下內容

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

2、編寫檔案 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 寫入檔案操作完畢,希望能夠對您有所幫助!

相關文章