⑴ 熟悉常用的 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中根目录下创建user文件夹的命令为
HDFS中根目录下创建user文件夹的命令为hadoop dfs-mkdir。在hdfs中创建一个input文件夹:hadoopfs-mkdir/input/1、使用参数-p创建多级目录:hadoopfs-mkdir-p/input/file1。拷贝input目录到hdfs系统的时候,不是采用的hadoop用户,而是用root用户执行的拷贝命令。
hdfs的特点和目标:
1、硬件故障
硬件故障是常态,而不是异常。整个HDFS系统将由数百或数千个存储着文件数据片段的服务器组成。实际上它里面有非常巨大的组成部分,每一个组成部分都很可能出现故障,这就意味着HDFS里的总是有一些部件是失效的,因此,故障的检测和自动快速恢复是HDFS一个很核心的设计目标。
2、数据访问
运行在HDFS之上的应用程序必须流式地访问它们的数据集,它不是运行在普通文件系统之上的普通程序。HDFS被设计成适合批量处理的,而不是用户交互式的。重点是在数据吞吐量,而不是数据访问的反应时间,POSIX的很多硬性需求对于HDFS应用都是非必须的,去掉POSIX一小部分关键语义可以获得更好的数据吞吐率。
3、大数据集
运行在HDFS之上的程序有很大量的数据集。典型的HDFS文件大小是GB到TB的级别。所以,HDFS被调整成支持大文件。它应该提供很高的聚合数据带宽,一个集群中支持数百个节点,一个集群中还应该支持千万级别的文件。
以上内容参考:网络-hdfs
⑶ 何时使用hadoop fs,hadoop dfs与hdfs dfs命令
hadoop fs:使用面广操作任何文件系统
hadoop dfs与hdfs dfs:能操作HDFS文件系统相关(包括与Local FS间操作)前者已经Deprecated般使用者
Following are the three commands which appears same but have minute differences
hadoop fs {args}
hadoop dfs {args}
hdfs dfs {args}
hadoop fs <args></args>
FS
relates to a generic file system which can point to any file systems
like local, HDFS etc. So this can be used when you are dealing with
different file systems such as Local FS, HFTP FS, S3 FS, and others
hadoop dfs <args></args>
dfs
is very specific to HDFS. would work for operation relates to HDFS.
This has been deprecated and we should use hdfs dfs instead.
hdfs dfs <args></args>
same as 2nd i.e would work for all the operations related to HDFS and is the recommended command instead of hadoop dfs
below is the list categorized as HDFS commands.
**#hdfs commands**
namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups
So even if you use Hadoop dfs , it will look locate hdfs and delegate that command to hdfs dfs
⑷ 这条hadoop命令是什么意思里面的fs和-ls又分别是什么意思呢
fs = file system, hadoop的命令固定格式,或者dfs
-ls = 查看目录文件
⑸ 何时使用hadoop fs,hadoop dfs与hdfs dfs命令
hadoop fs:使用面最广,可以操作任何文件系统。
hadoop dfs与hdfs dfs:只能操作HDFS文件系统相关(包括与Local
FS间的操作),前者已经Deprecated,一般使用后者。
⑹ hadoop中命令经常含有-fs,-dfs,fs和dfs有什么区别作用是什么
You can see definitions of the two commands (hadoop fs & hadoop dfs) in
可以看一下hadoop的源代码
$HADOOP_HOME/bin/hadoop
...elif [ "$COMMAND" = "datanode" ] ; then CLASS='org.apache.hadoop.hdfs.server.datanode.DataNode' HADOOP_OPTS="$HADOOP_OPTS $HADOOP_DATANODE_OPTS"elif [ "$COMMAND" = "fs" ] ; then CLASS=org.apache.hadoop.fs.FsShell HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"elif [ "$COMMAND" = "dfs" ] ; then CLASS=org.apache.hadoop.fs.FsShell HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"elif [ "$COMMAND" = "dfsadmin" ] ; then CLASS=org.apache.hadoop.hdfs.tools.DFSAdmin HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"...
So, they are exactly the same.
所以,发现两者是完全一样的功能。
谢谢
⑺ 何时使用hadoop fs,hadoop dfs与hdfs dfs命令
没什么区别啊。 不过有些系统级命令 hadoop fs 好用。
一般情况下只操作 HDFS 时候适合用 hdfs dfs 感觉少打点。。
⑻ 何时使用hadoop fs,hadoop dfs与hdfs dfs命令
hadoop fs:使用面最广,可以操作任何文件系统。
hadoop dfs与hdfs dfs:只能操作HDFS文件系统相关(包括与Local FS间的操作),前者已经Deprecated,一般使用后者。
以下内容参考自stackoverflow
Following are the three commands which appears same but have minute differences
hadoop fs {args}
hadoop dfs {args}
hdfs dfs {args}
hadoop fs <args>
FS relates to a generic file system which can point to any file systems like local, HDFS etc. So this can be used when you are dealing with different file systems such as Local FS, HFTP FS, S3 FS, and others
hadoop dfs <args>
dfs is very specific to HDFS. would work for operation relates to HDFS. This has been deprecated and we should use hdfs dfs instead.
hdfs dfs <args>
same as 2nd i.e would work for all the operations related to HDFS and is the recommended command instead of hadoop dfs
below is the list categorized as HDFS commands.
**#hdfs commands**
namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups
So even if you use Hadoop dfs , it will look locate hdfs and delegate that command to hdfs dfs
⑼ 何时使用hadoop fs,hadoop dfs与hdfs dfs命令
hadoop hdfs dfs基本操作
本文主要参考:
http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/FileSystemShell.html
根据上面官方文档的提示我们能够知道可以通过shell的方式访问hdfs中的数据,对数据进行操作。那么首先让我们看一下hdfs的版本,使用命令hdfs version。
好,下面上货:
1、查询
使用命令:
hdfs dfs -ls / 这条执行会列出/目录下的文件和目录
hdfs dfs -ls -R /这条会列出/目录下的左右文件,由于有-R参数,会在文件夹和子文件夹下执行ls操作。
2、添加文件夹
使用命令;
hdfs dfs -mkdir -p /xytest/testdata001/
这里需要注意的是,root用户是否拥有hdfs 的权限,如果有,我们可以继续操作,如果没有,我们可以直接使用hdfs用户,默认安装完cdh后,用户hdfs拥有所有的权限。如果对于权限有不明白的,推荐看一下我的另一篇文章:
http://blog.csdn.net/wild46cat/article/details/69664376
3、增加文件
使用命令:
hdfs dfs -FromLocal ~/123.txt /xytest/testdata001/
4、查看hdfs文件中的内容
使用命令:
hdfs dfs -cat /xytest/testdata001/123.txt
或者,可以把hdfs中的文件到本地
使用命令:
hdfs dfs -ToLocal /xytest/testdata001/123.txt ~/222.txt
5、删除文件
使用命令:
hdfs dfs -rm -f /xytest/testdata001/123.txt
6、删除文件夹
使用命令:
hdfs dfs -rm -r /xytest/testdata001