首页 > 其他分享 >HDFS分布式集群搭建

HDFS分布式集群搭建

时间:2024-07-07 21:43:34浏览次数:8  
标签:xml HDFS 配置文件 Hadoop 集群 目录 分布式

1、集群简介

Hadoop 集群具体来说包含两个集群:HDFS 集群和YARN 集群,两者逻辑上分离,但物理上常在一起。 另外,对于 Hadoop 的集群来讲,可以分为两大类角色:master 和 slave。
(1)HDFS 集群:负责海量数据的存储,集群中的角色主要有:NameNode(一个,master)、DataNode(若干,slave)和 SecondaryNameNode(一个)。
(2)YARN 集群:负责海量数据运算时的资源调度,集群中的角色主要有: ResourceManager(一个,master) 和 NodeManager(若干,slave)。

为什么没有 MapReduce 集群呢?MapReduce 是什么呢?
它其实是一个应用程序开发包,也就是一堆 Java 的 jar 包,不需要安装。

2、安装包准备

Hadoop 是 Apache 基金会面向全球开源的产品之一,任何用户都可以从 Apache Hadoop 官网http://archive.apache.org/dist/hadoop/common/下载使用。
本文将以当下较为稳定的 hadoop2.7.7 版本为例,详细讲解 Hadoop 的安装。所以我们下载 hadoop-2.7.7.tar.gz 即可。

现在已经为大家下载好了 hadoop2.7.7 的安装包,存放在 /root/software 目录下,使用如下命令进行解压即可使用:
tar -zxvf hadoop-2.7.7.tar.gz
将其解压到当前目录下,即 /root/software 中,效果图如下所示

接下来,进入 Hadoop 的安装目录,通过 ll 命令查看 Hadoop 目录结构,如下图所示:

从图中可以看出,Hadoop 安装目录包括 bin、etc、include、lib、libexec、sbin、share 共 7 个目录以及其他一些文件,下面简单介绍下各目录内容及作用。

(1)bin:存放操作 Hadoop 相关服务(HDFS、YARN)的脚本,但是通常使用 sbin 目录下的脚本。

(2)etc:存放 Hadoop 配置文件,主要包含 core-site.xml、hdfs-site.xml、mapred-site.xml 等从 Hadoop1.0 继承而来的配置文件和 yarn-site.xml 等 Hadoop2.0 新增的配置文件。

(3)include:对外提供的编程库头文件(具体动态库和静态库在 lib 目录中),这些头文件均是用 C++ 定义的,通常用于 C++ 程序访问 HDFS 或者编写 MapReduce 程序。

(4)lib:该目录包含了 Hadoop 对外提供的编程动态库和静态库,与 include 目录中的头文件结合使用。

(5)libexec:各个服务对应的 shell 配置文件所在的目录,可用于配置日志输出、启动参数(比如 JVM 参数)等基本信息。

(6)sbin:该目录存放 Hadoop 管理脚本,主要包含 HDFS 和 YARN 中各类服务的启动/关闭脚本。

(7)share:Hadoop 各个模块编译后的 jar 包所在的目录。

3、HDFS 集群主要配置文件讲解

Hadoop 默认提供了两种配置文件:

(1)一种是只读的默认配置文件,包括 core-default.xml、hdfs-default.xml、mapred-default.xml 和 yarn-default.xml,这些文件包含了 Hadoop 系统各种默认配置参数;
(2)另一种是 Hadoop 集群自定义配置时编辑的配置文件(这些文件多数没有任何配置内容,都存在于 Hadoop 安装包下的 etc/hadoop 目录中),包括 hadoop-env.sh、yarn-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 和 slaves 共 7 个文件,可以根据需要在这些文件中对默认配置文件中的参数进行修改,Hadoop 会优先选择这些配置文件中的参数。

  接下来,先通过下表对 Hadoop 集群搭建可能涉及的主要配置文件及功能进行描述。

(1)前 2 个配置文件都是用来指定 Hadoop 和 YARN 所需运行环境。

hadoop-env.sh:用来保证 Hadoop 系统能够正常执行 HDFS 的守护进程 NameNode、SecondaryNameNode 和 DataNode;
yarn-env.sh:用来保证 YARN 的守护进程 ResourceManager 和 NodeManager 能正常执行。
(2)slaves 文件存储了当前集群的所有从节点的列表。

(3)其它 4 个配置文件都是用来设置集群运行参数的,在这些配置文件中可以使用 Hadoop 默认配置文件中的参数进行配置来优化 Hadoop 集群,从而使集群更加稳定高效。

