HDFS详细介绍以及HDFS集群环境部署【hadoop组件HDFS笔记】(图片均为学习时截取的)

 HDFS详细介绍

HDFS是什么

 HDFS是Hadoop三大组件(HDFS、MapReduce、YARN)之一 全称是:Hadoop Distributed File System(Hadoop分布式文件系统);是Hadoop技术栈内提供的分布式数据存储解决方案 可以在多台服务器上构建存储集群,存储海量的数据。

了解为什么海量数据需要使用分布式存储技术

答:1、太大,单台服务器无法承担。

        2、靠数量取胜 多台服务器组合,才能Hold住。

        3、分布式不仅仅是解决了能存的问题, 多台服务器协同工作 带来的也是性能的横向扩展。(网络传输、磁盘读写、CPU、内存等各方面的综合提升)——分布式的性能提升。

        

 HDFS的基础架构

 

 

 一个典型的HDFS集群,就是由1个DataNode加若干(至少一个)DataNode组成。 

 

 HDFS各个组件介绍
 NameNode:

HDFS系统的主角色,是一个独立的进程 负责管理HDFS整个文件系统 负责管理DataNode。

 SecondaryNameNode:

NameNode的辅助,是一个独立进程 主要帮助NameNode完成元数据整理工作(打杂)。

 DataNode:

HDFS系统的从角色,是一个独立进程 主要负责数据的存储,即存入数据和取出数据。

HDFS集群环境部署

注意:请完成集群前置准备工作:

配置多台虚拟机:http://t.csdnimg.cn/hGqMzicon-default.png?t=N7T8http://t.csdnimg.cn/hGqMz
ip固定http://t.csdnimg.cn/4IqRcicon-default.png?t=N7T8http://t.csdnimg.cn/4IqRc
主机映射:http://t.csdnimg.cn/1C15xicon-default.png?t=N7T8http://t.csdnimg.cn/1C15x
ssh免密登录:http://t.csdnimg.cn/dEITyicon-default.png?t=N7T8http://t.csdnimg.cn/dEITy
Jdk:http://t.csdnimg.cn/zKRC7icon-default.png?t=N7T8http://t.csdnimg.cn/zKRC7
关闭防火墙以及SELinux关闭:http://t.csdnimg.cn/K19d7icon-default.png?t=N7T8http://t.csdnimg.cn/K19d7

为了系统的安全和稳定,建议使用自建的用户来管理大数据相关的软件,这里使用hadoop用户为HDFS最高权限用户。

下载

官方网址:https://hadoop.apache.org,课程使用当前最新的发行版:3.3.4版。

 上传 & 解压(我的Hadoop版本为3.3.4)

注意标红位置,改写为自己想放的路径,我的软件通常都放在/export/server!!!!!!!!!

 1. 上传Hadoop安装包到node1节点中。

自己选择弄

2. 解压缩安装包到/export/server/中

tar -zxvf hadoop-3.3.4.tar.gz  -C /export/server

3. 构建软链接

ln -s /export/server/hadoop-3.3.4 hadoop

4. 进入hadoop安装包内

cd hadoop

5. 各个文件夹含义如下 

bin,存放Hadoop的各类程序(命令)

etc,存放Hadoop的配置文件 include,C语言的一些头文件

ib,存放Linux系统的动态链接库(.so文件)

libexec,存放配置Hadoop系统的脚本文件(.sh和.cmd)

licenses-binary,存放许可证文件 sbin,管理员程序(super bin)

share,存放二进制源码(Java jar包) 

 修改配置文件,应用自定义设置

1.  配置HDFS集群,我们主要涉及到如下文件的修改:

workers:        配置从节点(DataNode)有哪些

hadoop-env.sh:        配置Hadoop的相关环境变量

core-site.xml:        Hadoop核心配置文件

hdfs-site.xml:        HDFS核心配置文件

这些文件均存在与$HADOOP_HOME/etc/hadoop文件夹中。

2.  配置workers文件

进入配置文件目录

cd etc/hadoop

编辑workers文件

vim workers

填入如下内容

node1

node2

node3

 表明集群记录了三个从节点(DataNode)

3. 配置hadoop-env.sh文件

export JAVA_HOME=/export/server/jdk

