linuxhdfs命令 hdfs和linux

hadoop常用shell命令怎么用

一、常用的hadoop命令

创新互联建站长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为大祥企业提供专业的成都网站设计、做网站,大祥网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

1、hadoop的fs命令

#查看hadoop所有的fs命令

1

hadoop fs

#上传文件(put与copyFromLocal都是上传命令)

1

2

hadoop fs -put jdk-7u55-linux-i586.tar.gz hdfs://hucc01:9000/jdk

hadoop fs -copyFromLocal jdk-7u55-linux-i586.tar.gz hdfs://hucc01:9000/jdk

#下载命令(get与copyToLocal都是下载命令)

1

2

hadoop fs -get hdfs://hucc01:9000/jdk jdk1.7

hadoop fs -copyToLocal hdfs://hucc01:9000/jdk jdk1.7

#将本地一个或者多个文件追加到hdfs文件中(appendToFile)

1

hadoop fs -appendToFile install.log /words

#查询hdfs的所有文件(ls)

1

hadoop fs -ls /

#帮助命令(help)

1

hadoop fs -help fs

#查看hdfs文件的内容(cat和text)

1

2

hadoop fs -cat /words

hadoop fs -text /words

#删除hdfs文件(rm)

1

hadoop fs -rm -r /words

#统计hdfs文件和文件夹的数量(count)

1

hadoop fs -count -r /

#合并hdfs某个文件夹的文件,并且下载到本地(getmerge)

1

hadoop fs -getmerge / merge

#将本地文件剪切到hdfs,相当于对本地文件上传后再删除(moveFormLocal)

1

hadoop fs -moveFromLocal words /

#查看当前文件系统的使用状态(df)

1

hadoop fs -df

二、常用的hdfs命令(这个用的比较多)

用法跟hadoop命令一样,推荐2.0之后使用hdfs命令

1

hdfs dfs

熟悉常用的 Linux 操作和 Hadoop 操作

1.切换到当前目录的上一级目录

cd ..

2.切换到当前登录 Linux 系统的用户自己的主文件夹

cd ~

3.进入/tmp 目录,创建目录 a1/a2/a3/a4。

mkdir a1/a2/a3/a4 -p

4.删除目录

rmdir a

rmdir a1/a2/a3/a4 -p

5.cp 命令:复制文件或目录

(1) 将当前用户的主文件夹下的文件.bashrc 复制到目录“/usr”下,并重命名为 bashrc1

sudo cp .bashrc /usr/bashrc1

(2) 在目录“/tmp”下新建目录 test,再把这个目录复制到“/usr”目录下

cd /tmp

mkdir test

sudo cp /tmp/test /usr -r

6.mv 命令:移动文件与目录,或更名

(1) 将“/usr”目录下的文件 bashrc1 移动到“/usr/test”目录下

sudo mv /usr/bashrc1 /usr/test

(2) 将“/usr”目录下的 test 目录重命名为 test2

sudo mv /usr/test /usr/test2

7.rm 命令:移除文件或目录

(1) 将“/usr/test2”目录下的 bashrc1 文件删除

sudo rm /usr/test2/bashrc1

(2) 将“/usr”目录下的 test2 目录删除

sudo rm -rf /usr/test2

8.cat 命令:查看文件内容查看当前用户主文件夹下的.bashrc 文件内容

cat .bashrc

9.tac 命令:反向查看文件内容反向查看当前用户主文件夹下的.bashrc 文件的内容

tac .bashrc

10.more 命令:一页一页翻动查看翻页查看当前用户主文件夹下的.bashrc 文件的内容

more .bashrc

11.head 命令:取出前面几行

(1) 查看当前用户主文件夹下.bashrc 文件内容前 20 行

head -n20 .bashrc

(2)查看当前用户主文件夹下.bashrc 文件内容,后面 50 行不显示,只显示前面几行

head -n -50 .bashrc

12.tail 命令:取出后面几行

(1)查看当前用户主文件夹下.bashrc 文件内容最后 20 行

tail -n20 .bashrc

(2)查看当前用户主文件夹下.bashrc 文件内容,并且只列出 50 行以后的数据

tail -n -50 .bashrc

13.touch 命令:修改文件时间或创建新文件

(1) 在“/tmp”目录下创建一个空文件 hello,并查看文件时间

touch hello

stat hello

(2)修改 hello 文件,将文件时间整为 5 天前

touch -d "2019-3-26" hello

stat hello

14.chown 命令:修改文件所有者权限将 hello 文件所有者改为 root 帐号,并查看属性

sudo chown root hello

ls -l hello

15.find 命令:文件查找找出主文件夹下文件名为.bashrc 的文件

find .bashrc

16.tar 命令:压缩命令

(1) 在根目录“/”下新建文件夹 test,然后在根目录“/”下打包成 test.tar.gz

tar -zcvf test.tar.gz test/

(2) 把上面的 test.tar.gz 压缩包,解压缩到“/tmp”目录

tar -zxvf test.tar.gz

17.grep 命令:查找字符串从“~/.bashrc”文件中查找字符串'examples'

grep -rn "examples" .bashrc