Hadoop 提供的默认配置文件 core-default.xml、hdfs-default.xml、mapred-default.xml 和 yarn-default.xml 中的参数非常之多,这里不便一一展示说明。读者在具体使用时可以通过访问 Hadoop官方文档 https://hadoop.apache.org/docs/r2.7.7/,进入到文档最底部的 Configuration 部分进行学习和查看。
uploading-image-3259.png

主机规划:
172.30.249.192 master
172.30.240.194 slave1
172.30.240.193 slave2

标签:xml,HDFS,配置文件,Hadoop,集群,目录,分布式
From: https://www.cnblogs.com/yds941268778/p/18288959

相关文章

  • 2.基于Containerd运行时搭建Kubernetes多控制平面集群实践-腾讯云开发者社区-腾讯云
    https://cloud.tencent.com/developer/article/2129846 2.基于Containerd运行时搭建Kubernetes多控制平面集群实践发布于2022-09-2919:27:53 1K0 举报文章被收录于专栏:全栈工程师修炼之路[TOC] 0x00前言简述本章主要讲述,如果使用kubead......
  • 无人机集群路径规划:四种优化算法(GOOSE、APO、LPO、SBOA)求解无人机集群路径规划,提供MAT
     一、单个无人机路径规划模型介绍无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化飞行时间和节省能量消耗。二、无人......
  • 无人机集群路径规划:四种优化算法(GOOSE、APO、DCS、SBOA)求解无人机集群路径规划,提供MAT
     一、单个无人机路径规划模型介绍无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化飞行时间和节省能量消耗。二、无人......
  • kubernetes集群部署:node节点部署和cri-docker运行时安装(四)
    安装前准备同《kubernetes集群部署:环境准备及master节点部署(二)》安装cri-docker在Kubernetes1.20版本之前,Docker是Kubernetes默认的容器运行时。然而,Kubernetes社区决定在Kubernetes1.20及以后的版本中逐步淘汰对Docker的直接支持,一直到Kubernetes1.24版本彻底......
  • 深度解析 Raft 分布式一致性协议
    深度解析Raft分布式一致性协议本文参考转载至:浅谈Raft分布式一致性协议|图解Raft-白泽来了-博客园(cnblogs.com)深度解析Raft分布式一致性协议-掘金(juejin.cn)raft-zh_cn/raft-zh_cn.mdatmaster·maemual/raft-zh_cn(github.com)本篇文章将模拟一个KV......
  • Lock4j简单的支持不同方案的高性能分布式锁实现及源码解析
    文章目录1.Lock4j是什么?1.1简介1.2项目地址1.3我之前手写的分布式锁和限流的实现2.特性3.如何使用3.1引入相关依赖3.2配置redis或zookeeper3.3使用方式3.3.1注解式自动式3.3.2手动式4.源码解析4.1项目目录4.2实现思路5.总结1.Lock4j是什么?1.1简介   ......
  • MySQL 集群
    MySQL集群有多种类型,每种类型都有其特定的用途和优势。以下是一些常见的MySQL集群解决方案:1. MySQLReplication描述:MySQL复制是一种异步复制机制,允许将一个MySQL数据库的数据复制到一个或多个从服务器。用途:用于数据备份、读取负载均衡和灾难恢复。特点:简单易配......
  • MIT6.824-2022 分布式系统课程实验笔记 Lab 2A Raft-领导者选举(leader election)--xu
    Lab2A:Raft文章目录Lab2A:RaftLab1:MapReduceLab2:Raft实验解读Lab2B:日志复制我的代码实现(附带详细代码注释)前言Part2A:[leaderelection](中等难度)提示错误:实现细节(包含对于方法的解释如有错误大佬勿喷)结构体GetState()获取节点任期和角色sendAllRequestVote()发起投票......
  • MIT6.824-2022 分布式系统课程实验笔记 Lab 2B Raft-日志复制(Log Replication)--xunznu
    Part2B:LogReplication日志复制(困难)文章目录Part2B:LogReplication日志复制(困难)Lab1:MapReduceLab2:Raft实验解读Lab2A:领导者选举leaderelection我的代码实现(附带详细代码注释)提示:实现细节:1、commitIndex和lastApplied2、nextIndex和matchIndex3、Co......
  • [分布式项目]应用对大量Message处理方案的一些思考
    目录问题背景分析流程设计一些思考问题背景问题来源于之前公司做的项目,组内维护有调度任务的应用,对全量商品的每日价格信息进行离线计算,结果用于分析和制定售卖策略。计算周期根据商品的特点,设置在半小时到一天。随着应用的推广以及业务上的需求,使用方对数据......