export HADOOP_HOME=/export/server/hadoop

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export HADOOP_LOG_DIR=$HADOOP_HOME/logs

变量解释: 

JAVA_HOME,指明JDK环境的位置在哪

HADOOP_HOME,指明Hadoop安装位置

HADOOP_CONF_DIR,指明Hadoop配置文件目录位置

HADOOP_LOG_DIR,指明Hadoop运行日志目录位置

通过记录这些环境变量, 来指明上述运行时的重要信息 

 4.配置core-site.xml文件

 在文件内部填入如下内容

<configuration>  

        <property>    

                <name>fs.defaultFS</name>    

                <value>hdfs://node1:8020</value>  

        </property>  

        <property>    

                <name>io.file.buffer.size</name>    

                <value>131072</value>  

        </property>

</configuration>

 name:fs.defaultFS

含义:HDFS文件系统的网络通讯路径

value:hdfs://node1:8020

协议为hdfs://

namenode为node1

namenode通讯端口为8020

name:io.file.buffer.size

含义:io操作文件缓冲区大小

value:131072 bit

hdfs://node1:8020为整个HDFS内部的通讯地址,应用协议为hdfs://(Hadoop内置协议) 表明DataNode将和node1的8020端口通讯,node1是NameNode所在机器 此配置固定了node1必须启动NameNode进程

 5. 配置hdfs-site.xml文件

在文件内部填入如下内容

<configuration>  

        <property>    

                <name>dfs.datanode.data.dir.perm</name>    

                <value>700</value>  

        </property>  

        <property>    

                <name>dfs.namenode.name.dir</name>    

                <value>/data/nn</value>  

        </property>  

        <property>    

                <name>dfs.namenode.hosts</name>    

                <value>node1,node2,node3</value>  

        </property>

        <property>    

                <name>dfs.blocksize</name>    

                <value>268435456</value>  

        </property>  

        <property>    

                <name>dfs.namenode.handler.count</name>    

                <value>100</value>  

        </property>  

        <property>    

                <name>dfs.datanode.data.dir</name>    

                <value>/data/dn</value>  

        </property>

</configuration>

 解释

根据

namenode数据存放node1的/data/nn

datanode数据存放node1、node2、node3的/data/dn

所以应该 在node1节点:

mkdir -p /data/nn

mkdir /data/dn

在node2和node3节点:

mkdir -p /data/dn

 从node1将hadoop安装文件夹远程复制到node2、node3

 分发
 node1执行如下命令

cd /export/server

scp -r hadoop-3.3.4 node2:`pwd`/

scp -r hadoop-3.3.4 node3:`pwd`/

 在node2执行,为hadoop配置软链接

ln -s /export/server/hadoop-3.3.4 /export/server/hadoop

 在node3执行,为hadoop配置软链接

 ln -s /export/server/hadoop-3.3.4 /export/server/hadoop

 配置系统的环境变量

所有机器

vim /etc/profile

export HADOOP_HOME=/export/server/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 授权为hadoop用户

 hadoop部署的准备工作基本完成

为了确保安全,hadoop系统不以root用户启动,我们以普通用户hadoop来启动整个Hadoop服务 所以,现在需要对文件权限进行授权。

 注意:请确保已经提前创建好了hadoop用户,并配置好了hadoop用户之间的免密登录!!!!

以root身份,在node1、node2、node3(所有机器)三台服务器上均执行如下命令 

chown -R hadoop:hadoop /data

chown -R hadoop:hadoop /export

 格式化整个文件系统

格式化namenode

 确保以hadoop用户执行(否则会出问题,能解决,但请自行寻找解决办法)

su - hadoop

格式化namenode

hadoop namenode -format

 启动

 # 一键启动hdfs集群

start-dfs.sh

# 一键关闭hdfs集群

stop-dfs.sh

# 如果遇到命令未找到的错误,表明环境变量未配置好,可以以绝对路径执行 /export/server/hadoop/sbin/start-dfs.sh

/export/server/hadoop/sbin/stop-dfs.sh

 查看HDFS WEBUI

 启动完成后,可以在浏览器打开: http://node1:9870,即可查看到hdfs文件系统的管理网页。

