环境:CentOS6.5
内容只针对本机,做一个个人的笔记记录
#启动hadoop进程
./sbin/start-all.sh
#想要打开浏览器查看HDFS和YARN的集群状态。必须要执行下面两个语句:
#关闭防火墙
service iptables stop
#关闭防火墙开机启动
chkconfig iptables off
然后访问http://192.168.153.128:8088查看YARN的集群状态
http://192.168.153.128:50070查看HDFS的集群状态
hadoop集群简单使用:
在HDFS的UI 【Utilities】–>【Browse the file system】查看分布式文件系统里的数据
单词统计:
- 1.在集群主节点上写一个文本文件,用于单词计数
- 2、将该文件上传至HDFS上
- 3、进入hadoop解压包中的share/hadoop/mapreduc下,hadoop-mapreduce-examples-2.7.7.jar中包含了计算单词个数计算Pi值等功能。
- 4、在jar包的位置执行:hadoop jar hadoop-mapreduce-examples-2.7.7.jar wordcount /wc.input /output
- 5、打开结果文件part-r-00000。可以集群UI的界面直接点击下载,也可以在终端显示。
黄色标注部分使我们上传到HDFS上的输入文件,即要计数的单词:
如下是mapreduce执行成功后,在HDFS上自动创建的指定的结果目录/output,并输出_SUCCESS和part-r-00000结果文件,前者是表示此次任务成功的标识,后者是统计结果。
结果查询如下:
[root@master mapreduce]# hadoop fs -ls /output
20/11/22 07:40:23 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 2 items
-rw-r--r-- 1 root supergroup 0 2020-10-20 06:59 /output/_SUCCESS
-rw-r--r-- 1 root supergroup 38 2020-10-20 06:59 /output/part-r-00000
[root@master mapreduce]# hadoop fs -text /output/part-r-00000
20/11/22 07:41:17 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
atguigu 2
hadoop 2
mapreduce 1
yarn 1
[root@master mapreduce]#
HDFS分布式文件系统:
服务器A被称为NameNode,维护文件系统内所有文件和目录的相关信息,服务器B C D被称为DataNode,用于存储数据块。
HDFS(Hadoop Distributed File System )中提供了Secondary NameNode,职责是周期性地把NameNode中的EditLog日志文件合并到FsImage镜像文件中,从而减少EditLog日志文件的大小,缩短集群重启时间,并且保证了HDFS系统的完整性。
HDFS的Shell操作:
#HDFS Shell包含类似的Shell的命令:
hadoop fs <args>
hadoop dfs <args>
hdfs dfs <args>
#上述中,hadoop fs使用最广,可操作任何文件系统。后两个主要针对HDFS
HDFS Shell 参数:
1、
-ls命令。查看指定路径和当前目录结构类似于linux系统的ls命令,格式如下:
hadoop fs -ls [-d] [-h] [-R] <args>
-d:将目录展示为普通文件;-h读取的单位信息格式 -R递归显示所有子目录信息
[root@master hadoop-2.7.7]# hadoop fs -ls
20/11/22 08:21:40 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 2 items
drwxr-xr-x - root supergroup 0 2020-11-04 12:27 data
drwxr-xr-x - root supergroup 0 2020-11-02 09:59 python_mapreduce2
[root@master hadoop-2.7.7]#
2、
mkdir命令创建子目录,与linux相同.-p表示递归创建路径中的各级目录
[root@master hadoop-2.7.7]# hadoop fs -mkdir -p /itcast/hadoop
20/11/22 08:29:17 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[root@master hadoop-2.7.7]# hadoop fs -ls /itcast
20/11/22 08:29:37 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 1 items
drwxr-xr-x - root supergroup 0 2020-11-22 08:29 /itcast/hadoop
[root@master hadoop-2.7.7]#
3、
put命令,将本地的文件或文件夹复制到HDFS上去,语法格式如下:
hadoop fs -put [-f] [-p] <locationsrc> <det>
-[f] 覆盖目标文件
-[-p] 保留访问和修改时间、权限
[root@master hadoop-2.7.7]# hadoop fs -put -f install.log/
20/11/22 08:34:09 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
put: `install.log/': No such file or directory
[root@master hadoop-2.7.7]# hadoop fs -ls /
20/11/22 08:34:21 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 8 items
drwxr-xr-x - root supergroup 0 2020-11-02 09:18 /input
drwxr-xr-x - root supergroup 0 2020-11-22 08:29 /itcast
drwxr-xr-x - root supergroup 0 2020-10-20 06:59 /output
drwxr-xr-x - root supergroup 0 2020-11-02 08:53 /python_mapreduce2
drwxr-xr-x - root supergroup 0 2020-11-17 22:53 /spark
drwx------ - root supergroup 0 2020-10-20 06:59 /tmp
drwxr-xr-x - root supergroup 0 2020-11-04 12:26 /user
-rw-r--r-- 1 root supergroup 46 2020-10-20 06:58 /wc.input