hadoop总结-组件&简介

Hadoop是一种分布式数据和计算的框架。序列化机制,支持多语言交互

// 特点
数据并行,处理串行!

生态圈组件:

HDFS是一个高度容错性的系统,提供高吞吐量的数据访问,突破硬盘大小的限制,适合大规模数据集上的应用,可为yarn和Hbase服务。

Yarn通用的资源协同任务调度框架,解决namenode负载太大和其他问题,提高资源利用率,具有良好的扩展性,可用性,可靠性,向后兼容性。在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)

mapreduce计算框架,通过map,reduce来分布式的流式处理数据,适用离线,实时要求低的需求。

zookeeper : 开源的分布式用用程序协调服务,基于zk可以实现,同步服务、配置维护、命名服务。

Flume高可用的,可靠的,分布式海量日志采集、聚合、传输 系统。

Hbase : 分布式,面向列的,开源数据库,存储在HDFS上。

Hive : hadoop 的数据仓库管理工具,可以将结构化的数据档映射为一张数据库表,提供简单的sql查询,并将标准sql语句转换为MR运行。

Sqoop关系型数据库 数据 和 HDFS 相互变换。

特点

  • 移植性:Hadoop是用Java编写的,并且在所有主要平台上都受支持。
  • 操作性:支持类似shell的命令直接与HDFS交互。
  • 容错:它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。
  • 高效:它以并行的方式工作,通过并行处理加快处理速度(数据并行,处理串行)。
  • 性价比:依赖于社区服务,成本比较低。

动态添加节点

步骤:

  1. 关闭新增节点的防火墙,selinux,配置环境的步骤
  2. 在 NameNode和新节点 的 hosts 文件中配置映射
  3. 配置 NameNode 和新节点 SSH 免密码登录
  4. 在 NameNode ,将新节点名 添加到 slaves
  5. 在其他节点上执行刷新操作:hdfs dfsadmin -refreshNodes
  6. 启动 DataNode 节点
  7. 查看 NameNode 的监控页面看是否有新增加的节点
// 添加节点之后
start-balancer.sh
# 不执行该命令,会把新数据都存放在这个新节点上
dfs.replication设置的副本系数只在文件系统写入时有效,并不影响在新添加,平衡时副本数 

namenode 宕机恢复

  1. 编辑core-site.xml 增加checkpoint相关配置
fs.checkpoint.dir 恢复文件的存放目录
fs.checkpoint.period 同步时间检查
fs.checkpoint.size 超过大小直接同步
  1. 将新节点配置好
  2. 同步配置格式化namenode,启动

启动时日志会error

如果硬盘损坏,把secondnamenode 打包放在namenode的 fs.checkpoint.dir目录下
执行:

hadoop namenode -importcheckpoint

Hadoop HA是指同时启动两个NameNode,一个处于工作状态,另外一个处于随时待命状态,这样在处于工作状态的NameNode所在的服务器宕机时,可在数据不丢失的情况下,手工或者自动切换到另外一个NameNode提供服务。

猜你喜欢

转载自blog.csdn.net/qq_42898087/article/details/85226077