注意:没有配置windows系统的主机映射,将node1改为主机node1的ip!!!!!!!!

 ip固定http://t.csdnimg.cn/4IqRcicon-default.png?t=N7T8http://t.csdnimg.cn/4IqRc

 

在Windows挂载HDFS文件系统

NFSicon-default.png?t=N7T8http://t.csdnimg.cn/hq3CU

 配置hadoop组件yarn:待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/38145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云计算【第一阶段(21)】Linux引导过程与服务控制

目录 一、linux操作系统引导过程 1.1、开机自检 1.2、MBR引导 1.3、GRUB菜单 1.4、加载 Linux 内核 1.5、init进程初始化 1.6、简述总结 1.7、初始化进程centos 6和7的区别 二、排除启动类故障 2.1、修复MBR扇区故障 2.1.1、 实验 2.2、修复grub引导故障 2.2.1、实…

敏捷开发笔记(第9章节)--开放-封闭原则(OCP)

目录 1&#xff1a;PDF上传链接 9.1 开放-封闭原则&#xff08;OCP&#xff09; 9.2 描述 9.3 关键是抽象 9.3.1 shape应用程序 9.3.2 违反OCP 糟糕的设计 9.3.3 遵循OCP 9.3.4 是的&#xff0c;我说谎了 9.3.5 预测变化和“贴切的”结构 9.3.6 放置吊钩 1.只受一次…

团队任务管理跟踪软件有哪些?分享2024年值得关注的10款

本文将分享2024年值得关注的10款团队任务管理跟踪软件&#xff1a;Worktile、PingCode、Zoho Projects、Wrike、ProofHub、Connecteam、MeisterTask、Nifty、BIGContacts、Hive。 无论是小型初创企业还是庞大的跨国公司&#xff0c;高效的任务管理都能显著提升工作效率&#xf…

面试框架一些小结

springcloud的⼯作原理 springcloud由以下⼏个核⼼组件构成&#xff1a; Eureka&#xff1a;各个服务启动时&#xff0c;Eureka Client都会将服务注册到Eureka Server&#xff0c;并且Eureka Client还可以反过来从Eureka Server拉取注册表&#xff0c; 从⽽知道其他服务在哪⾥ …

新能源行业知识体系-------主目录-----持续更新

本文相当于目录方便快速检索内容&#xff0c;没有实际内容&#xff0c;只做索引 文章目录 一、电力市场概论二、蒙西电网需求侧响应三、蒙西电网市场结算V2.0 一、电力市场概论 是学习清华大学电力市场概论(2024年春)的学习笔记&#xff0c;详细了解电力市场是如何利用经济学知…

48 - 按日期分组销售产品(高频 SQL 50 题基础版)

48 - 按日期分组销售产品 -- group_concat 分组拼接selectsell_date,count(distinct product) num_sold,group_concat(distinct product order by product separator ,) products fromActivities group bysell_date;

grpc教程——proto文件转go

【1】编写一个proto文件 syntax "proto3"; package myproto;service NC{rpc SayStatus (NCRequest) returns (NCResponse){} }message NCRequest{ string name 1; } message NCResponse{string status 1; } 【2】转换&#xff1a;protoc --go_out. myservice.pro…

mmdetection2.28修改backbone不使用预训练参数、从头训练

背景 最近需要测试一下在backbone部分如果不使用预训练参数的话&#xff0c;模型需要多少轮才能收敛所使用的backbone是mmcls.ConvNeXtmmdetection版本为2.28.2&#xff0c;mmcls版本为0.25.0 修改流程 最简单的方法&#xff0c;直接去mmcls的model zoo里找到对应backbone的…

SpringBoot:使用Spring Batch实现批处理任务

引言 在企业级应用中&#xff0c;批处理任务是不可或缺的一部分。它们通常用于处理大量数据&#xff0c;如数据迁移、数据清洗、生成报告等。Spring Batch是Spring框架的一部分&#xff0c;专为批处理任务设计&#xff0c;提供了简化的配置和强大的功能。本文将介绍如何使用Spr…

单晶层状氧化物制作方法技术资料 纳离子技术

