简述hadoop安装步骤
安装步骤:
1、安装虚拟机系统,并进行准备工作(可安装- 一个然后克隆)
2.修改各个虚拟机的hostname和host
3.创建用户组和用户
4、配置虚拟机网络,使虚拟机系统之间以及和host主机之间可以通过
相互ping通。
5.安装jdk和配置环境变量,检查是否配置成功
6、配置ssh,实现节点间的无密码登录ssh node1/2指令验证时候成
功
7、master 配置hadoop,并将hadoop文件传输到node节点
8、配置环境变量,并启动hadoop, 检查是否安装成功,执行wordcou
nt检查是否成功。
二.HDFS作用是什么
Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
三.常用的Hadoop FS Shell命令有哪些及其作用
1.调用Hadoop的文件系统Shell(FileSystem Shell)的命令格式:
语法:hadoop fs <args>:前提是位置位于hadoop/bin下,其中fs是参数,表示FS Shell,<args>是fs的子命令
2.使用FS Shell命令行管理文件:
mkdir -创建目录
语法:hadoop fs -mkdir <paths>
例子:
hadoop fs -mkdir /user:在HDFS中创建"/user"目录
hadoop fs -mkdir /user/hadoop:在HDFS中创建"/user/hadoop"目录
hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2:在HDFS中同时创建"/user/hadoop/dir1"和"/user/hadoop/dir2",目录
ls -查看列表文件
语法:hadoop fs -ls <args>
如果是文件,则按照如下格式返回文件信息:
文件名<副本数> 文件大小 修改日期 修改时间 权限 用户ID 组ID
如果是目录,则返回它直接子文件的一个列表
cat -查看文件
语法:hadoop fs -cat URI <URI...>:输出路径指定文件的内容
例子:
hadoop fs -cat /input2/file1.txt /input2/file2.txt:在HDFS中查看input2目录下的file1.txt和file2.txt的文件内容
put -从本地文件系统中复制一个或多个文件到HDFS(外部命令)
语法:hadoop fs -put <localsrc>...<dst>
其中localsrc只能是本地文件,dst只能是HDFS文件,且不受fs.defaultFS属性影响。
例子:
hadoop fs -put /home/hduser/file/file1.txt /input2
-将本地文件复制到HDFS目录"input2"
hadoop fs -put /home/hduser/file/file1.txt /home/hduser/file/file2.txt /input2
-将多个本地文件复制到HDFS目录"input2"
hadoop fs -put - /input2/file3
-从标准输入中读取输入,按Ctrl+C组合键退出并保存到"file3"
get -复制HDFS文件到本地系统(外部命令,是put命令的逆操作)
语法:hadoop fs -get <src><localdst>
其中src只能是HDFS文件,localdst只能是本地文件,且同样不受fs.defaultFS属性影响
例子:
hadoop fs -get /input2/file1.txt /sa/file
-将HDFS目录"input2"下的file1.txt文件复制到本地系统目录"sa"下的file文件夹中
mv -移动、剪切命令
语法:hadoop fs -mv URI [URI...] <dest>:将文件从源路径移动到目标路径,允许多个源路径,目标路径必须是一个目录
例子:
hadoop fs -mv /input2/file1.txt /input2/file2.txt /user/hadoop/dir1
-将HDFS上"input2"文件夹中的file1.txt和file2.txt文件移动到"/user/hadoop/dir1"文件夹中
cp -复制命令
语法:hadoop fs -cp URI [URI...] <dest>:将文件从源路径复制到目标路径,允许多个源路径,目标路径必须是一个目录
例子:
hadoop fs -cp /input2/file1.txt /input2/file2.txt /user/hadoop/dir1
-将HDFS上"input2"文件夹中的file1.txt和file2.txt文件复制到"/user/hadoop/dir1"文件夹中
rm、rmr -删除文件
1.rm命令
语法:hadoop fs -rm URI [URI...]
删除指定的文件,只删除非空目录和文件
例子:
hadoop fs -rm /input2/file1.txt
-在HDFS中删除input2文件夹下的file1.txt文件
2.rmr命令
语法:hadoop fs -rmr URI [URI...]
rm的递归版本,整个文件夹及子文件将全部删除
例子:
hadoop fs -rmr /user/hadoop/dir1
-在HDFS中直接删除" /user/hadoop/dir1"路径中dir1文件夹及该文件夹中的子文件
test、du、expubge -管理命令
1.test命令
语法:hadoop fs -test -[选项] URI
选项:
-e:检查文件是否存在,如果存在则返回0,不存在返回1;
-z:检查文件是否存在内容,有内容返回1,没有内容返回0(检查文件的大小是否是0字节,文件大小是0字节返回0,不是0字节返回1);
-d:检查路径是否为目录,如果是则返回1,不是则返回0.
例子:
hadoop fs -test -e /input2/file1.txt
-检查文件是否存在
echo $? -#"$?"是Linux变量,存储上一条命令的返回值,"echo $?"表示输出命令行返回的数值。
2.du命令
语法:hadoop fs -du URI [URI...]
-显示目录中所有文件的大小
例子:
hadoop fs -du /input2
-在HDFS中显示input2文件夹的大小,如果是目录则列出所有文件及其大小
hadoop fs -du /input2/file1.txt
-在HDFS中显示input2文件夹下fil1.txt文件的大小,如果是目录则统计总大小
3.expunge命令
语法:hadoop fs -expunge