HADOOP 是什么?
分布式计算开源框架,其核心组件为:HDFS、MAPREDUCE、YARN
Hadoop各个功能模块的理解
1、 HDFS模块
HDFS负责大数据的存储,通过将大文件分块后进行分布式存储方式,突破了服务器硬盘大小的限制,解决了单台机器无法存储大文件的问题,HDFS是个相对独立的模块,可以为YARN提供服务,也可以为HBase等其他模块提供服务。
2、 YARN模块
YARN是一个通用的资源协同和任务调度框架,是为了解决Hadoop1.x中MapReduce里NameNode负载太大和其他问题而创建的一个框架。
YARN是个通用框架,不止可以运行MapReduce,还可以运行Spark、Storm等其他计算框架。
3、 MapReduce模块
MapReduce是一个计算框架,它给出了一种数据处理的方式,即通过Map阶段、Reduce阶段来分布式地流式处理数据。它只适用于大数据的离线处理,对实时性要求很高的应用不适用。
HADOOP生态圈有哪些?
HDFS | 分布式文件存储系统 |
MAPREDUCE | HADOOP的运算框架 |
YARN | 帮助用户调度大量mapreduce,合理分配运算资源 |
HBASE | 分布式数据库系统 |
KAFKA | 分布式消息缓存系统 |
SPARK | 离线批处理、实时流式计算 |
STORM | 实时流式计算 |
HIVE | 数据仓库工具 |
FLUME | 数据采集 |
SQOOP | 数据迁移(传统数据库与HDFS之间) |
HDFS中数据如何存储?
假如有100台服务器,一个文件100G,在存储的时候,会将文件拆分成N个文件块,这N个文件块会存储在不同的服务器上,具体存储在那台服务器上由内部分配。且,每个文件块会存储多个副本,副本个数由用户设置(默认3个)。
namenode 记录相应存储信息(路径,大小,存放服务器位置等),即:元数据。
datanode 就是服务器节点,即:文件实际存储的服务器位置
HADOOP 常用命令(hadoop fs、hadoop dfs、hdfs dfs命令都可以用)
hadoop fs -ls 显示当前目录结构,-ls -R 递归显示目录结构
hadoop fs -mkdir 创建目录
hadoop fs -rm 删除文件,-rm -R 递归删除目录和文件
hadoop fs -put [localsrc] [dst] 从本地加载文件到HDFS
hadoop fs -get [dst] [localsrc] 从HDFS导出文件到本地
hadoop fs -copyFromLocal [localsrc] [dst] 从本地加载文件到HDFS,与put一致
hadoop fs -copyToLocal [dst] [localsrc] 从HDFS导出文件到本地,与get一致
hadoop fs -test -e 检测目录和文件是否存在,存在返回0,不存在返回1
hadoop fs -text 查看文件内容
hadoop fs -du 统计目录下各文件大小,单位字节。-du -s 汇总目录下文件大小,-du -h 显示单位
hadoop fs -tail 显示文件末尾
hadoop fs -cp [src] [dst] 从源目录复制文件到目标目录
hadoop fs -mv [src] [dst] 从源目录移动文件到目标目录
查看集群节点
hdfs fsck /
查看文件在HDFS中的信息
hdfs dfs -ls hdfs://drmcluster/data/dmrt/day/dmrt_mem_info_d
或
hadoop fs -ls hdfs://drmcluster/data/dmrt/day/dmrt_mem_info_d
或
hadoop dfs -ls hdfs://drmcluster/data/dmrt/day/dmrt_mem_info_d
查看HDFS版本:
hdfs version
kill正在执行的hive任务: hadoop job -kill job_id
例: hadoop job -kill job_1593964891626_1476827
hdfs-site.xml配置备份数量
dfs.replication配置HDFS存储时的备份数量,默认为3个。
${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
JPS
查看当前所有进程
停止Hadoop
sbin/hadoop-daemon.sh stop namenode
sbin/hadoop-daemon.sh stop datanode
sbin/yarn-daemon.sh stop resourcemanager
sbin/yarn-daemon.sh stop nodemanager
启动集群
hadoop-2.10.1/sbin/start-dfs.sh
查看端口是否开放
lsof -i:8088
Hadoop历史服务
Hadoop开启历史服务可以在web页面上查看Yarn上执行job情况的详细信息。可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。
sbin/mr-jobhistory-daemon.sh start historyserver
日志聚集
MapReduce是在各个机器上运行的,在运行过程中产生的日志存在于各个机器上,为了能够统一查看各个机器的运行日志,将日志集中存放在HDFS上,这个过程就是日志聚集。
Hadoop默认是不启用日志聚集的。在yarn-site.xml文件里配置启用日志聚集。
附:
Hadoop安装详细步骤(Hadoop HA(高可用) 详细安装步骤)