我的编程空间,编程开发者的网络收藏夹
学习永远不晚

关于Hadoop的HDFS集群

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

关于Hadoop的HDFS集群

HDFS 集群是建立在 Hadoop 集群之上的,由于 HDFS 是 Hadoop 最主要的守护进程,所以 HDFS 集群的配置过程是 Hadoop 集群配置过程的代表。

使用 Docker 可以更加方便地、高效地构建出一个集群环境。

每台计算机中的配置

Hadoop 如何配置集群、不同的计算机里又应该有怎样的配置,这些问题是在学习中产生的。本章的配置中将会提供一个典型的示例,但 Hadoop 复杂多样的配置项远超于此。

HDFS 命名节点对数据节点的远程控制是通过 SSH 来实现的,因此关键的配置项应该在命名节点被配置,非关键的节点配置要在各个数据节点配置。也就是说,数据节点与命名节点的配置可以不同,不同数据节点之间的配置也可以有所不同。

但是本章为了方便建立集群,将使用相同的配置文件通过 Docker 镜像的形式同步到所有的集群节点,特做解释。

具体步骤

总体思路是这样的,我们先用一个包含 Hadoop 的镜像进行配置,配置成集群中所有节点都可以共用的样子,然后再以它为原型生成若干个容器,构成一个集群。

配置原型

首先,我们将使用之前准备的 hadoop_proto 镜像启动为容器:

docker run -d --name=hadoop_temp --privileged hadoop_proto /usr/sbin/init

进入 Hadoop 的配置文件目录:

cd $HADOOP_HOME/etc/hadoop

现在对这里的文件的作用做简单的描述:

文件作用
workers记录所有的数据节点的主机名或 IP 地址
core-site.xmlHadoop 核心配置
hdfs-site.xmlHDFS 配置项
mapred-site.xmlMapReduce 配置项
yarn-site.xmlYARN 配置项

注:YARN 的作用是为 MapReduce 提供资源管理服务,此处暂时用不着。

我们现在设计这样一个简单的集群:

  • 1 个命名节点 nn
  • 2 个数据节点 dn1, dn2

首先编辑 workers ,更改文件内容为:

dn1
​​​​​​​dn2

然后编辑 core-site.xml,在 中添加以下配置项:

<!-- 配置 HDFS 主机地址与端口号 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://nn:9000</value>
</property>
<!-- 配置 Hadoop 的临时文件目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:///home/hadoop/tmp</value>
</property>

配置 hdfs-site.xml,在 中添加以下配置项:

<!-- 每个数据块复制 2 份存储 -->
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<!-- 设置储存命名信息的目录 -->
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///home/hadoop/hdfs/name</value>
</property>

最后需要配置一下 SSH :

ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsassh-copy-id -i ~/.ssh/id_rsa hadoop@localhost

到此为止,集群的原型就配置完毕了,可以退出容器并上传容器到新镜像 cluster_proto :

docker stop hadoop_tempdocker commit hadoop_temp cluster_proto

此处如果有必要可以删除临时镜像 hadoop_temp 。

部署集群

接下来部署集群。

首先,要为 Hadoop 集群建立专用网络 hnet :

docker network create --subnet=172.20.0.0/16 hnet

接下来创建集群容器:

docker run -d --name=nn --hostname=nn --network=hnet --ip=172.20.1.0 --add-host=dn1:172.20.1.1 --add-host=dn2:172.20.1.2 --privileged cluster_proto /usr/sbin/init
docker run -d --name=dn1 --hostname=dn1 --network=hnet --ip=172.20.1.1 --add-host=nn:172.20.1.0 --add-host=dn2:172.20.1.2 --privileged cluster_proto /usr/sbin/init
docker run -d --name=dn2 --hostname=dn2 --network=hnet --ip=172.20.1.2 --add-host=nn:172.20.1.0 --add-host=dn1:172.20.1.1 --privileged cluster_proto /usr/sbin/init

进入命名节点:

docker exec -it nn su hadoop

格式化 HDFS:

hdfs namenode -format

如果没有出错,那么下一步就可以启动 HDFS:

start-dfs.sh

成功启动之后,jps 命令应该能查到 NameNode 和 SecondaryNameNode 的存在。命名节点不存在 DataNode 进程,因为这个进程在 dn1 和 dn2 中运行。

至此,你可以检测 HDFS 的运行,使用 HDFS 的方式也没有差别(命名节点代表整个集群)。 

到此这篇关于关于Hadoop的HDFS集群的文章就介绍到这了,更多相关HDFS集群内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

关于Hadoop的HDFS集群

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

关于Hadoop的HDFS集群

这篇文章主要介绍了关于Hadoop的HDFS集群,Hadoop如何配置集群、不同的计算机里又应该有怎样的配置,这些问题是在学习中产生的。本章的配置中将会提供一个典型的示例,需要的朋友可以参考下
2023-05-19

HDFS的HA集群原理分析

1.简单hdfs集群中存在的问题不能存在两个NameNode单节点问题   单节点故障转移2.解决单节点问题找额外一个NameNode备份原有的数据 会出现脑裂脑裂:一个集群中多个管理者数据不一致 这种情况称之为脑裂3.如何解决启动多个NameNode时保证同
HDFS的HA集群原理分析
2016-09-29

