欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HDFS编程实践

程序员文章站 2024-03-22 13:39:10
...

前提:

在VMware中查找虚拟机的IP地址

ifconfig -a        //查找虚拟机的IP地址

HDFS编程实践

启动putty

HDFS编程实践

启动Hadoop

/opt/hadoop/sbin/start-all.sh        //启动所有进程

jps        //查看进程结果

HDFS编程实践HDFS编程实践

登陆HDFS的Web界面

http://192.164.85.124:50070        //“192.164.85.124”为“ifconfig-a”命令得到的虚拟机IP地址

 

步骤:

1、向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件(第一种实现方式)

cd        //首先回到主目录

ls        //查看主目录下的文件

/opt/hadoop/bin/hadoop fs -ls        //查看下HDFS下的文件

echo "hello world" >> test1.txt        //在主目录下创建一个文本内容为“hello world”的test1.txt

echo "my name is C" >> test3.txt        //在主目录下创建一个文本内容为“hello world”的test3.txt

/opt/hadoop/bin/hadoop fs -touchz test99.txt        //在HDFS创建一个test99.txt的空文本文件
ls

/opt/hadoop/bin/hadoop fs -ls        //查看下HDFS下的文件,看看是否创建成功

/opt/hadoop/bin/hadoop fs -put test1.txt        //将本地的test1.txt上传到HDFS

/opt/hadoop/bin/hadoop fs -ls        //查看下HDFS下的文件,看看是否上传成功

/opt/hadoop/bin/hadoop fs -put test3.txt        //将本地的test3.txt上传到HDFS

/opt/hadoop/bin/hadoop fs -ls        //查看下HDFS下的文件,看看是否上传成功

/opt/hadoop/bin/hadoop fs -appendToFile test1.txt test3.txt        //将test1.txt追加到test3.txt

/opt/hadoop/bin/hadoop fs -cat test3.txt        /查看下HDFS下的test3.txt文件,看看是否追加成功

/opt/hadoop/bin/hadoop fs -copyFromLocal -f test3.txt test1.txt        //-f:强制的意思,如果没有,会报错“file exits”;用test3.txt的内容覆盖掉test1.txt的内容

/opt/hadoop/bin/hadoop fs -cat test1.txt        /查看下HDFS下的test3.txt文件,看看是否覆盖成功

HDFS编程实践

 

2、向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件(第二种实现方式)

if $(/opt/hadoop/bin/hadoop fs -test -e test1.txt);        //判断HDFS中是否存在“test1.txt”
then $(/opt/hadoop/bin/hadoop fs -appendToFile test3.txt test1.txt);        //若存在,则将本地的test3.txt追加到test1.txt文件的末尾。因为不存在,所以在HDFS中会新生成一个test1.txt,内容为追加后的内容
else $(/opt/hadoop/bin/hadoop fs -copyFromLocal -f test3.txt test1.txt);        //-f:强制。若不存在,则用test3.txt的内容覆盖test1.txt的内容
fi

/opt/hadoop/bin/hadoop fs -cat test1.txt        //这一步查看HDFS中test1的内容,意在验证test1.txt为追加后的内容

/opt/hadoop/bin/hadoop fs -rm test1.txt        //删除test1.txt

/opt/hadoop/bin/hadoop fs -ls        //查看是否删除           

if $(/opt/hadoop/bin/hadoop fs -test -e test1.txt);        //判断HDFS是否存在。。。
then $(/opt/hadoop/bin/hadoop fs -appendToFile test3.txt test1.txt);        //存在,则。。。
else $(/opt/hadoop/bin/hadoop fs -copyFromLocal -f test3.txt test1.txt);        //不存在,则。。。
fi

/opt/hadoop/bin/hadoop fs -cat test1.txt        //意在验证test1.txt的内容是否为“my name is C”

HDFS编程实践

3、从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名

 

HDFS编程实践

参考文章:

https://blog.csdn.net/fanfan4569/article/details/77823382

https://wenku.baidu.com/view/6d3235d70d22590102020740be1e650e52eacf16.html

 

相关标签: HDFS hadoop