前言:伪分布就是在一台主机上模拟分布模式。
环境:
win 7
hadoop-2.7.1
为了安装方便我这里直接使用administrator用户安装。
安装目录:E:\Download\hadoop-2.7.1\hadoop-2.7.1
安装jdk:
由于hadoop是使用java开发的,所以需要安装jdk,配置JAVA_HOME,CLASSPATH环境变量。
配置hadoop环境变量:
hadoop_install=E:\Download\hadoop-2.7.1\hadoop-2.7.1
path=%PATH%:hadoop/sbin;hadoop/bin;
hadoop 配置:
hadoop配置文件默认在安装目录/etc/hadoop/下,主要配置core-site.xml,hdfs-site.xml,mapred-site.xml和yarn-site.xml。
core-site.xml :
<name>fs.defaultFS</name>
<value>hdfs://localhost/</value>
</property>
hdfs-size.xml :
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
mapred-size.xml:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-size.xml:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.resourcemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
注意:
1、在启动的时候总是报JAVA_HOME找不到,环境变量明明已经设置了但是hadoop就是读取不到,所以我在E:\Download\hadoop-2.7.1\hadoop-2.7.1\libexec\hadoop-config.cmd文件写上JAVA_HOME变量。
2、在win平台下安装,所有的配置路径不能有空格,这个是大坑。
3、win 下部署hadoop-2.7.1需要拷贝额外几个文件(链接:https://pan.baidu.com/s/1tAPPaJ9Tlr3plEKxn09odA 密码:d6zh),复制到hadoop安装目录/bin/下面。
4、最好给hadoop单独设置tmp文件路径,不设置也没问题。
格式化:
hadoop namenode -format
启动:
start-all.cmd
然后通jps或者
http://localhost:50070/查看hadoop状态。
操作:
hadoop fs -makdir /hadoop
hadoop fs -ls /
C:\Users\Administrator>hadoop fs -ls /
Found 1 items
drwxr-xr-x - Administrator supergroup 0 2018-07-26 09:01 /hadoop
win 下hadoop伪分布模式简单测试:
hadoop fs -ls / --查看根目录
hadoop fs -mkdir /usr/hadoop --创建目录
hadoop fs -mkdir hdfs://localhost/hadoopdir --hdfs下创建目录
hadoop fs -appendToFile D:\a.log hdfs://localhost/user/hadoop/hadoopfile --追加文件到hdfs系统
hadoop fs -cat hdfs://localhost/user/hadoop/hadoopfile/a.log --查看hdfs文件
chgrp:
用法: hadoop fs -chgrp [-R] GROUP URI [URI ...]
C:\Windows\System32>hadoop fs -ls /user/hadoop/hadoopfile/
-rw-r--r-- 1 Administrator supergroup 6390 2018-07-26 15:08 /user/hadoop/hadoopfile
C:\Windows\System32>hadoop fs -chgrp admin /user/hadoop/hadoopfile/
C:\Windows\System32>hadoop fs -ls /user/hadoop/hadoopfile/
-rw-r--r-- 1 Administrator admin 6390 2018-07-26 15:08 /user/hadoop/hadoopfile
ls
用法: hadoop fs -ls [-d] [-h] [-R] [-t] [-S] [-r] [-u] <args>
选项:
- -d: 目录被列为纯文件。
- -h: 文件格式变为易读 (例如 67108864显示 64.0m).
- -R: 递归子目录列表中。
- -t: 按修改时间排序输出(最近一次)。
- -S: 按文件大小排序输出。
- -r: 倒序排序
- -u: 对使用时间显示和排序而不是修改时间
C:\Windows\System32>hadoop fs -ls -R /
drwxr-xr-x - Administrator supergroup 0 2018-07-26 16:02 /hadoop
-rw-r--r-- 1 Administrator supergroup 0 2018-07-26 16:02 /hadoop/hado
op.conf
-rw-r--r-- 1 Administrator supergroup 245760 2018-07-26 15:52 /hadoop/work
book.xls
-rwxrwxrwx 1 Administrator supergroup 0 2018-07-26 14:59 /hadoop.conf
drwxr-xr-x - Administrator supergroup 0 2018-07-26 14:59 /hadoopdir
drwxr-xr-x - Administrator supergroup 0 2018-07-26 15:04 /user
drwxr-xr-x - Administrator supergroup 0 2018-07-26 15:04 /user/hadoop
-rw-r--r-- 1 Administrator admin 6390 2018-07-26 15:08 /user/hadoop
/hadoopfile
checksum
用法: hadoop fs -checksum URI
返回 checksum 文件信息
hadoop fs -checksum hdfs://localhost/hadoop.conf
hdfs://localhost/hadoop.conf MD5-of-0MD5-of-0CRC32 000000000000000000000000
70bc8f4b72a86921468bf8e8441dce51
chmod
用法: hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]
C:\Windows\System32>hadoop fs -chmod 777 hdfs://localhost/hadoop.conf
C:\Windows\System32>hadoop fs -ls hdfs://localhost/hadoop.conf
-rwxrwxrwx 1 Administrator supergroup 0 2018-07-26 14:59 hdfs://localhost/hadoop.conf
copyFromLocal
用法: hadoop fs -copyFromLocal <localsrc> URI
类似put命令, 需要指出的是这个限制是本地文件
选项:
-f 选项会重写已存在的目标文件
C:\Windows\System32>hadoop fs -copyFromLocal D:\workbook.xls hdfs://localhost/hadoop/
C:\Windows\System32>hadoop fs -ls hdfs://localhost/hadoop/
Found 1 items
-rw-r--r-- 1 Administrator supergroup 245760 2018-07-26 15:52 hdfs://localhost/hadoop/workbook.xls
copyToLocal
用法: hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
C:\Windows\System32>hadoop fs -copyToLocal hdfs://localhost/hadoop.conf D:\
18/07/26 15:56:53 WARN hdfs.DFSClient: DFSInputStream has been closed already
C:\Windows\System32>
count 用法:
C:\Windows\System32>hadoop fs -count -h hdfs://localhost/
5 3 246.2 K hdfs://localhost/
cp 用法:
hadoop fs -cp [-f] [-p | -p[topax]] URI [URI ...] <dest>复制文件,这个命令允许复制多个文件到一个目录。
- -f 选项如果文件已经存在将会被重写.
- -p 将保留源文件的所有属性
C:\Windows\System32>hadoop fs -cp /hadoop.conf /hadoop/
18/07/26 16:02:58 WARN hdfs.DFSClient: DFSInputStream has been closed already
df【查看还剩多少hdfs空间】
用法: hadoop fs -df [-h] URI [URI ...]
显示剩余空间
选项:
-h 选项会让人更加易读 (比如 64.0m代替 67108864)
C:\Windows\System32>hadoop fs -df hdfs://localhost/
Filesystem Size Used Available Use%
hdfs://localhost 128032174080 254446 102818402304 0%
du
用法: hadoop fs -du [-s] [-h] URI [URI ...]显示给定目录的文件大小及包含的目录,如果只有文件只显示文件的大小
选项:
-s 选项汇总文件的长度,而不是现实单个文件.
C:\Windows\System32>hadoop fs -du -h /
240 K /hadoop
0 /hadoop.conf
0 /hadoopdir
6.2 K /user
expunge
用法: hadoop fs -expunge
find
用法: hadoop fs -find <path> ... <expression> ...查找与指定表达式匹配的所有文件,并将选定的操作应用于它们。如果没有指定路径,则默认查找当前目录。如果没有指定表达式默认-print
下面主要表达式:
-name 模式
C:\Windows\System32>hadoop fs -find hdfs://localhost/ -name hadoop.conf
hdfs://localhost/hadoop/hadoop.conf
hdfs://localhost/hadoop.conf
get
用法: hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>复制文件到本地文件。
C:\Windows\System32>hadoop fs -get hdfs://localhost/hadoop.conf E:\
18/07/26 16:13:22 WARN hdfs.DFSClient: DFSInputStream has been closed already
getfacl 用法:获取文件访问控制列表
C:\Windows\System32>hadoop fs -getfacl /
# file: /
# owner: Administrator
# group: supergroup
getfacl: The ACL operation has been rejected. Support for ACLs has been disable
d by setting dfs.namenode.acls.enabled to false.
C:\Windows\System32>
getfattr用法:
Usage: hadoop fs [generic options] -getfattr [-R] {-n name | -d} [-e en] <path>
C:\Windows\System32>hadoop fs -getfattr -R -d /hadoop/
# file: /hadoop
# file: /hadoop/hadoop.conf
# file: /hadoop/workbook.xls
help用法:
C:\Windows\System32>hadoop fs -help |more
Usage: hadoop fs [generic options]
[-appendToFile <localsrc> ... <dst>]
[-cat [-ignoreCrc] <src> ...]
[-checksum <src> ...]
[-chgrp [-R] GROUP PATH...]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]
[-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-count [-q] [-h] <path> ...]
[-cp [-f] [-p | -p[topax]] <src> ... <dst>]
[-createSnapshot <snapshotDir> [<snapshotName>]]
[-deleteSnapshot <snapshotDir> <snapshotName>]
[-df [-h] [<path> ...]]
[-du [-s] [-h] <path> ...]
[-expunge]
[-find <path> ... <expression> ...]
[-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-getfacl [-R] <path>]
[-getfattr [-R] {-n name | -d} [-e en] <path>]
[-getmerge [-nl] <src> <localdst>]
[-help [cmd ...]]
[-ls [-d] [-h] [-R] [<path> ...]]
[-mkdir [-p] <path> ...]
[-moveFromLocal <localsrc> ... <dst>]
[-moveToLocal <src> <localdst>]
[-mv <src> ... <dst>]
[-put [-f] [-p] [-l] <localsrc> ... <dst>]
[-renameSnapshot <snapshotDir> <oldName> <newName>]
[-rm [-f] [-r|-R] [-skipTrash] <src> ...]
[-rmdir [--ignore-fail-on-non-empty] <dir> ...]
[-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <pa
th>]]
[-setfattr {-n name [-v value] | -x name} <path>]
[-setrep [-R] [-w] <rep> <path> ...]
[-stat [format] <path> ...]
[-tail [-f] <file>]
[-test -[defsz] <path>]
[-text [-ignoreCrc] <src> ...]
[-touchz <path> ...]
[-truncate [-w] <length> <path> ...]
[-usage [cmd ...]]
以上命令介绍到这里。