hadoop集群的作用是什么

Hadoop集群是一个开源的分布式计算框架,用于存储和处理大规模数据集。其作用主要包括以下几个方面:存储大规模数据:Hadoop集群可以存储大规模的数据,将数据分散存储在不同的节点上,实现数据的分布式存储。处理大规模数据:Hadoop集群提
hadoop集群的作用是什么
2024-04-09

HADOOP集群的最主要瓶颈

Hadoop集群的最主要瓶颈可以有多个方面,以下是几个常见的瓶颈:1. 网络带宽:Hadoop集群中的各个节点之间需要频繁地进行数据传输和通信,如果网络带宽不足,会导致数据传输速度慢,影响整个集群的性能。2. 存储容量:Hadoop集群通常
2023-10-11

hadoop启动和关闭hdfs的方法是什么

Hadoop启动和关闭HDFS的方法是使用Hadoop的控制脚本。以下是启动和关闭HDFS的方法:启动HDFS:切换到Hadoop安装目录下的sbin目录。运行命令:./start-dfs.sh关闭HDFS:切换到Hadoop安装目录下
hadoop启动和关闭hdfs的方法是什么
2024-03-05

怎么优化Hadoop集群的性能

优化Hadoop集群的性能可以通过以下方式实现:资源调优:确保集群中的每个节点都具有足够的内存、CPU和磁盘空间,并根据任务的需求进行合理的资源分配。数据分区和分片:将数据分散存储在不同的节点上,以减少数据传输和节点间的通信负担,提高数据访
怎么优化Hadoop集群的性能
2024-03-11

Hadoop集群搭建的步骤是什么

搭建Hadoop集群的步骤如下:1. 准备环境:确保所有节点都安装了Java,并且网络可访问。2. 下载Hadoop:从Apache官网下载最新版本的Hadoop,并解压到每个节点。3. 配置Hadoop:在每个节点上编辑Hadoop的配置
2023-09-06

搭建hadoop集群的方式有哪些

搭建Hadoop集群的方式有以下几种:1. 手动搭建:手动在每个节点上安装和配置Hadoop组件,包括HDFS、YARN和MapReduce。需要手动创建配置文件,配置网络和权限等。适用于小规模集群,对系统和网络有较深的理解。2. Apac
2023-10-08

hadoop集群启动的方法是什么

Hadoop集群可以通过以下步骤启动:启动Hadoop集群的NameNode(主节点):在主节点上运行start-dfs.sh脚本。启动Hadoop集群的ResourceManager(资源管理器):在主节点上运行start-yarn.sh
hadoop集群启动的方法是什么
2024-03-05

hadoop中的yarn怎么创建session集群

在Hadoop中创建YARN Session集群可以通过以下步骤实现:首先,需要在Hadoop集群中安装和配置YARN。确保YARN的配置文件(如yarn-site.xml)中已经正确设置了相关参数。在Hadoop集群的一个节点上启动YAR
hadoop中的yarn怎么创建session集群
2024-03-13

大数据-HDFS 集群搭建的配置文件

1.HDFS简单版集群搭建相关配置文件  1.core-site.xml文件1 2 fs.defaultFS3 hdfs://hadoop2:90004 5 6 7 hadoop.tmp.dir8 /usr/hadoop-
大数据-HDFS 集群搭建的配置文件
2018-04-22

hadoop集群使用的方法是什么

Hadoop集群使用的方法通常是通过Hadoop分布式文件系统(HDFS)存储和管理大规模数据,并使用MapReduce编程模型来处理数据。用户可以通过Hadoop集群的管理工具(如Ambari或Cloudera Manager)来监控和管
hadoop集群使用的方法是什么
2024-03-05

Hadoop集群环境部署的示例分析

这篇文章主要介绍了Hadoop集群环境部署的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、为集群自定义一个名称:在安装集群组建之前安装程序需要对主机进行一些环境检
2023-06-02

怎么搭建一个简单的Hadoop集群

搭建一个简单的Hadoop集群可以分为以下几个步骤:准备环境:确保每台服务器上安装了Java环境,并且关闭防火墙和SELinux。下载Hadoop:从官方网站上下载最新版本的Hadoop,并解压到每台服务器的相同位置,例如/usr/loca
怎么搭建一个简单的Hadoop集群
2024-03-11

docker搭建hadoop集群的步骤是什么

安装Docker:首先安装Docker,确保系统上已经安装了Docker。创建Docker镜像:创建一个包含Hadoop的Docker镜像。可以根据官方的Dockerfile文件或者自己编写Dockerfile来创建镜像。启动Hadoop容
docker搭建hadoop集群的步骤是什么
2024-04-09

docker安装hadoop集群的方法是什么

要在Docker中安装Hadoop集群,可以按照以下步骤进行:1. 首先,确保已经安装了Docker和Docker Compose。2. 创建一个包含Hadoop集群配置的Docker Compose文件,例如`docker-compose
2023-08-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录