Hadoop基础命令的使用
原创申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址
全文共计1876字,阅读大概需要3分钟
欢迎关注我的个人公众号:不懂开发的程序猿
一、 任务描述
搭建好Hadoop环境后,就可以使用Hadoop的一些命令来实现一些功能了。HDFS是Hadoop应用用到的一个最主要的分布式存储系统。本实验用一些常用的命令来熟悉Hadoop对文件的操作。
二、 任务目标
熟练掌握hadoop基础命令的使用,理解HDFS和Hadoop的关系。
三、 任务环境
本次环境是:Ubuntu16.04 + jdk1.8.0_151 + hadoop2.7.3
工具包在/simple/soft目录下
四、 任务分析
安装好Hadoop环境之后,可以执行【
hadoop fs
】命令进行对hadoop进行操作。我们通过命令行和Hadoop打交道,进一步增加对Hadoop的认识。
调用文件系统(FS)Shell命令应使用bin/hadoop fs 的形式。也可以使用其他形式:【
hadoop dfs {args}
】、【
hdfs dfs {args}
】。
所有的FS shell命令使用URI路径作为参数。URI格式是
scheme://authority/path
。HDFS的scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。
五、 任务实施
步骤1、启动hadoop服务
在任意目录下,执行命令:【
start-all.sh
】 启动hadoop服务。如图1所示
图1 启动hadoop服务
启动hadoop之后,通过jps查看hadoop服务是否启动,执行命令:【
jps
】 。如图2所示
图2 查看已启动服务
♥ 知识链接
HDFS
HDFS有很多特点:
(1)保存多个副本,且提供容错机制,副本丢失或宕机自动恢复。默认存3份。
(2)运行在廉价的机器上。
(3)适合大数据的处理。多大?多小?HDFS默认会将文件分割成block,64M为1个block。然后将block按键值对存储在HDFS上,并将键值对的映射存到内存中。如果小文件太多,那内存的负担会很重。
步骤2、hadoop常见命令
在HDFS上创建新目录命令如下:【
hadoop fs –mkdir /input
】,并通过命令【
hadoop fs -ls /
】查看创建的目录。如图3所示
图3 创建目录
输入命令:【
cd /simple
】进入到simple目录,然后执行命令:【
touch word.txt
】新建words.txt文本,并对文本进行编辑(通过【
vim word.txt
】命令对文本进行编辑,之后按【
esc
】键退出文本输入模式,输入【
:wq!
】后将退出编辑器并对文本进行保存,输入内容见图5)。然后上传本地(/simple/word.txt)到hdfs系统下的word.txt文件,命令如下:【
hadoop fs -put /simple/word.txt /word.txt
】 。如图4~5所示
图4 上传文件
图5 内容编辑
查看某个已存在文件:【
hadoop fs –cat /word.txt
】。如图6所示
图6 打开存在文件
在hadoop指定目录下新建一个空文件,使用【
touchz
】命令:如图7所示
图7 新建一个空文件
将hadoop上某个文件down至本地已有目录下:【
hadoop fs -get [文件目录] [本地目录]
】。如图8所示
图8 下载文件
将hadoop指定目录下所有内容保存为一个文件,同时down至本地。如图9所示
图9 合并文件
删除hadoop上指定文件:
hadoop fs -rm [文件地址]
。如图10所示,将HDFS上的word1.txt文件删除完后,只剩下word.txt。
图10 删除文件
步骤3、关闭hadoop
在任意目录下执行命令:【
stop-all.sh
】关闭Hadoop服务。如图11所示,我们看到信息关掉了namenode、datanode、secondary namenodes等相关服务。
图11 关闭hadoop服务
♥ 知识链接
HDFS
Hadoop fs和Hadoop dfs的区别
1)fs是文件系统, dfs是分布式文件系统
(2)fs > dfs
(3)分布式环境情况下,fs与dfs无区别
(4)本地环境中,fs就是本地文件,dfs就不能用了
and
FS涉及到一个通用的文件系统,可以指向任何的文件系统如local,HDFS等。但是DFS仅是针对HDFS的。
那么什么时候用FS呢?可以在本地与hadoop分布式文件系统的交互操作中使用。特定的DFS指令与HDFS有关
版权归原作者 不懂开发的程序猿 所有, 如有侵权,请联系我们删除。