网盘 https://pan.baidu.com/s/1hjHsXvTXG74-0fDo5TtXWQ?pwd10jk 单晶型高熵普鲁士蓝正极材料及其制备方法与应用.pdf 厘米级铬氧化物单晶及其制备方法和存储器件.pdf 多孔氧化物单晶材料及其制备方法和应用.pdf 大单晶层状氧化物正极材料及其制备方法和应用.pdf 富钠P2相层状…

docker k8s

1、docker是什么&#xff1f; 将环境和程序一起打包给到 服务器运行的工具软件。 2、基础镜像base image是什么&#xff1f; 操作系统&#xff1a;用户空间、内核空间 阉割操作系统&#xff0c;利用其的用户空间&#xff08;因为应用程序运行在用户空间&#xff09;&#xf…

【机器学习】在【Pycharm】中的应用:【线性回归模型】进行【房价预测】

专栏&#xff1a;机器学习笔记 pycharm专业版免费激活教程见资源&#xff0c;私信我给你发 python相关库的安装&#xff1a;pandas,numpy,matplotlib&#xff0c;statsmodels 1. 引言 线性回归&#xff08;Linear Regression&#xff09;是一种常见的统计方法和机器学习算法&a…

弹性力学讲义

弹性力学讲义 1. 基本假设和一些概念2. 应力3. 二维应力状态与摩尔库伦屈服准则 1. 基本假设和一些概念 力学&#xff1a;变形体力学–固体力学和流体力学&#xff08;连续介质力学&#xff09; 刚体力学–理论力学&#xff08;一般力学&#xff09; 物理受理后&#xff1a;要…

Facebook的投流技巧有哪些?

相信大家都知道Facebook拥有着巨大的用户群体和高转化率&#xff0c;在国外社交推广中的影响不言而喻。但随着Facebook广告的竞争越来越激烈&#xff0c;在Facebook广告上获得高投资回报率也变得越来越困难。IPIDEA代理IP今天就教大家如何在Facebook上投放广告的技巧&#xff0…

python–基础篇–正则表达式–是什么

文章目录 定义一&#xff1a;正则表达式就是记录文本规则的代码定义一&#xff1a;正则表达式是一个特殊的字符序列&#xff0c;用于判断一个字符串是否与我们所设定的字符序列是否匹配&#xff0c;也就是说检查一个字符串是否与某种模式匹配。初识 Python 正则表达式 定义一&a…

D : 合适的顺序

Description 给定 8 个数&#xff0c;如果将它们排成一列&#xff0c;每个数的权值是它与相邻的数之积&#xff0c;求一个排列方式&#xff0c;所有数的权值之和最大&#xff0c;输出该权值和. 例如 13242315 的权值和为 1∗33∗1∗22∗3∗44∗2∗22∗4∗33∗2∗11∗3∗55∗1…

新工具:轻松可视化基因组,部分功能超IGV~

本次分享一个Python基因组数据可视化工具figeno。 figeno擅长可视化三代long reads、跨区域基因组断点视图&#xff08;multi-regions across genomic breakpoints&#xff09;、表观组数据&#xff08;HiC、ATAC-seq和ChIP-seq等&#xff09;可视化、WGS中的CNV和SV可视化等。…

小米平板6系列对比

小米平板6系列目前有4款&#xff0c;分别为6、6 Pro、6 Max、6S Pro。具体对比如下表所示。 小米平板型号66 Pro6 Max6S Pro实物图发布时间2023年4月21日2023年4月21日2023年8月14日2024年2月22 日屏幕大小11英寸11英寸14英寸12.4英寸分辨率2.8K2.8K2.8K3K刷新率144Hz144Hz120…

43 - 部门工资前三高的所有员工(高频 SQL 50 题基础版)

43 - 部门工资前三高的所有员工 # dense_rank 排名selectDepartment,Employee,Salary from(selectd.name as Department,e.name as Employee,e.salary as Salary,(dense_rank() over (partition by d.name order by e.salary desc)) as rankingfrom Employee e left join Depar…

intellij idea安装R包ggplot2报错问题求解

1、intellij idea安装R包ggplot2问题 在我上次解决图形显示问题后&#xff0c;发现安装ggplot2包时出现了问题&#xff0c;这在之前高版本中并没有出现问题&#xff0c; install.packages(ggplot2) ERROR: lazy loading failed for package lifecycle * removing C:/Users/V…