18.使用 hadoop 用户登录 Linux 系统,启动 Hadoop(Hadoop 的安装目录为“/usr/local/hadoop”),为 hadoop 用户在 HDFS 中创建用户目录“/user/hadoop”

./bin/hadoop fs -mkdir -p /usr/hadoop

19.接着在 HDFS 的目录“/user/hadoop”下,创建 test 文件夹,并查看文件列表

./bin/hdfs dfs -mkdir test

./bin/hadoop fs -ls

20.将 Linux 系统本地的“~/.bashrc”文件上传到 HDFS 的 test 文件夹中,并查看 test

./bin/hadoop fs -put ~/.bashrc test

./bin/hadoop fs -ls test

21.将 HDFS 文件夹 test 复制到 Linux 系统本地文件系统的“/usr/local/hadoop”目录下

参考: 1

怎么用命令行删除hdfs上的文件

命令:hadoop fs -rmr /home/mm/lily2(要求是你把hadoop的bin加到PATH中,并开启hadoop)

rm -rf /home/mm/lily2(这是删除linux文件系统的文件夹)。

删除目录

rd /s /q "c:\hello"

rem 加引号可以防止因路径中有空格而出错

rem 上面的代码意为:删除c:\hello目录下所有的内容(包括"c:\hello")

删除文件

del /f /q /s "c:\hello\*.*"

rem 删除c;\hello文件夹下所有的文件,包括子文件夹的内容,(不包括子文件夹,也不包括c:\hello文件夹)

rem 文件夹=目录

在hadoop中什么命令的功能是将一个或多个

1、启动hadoop所有进程

start-all.sh等价于start-dfs.sh + start-yarn.sh

但是一般不推荐使用start-all.sh(因为开源框架中内部命令启动有很多问题)。

2、单进程启动。

sbin/start-dfs.sh

---------------

sbin/hadoop-daemons.sh --config .. --hostname .. start namenode ...

sbin/hadoop-daemons.sh --config .. --hostname .. start datanode ...

sbin/hadoop-daemons.sh --config .. --hostname .. start sescondarynamenode ...

sbin/hadoop-daemons.sh --config .. --hostname .. start zkfc ... //

sbin/start-yarn.sh

--------------

libexec/yarn-config.sh

sbin/yarn-daemon.sh --config $YARN_CONF_DIR start resourcemanager

sbin/yarn-daemons.sh --config $YARN_CONF_DIR start nodemanager

3、常用命令

1、查看指定目录下内容

hdfs dfs –ls [文件目录]

hdfs dfs -ls -R / //显式目录结构

eg: hdfs dfs –ls /user/wangkai.pt

2、打开某个已存在文件

hdfs dfs –cat [file_path]

eg:hdfs dfs -cat /user/wangkai.pt/data.txt

3、将本地文件存储至hadoop

hdfs dfs –put [本地地址] [hadoop目录]

hdfs dfs –put /home/t/file.txt /user/t

4、将本地文件夹存储至hadoop

hdfs dfs –put [本地目录] [hadoop目录]

hdfs dfs –put /home/t/dir_name /user/t

(dir_name是文件夹名)

5、将hadoop上某个文件down至本地已有目录下

hadoop dfs -get [文件目录] [本地目录]

hadoop dfs –get /user/t/ok.txt /home/t

6、删除hadoop上指定文件

hdfs dfs –rm [文件地址]

hdfs dfs –rm /user/t/ok.txt

7、删除hadoop上指定文件夹(包含子目录等)

hdfs dfs –rm [目录地址]

hdfs dfs –rmr /user/t

8、在hadoop指定目录内创建新目录

hdfs dfs –mkdir /user/t

hdfs dfs -mkdir - p /user/centos/hadoop

9、在hadoop指定目录下新建一个空文件

使用touchz命令:

hdfs dfs -touchz /user/new.txt

10、将hadoop上某个文件重命名

使用mv命令:

hdfs dfs –mv /user/test.txt /user/ok.txt (将test.txt重命名为ok.txt)

11、将hadoop指定目录下所有内容保存为一个文件,同时down至本地

hdfs dfs –getmerge /user /home/t

12、将正在运行的hadoop作业kill掉

hadoop job –kill [job-id]

13.查看帮助

hdfs dfs -help

4、安全模式

(1)退出安全模式

NameNode在启动时会自动进入安全模式。安全模式是NameNode的一种状态,在这个阶段,文件系统不允许有任何修改。

系统显示Name node in safe mode,说明系统正处于安全模式,这时只需要等待十几秒即可,也可通过下面的命令退出安全模式:/usr/local/hadoop$bin/hadoop dfsadmin -safemode leave

(2) 进入安全模式

在必要情况下,可以通过以下命令把HDFS置于安全模式:/usr/local/hadoop$bin/hadoop dfsadmin -safemode enter

5、节点添加

添加一个新的DataNode节点,先在新加节点上安装好Hadoop,要和NameNode使用相同的配置(可以直接从NameNode复制),修改HADOOPHOME/conf/master文件,加入NameNode主机名。然后在NameNode节点上修改HADOOPHOME/conf/master文件,加入NameNode主机名。然后在NameNode节点上修改HADOOP_HOME/conf/slaves文件,加入新节点名,再建立新加节点无密码的SSH连接,运行启动命令为:/usr/local/hadoop$bin/start-all.sh

