HDFS编程实践
程序员文章站
2024-03-22 13:39:10
...
前提:
在VMware中查找虚拟机的IP地址
ifconfig -a //查找虚拟机的IP地址
启动putty
启动Hadoop
/opt/hadoop/sbin/start-all.sh //启动所有进程
jps //查看进程结果
登陆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文件,看看是否覆盖成功
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”
3、从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名
参考文章:
https://blog.csdn.net/fanfan4569/article/details/77823382
https://wenku.baidu.com/view/6d3235d70d22590102020740be1e650e52eacf16.html
下一篇: 大数据知识点全讲解之HDFS