6、负载均衡

HDFS的数据在各个DataNode中的分布可能很不均匀,尤其是在DataNode节点出现故障或新增DataNode节点时。新增数据块时NameNode对DataNode节点的选择策略也有可能导致数据块分布不均匀。用户可以使用命令重新平衡DataNode上的数据块的分布:/usr/local/hadoop$bin/start-balancer.sh

7、补充

1.对hdfs操作的命令格式是hdfs dfs

1.1 -ls 表示对hdfs下一级目录的查看

1.2 -lsr 表示对hdfs目录的递归查看

1.3 -mkdir 创建目录

1.4 -put 从Linux上传文件到hdfs

1.5 -get 从hdfs下载文件到linux

1.6 -text 查看文件内容

1.7 -rm 表示删除文件

1.7 -rmr 表示递归删除文件

2.hdfs在对数据存储进行block划分时,如果文件大小超过block,那么按照block大小进行划分;不如block size的,划分为一个块,是实际数据大小。

*****PermissionDenyException 权限不足**********

hadoop常用命令:

hdfs dfs 查看Hadoop HDFS支持的所有命令

hdfs dfs –ls 列出目录及文件信息

hdfs dfs –lsr 循环列出目录、子目录及文件信息

hdfs dfs –put test.txt /user/sunlightcs 将本地文件系统的test.txt复制到HDFS文件系统的/user/sunlightcs目录下

hdfs dfs –get /user/sunlightcs/test.txt . 将HDFS中的test.txt复制到本地文件系统中,与-put命令相反

hdfs dfs –cat /user/sunlightcs/test.txt 查看HDFS文件系统里test.txt的内容

hdfs dfs –tail /user/sunlightcs/test.txt 查看最后1KB的内容

hdfs dfs –rm /user/sunlightcs/test.txt 从HDFS文件系统删除test.txt文件,rm命令也可以删除空目录

hdfs dfs –rmr /user/sunlightcs 删除/user/sunlightcs目录以及所有子目录

hdfs dfs –copyFromLocal test.txt /user/sunlightcs/test.txt 从本地文件系统复制文件到HDFS文件系统,等同于put命令

hdfs dfs –copyToLocal /user/sunlightcs/test.txt test.txt 从HDFS文件系统复制文件到本地文件系统,等同于get命令

hdfs dfs –chgrp [-R] /user/sunlightcs 修改HDFS系统中/user/sunlightcs目录所属群组,选项-R递归执行,跟linux命令一样

hdfs dfs –chown [-R] /user/sunlightcs 修改HDFS系统中/user/sunlightcs目录拥有者,选项-R递归执行

hdfs dfs –chmod [-R] MODE /user/sunlightcs 修改HDFS系统中/user/sunlightcs目录权限,MODE可以为相应权限的3位数或+/-{rwx},选项-R递归执行

hdfs dfs –count [-q] PATH 查看PATH目录下,子目录数、文件数、文件大小、文件名/目录名

hdfs dfs –cp SRC [SRC …] DST 将文件从SRC复制到DST,如果指定了多个SRC,则DST必须为一个目录

hdfs dfs –du PATH 显示该目录中每个文件或目录的大小

hdfs dfs –dus PATH 类似于du,PATH为目录时,会显示该目录的总大小

hdfs dfs –expunge 清空回收站,文件被删除时,它首先会移到临时目录.Trash/中,当超过延迟时间之后,文件才会被永久删除

hdfs dfs –getmerge SRC [SRC …] LOCALDST [addnl] 获取由SRC指定的所有文件,将它们合并为单个文件,并写入本地文件系统中的LOCALDST,选项addnl将在每个文件的末尾处加上一个换行符

hdfs dfs –touchz PATH 创建长度为0的空文件

hdfs dfs –test –[ezd] PATH 对PATH进行如下类型的检查: -e PATH是否存在,如果PATH存在,返回0,否则返回1 -z 文件是否为空,如果长度为0,返回0,否则返回1 -d 是否为目录,如果PATH为目录,返回0,否则返回1

hdfs dfs –text PATH 显示文件的内容,当文件为文本文件时,等同于cat,文件为压缩格式(gzip以及hadoop的二进制序列文件格式)时,会先解压缩 hdfs dfs –help ls 查看某个[ls]命令的帮助文档

本文转自

如何在linux脚本中执行hdfs命令

首先脚本需要有执行权限

chmod u+x file.sh

执行脚本有三种方法:

1. ./file.sh

特点:开启bash子进程来执行,也就是开启额外的进程来进行,不影响原进程的变量、配置等

2. bash file.sh

特点:和./file.sh相同

3. source file.sh 或者 . file.sh

特点:在原bash进程中执行脚本。

第三种方法主要用于在脚本中切换用户su、切换目录cd等命令。

source 和 . 命令是相同的。

你可以搜索 source


名称栏目:linuxhdfs命令 hdfs和linux
分享地址:http://azwzsj.com/article/doocods.html