大数据技术之Hadoop:HDFS集群安装篇(三)

目录

分布式文件系统HDFS安装篇

一、为什么海量数据需要分布式存储

二、 分布式的基础架构分析

三、 HDFS的基础架构

四 HDFS集群环境部署

4.1 下载安装包

4.2 集群规划

4.3 上传解压

4.4 配置HDFS集群

4.5 准备数据目录

4.6 分发hadoop到其他服务器

4.7 配置环境变量

4.8 为普通用户授权

4.9 对整个文件系统进行格式化

4.10 启动、停止hdfs集群

4.11 查看HDFS webUI

五、虚拟机快照


此为个人学习笔记,包含个人归纳总结以及结合了对网络资源的整理,初衷是为了自己复习巩固。如果能帮到各位是我的荣幸!

该总结参考了黑马教程,感兴趣的也可以去观看相关视频。第二章-01-[理解]为什么需要分布式存储_哔哩哔哩_bilibili

分布式文件系统HDFS安装篇

一、为什么海量数据需要分布式存储

假如某个文件有100TB,试想哪台服务器能存下这么大的文件?

所以我们会搭建分布式服务集群,将这100TB的文件分成几份,分别发送到不同的服务器上。

当然,分布式不仅仅是解决了能存的问题, 多台服务器协同工作带来的也是性能的横向扩展。

也相当于是磁盘写入效率、传输效率的大大增加。

总结:

数据量太大,单机存储能力有上限,需要靠数量来解决问题。

数量的提升带来的是网络传输、磁盘读写、CPU、内存等各方面的综合提升。 分布式组合在一起可以达到1+1>2的效果。

二、 分布式的基础架构分析

数量多,在现实生活中往往带来的不是提升,而是:混乱

众多的服务器一起工作,是如何高效、不出问题呢?

大数据体系中,分布式的调度主要有2类架构模式:去中心化模式和中心化模式。

  • 大数据框架,大多数的基础架构上,都是符合:中心化模式的

    即:有一个中心节点(服务器)来统筹其它服务器的工作,统一指挥,统一调派,避免混乱。

    这种模式,也被称之为:一主多从模式,简称主从模式(Master And Slaves

  • 三、 HDFS的基础架构

什么是HDFS?

  • HDFSHadoop三大组件(HDFSMapReduceYARN)之一。

  • 全称是:Hadoop Distributed File SystemHadoop分布式文件系统)。

  • 它是Hadoop技术栈内提供的分布式数据存储解决方案。

  • 可以在多台服务器上构建存储集群,存储海量的数据。

  • HDFS是一个典型的主从模式架构

  • HDFS中的架构角色有哪些?

  • NameNode:主角色,管理HDFS集群和DataNode角色

  • DataNode:从角色,负责数据的存储

  • SecondaryNameNode:辅助角色,协助NameNode整理元数据

  • 四 HDFS集群环境部署

  • 4.1 下载安装包

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

  • 4.2 集群规划

    4.3 上传解压

  • 请确认已经完成前置准备中的服务器创建、固定IP、防火墙关闭、Hadoop用户创建、SSH免密、JDK部署等操作。

  • 1. 上传Hadoop安装包到centos100节点中

  • 2. 解压缩安装包到/opt/software/hadoop/中

  • tar -zxvf hadoop-3.3.4.tar.gz -C /opt/software/hadoop/
    

  • 3. 进入hadoop-3.3.4内

    各个文件夹含义如下

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

  • etc,存放Hadoop的配置文件

  • includeC语言的一些头文件

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

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

  • licenses-binary,存放许可证文件

  • sbin,管理员程序(super bin

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

4.4 配置HDFS集群

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

  • workers:  配置从节点(DataNode)有哪些
  • hadoop-env.sh:  配置Hadoop的相关环境变量
  • core-site.xml:  Hadoop核心配置文件
  • hdfs-site.xml:  HDFS核心配置文件

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

ps$HADOOP_HOME是后续我们要设置的环境变量,其指代Hadoop安装文件夹即/export/server/hadoop

配置workers文件

进入安装目录下的etc/hadoop目录。这里面存放了Hadoop的配置。编辑workers文件。

 设置为我们的服务器名称,表示集群记录了这三个节点。

 配置hadoop-env.sh文件

这个文件是Hadoop在运行时需要使用到的一些环境变量

# 填入如下内容
export JAVA_HOME=/opt/software/jdk
export HADOOP_HOME=/opt/software/hadoop/hadoop-3.3.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
  •  

     配置core-site.xml文件

    Hadoop的核心配置文件,主要配置HDFS文件系统的网络通讯地址和io操作文件缓冲区大小

  • 端口号一般大家都是用的8020,一般不建议更改。

<configuration><property><name>fs.defaultFS</name><value>hdfs://centos100:8020</value></property><property><name>io.file.buffer.size</name><value>131072</value></property>
</configuration>

配置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>centos100,centos101,centos102</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>
  •  

  • 4.5 准备数据目录

  • 刚刚配置文件种规定了namenode和datanode的文件存储位置,但是还没有创建该目录。所以接下来我们需要创建目录。

  • 在centos100节点:

  • mkdir -p /data/nn
    mkdir /data/dn
    

     在centos101节点和centos102节点:

  • mkdir -p /data/dn

  • 4.6 分发hadoop到其他服务器

    刚才我们安装、配置都是在centos100这台服务器上的,但是centos101和centos102这两台都还没有安装过hadoop,显然是不行的。

    所以,我们可以通过分发的方式,将Hadoop分发到centos101和centos102这两台服务器上。

    执行的时间可能比较长,要耐心等待。

    执行完毕后,我们去centos101和centos102这两台服务器看看,分发过来没。

    4.7 配置环境变量

    我们操作Hadoop的可执行命令,需要进入到它的bin目录下,然后执行对应的命令。

    但是我们觉得这样太麻烦了,能不能在任何地方都可以直接执行命令呢,当然可以。

    这需要我们配置环境变量。

    修改/etc/profile文件

    vim /etc/profile

    export HADOOP_HOME=/opt/software/hadoop/hadoop-3.3.4
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    让环境变量生效

    source /etc/profile

     然后在另外两台服务器中都同样配置一下。

    4.8 为普通用户授权

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

    为了确保安全,hadoop系统不以root用户启动,我们以普通用户hadoop来启动整个Hadoop服务

    所以,现在需要对文件权限进行授权。

    ps:请确保已经提前创建好了hadoop用户(前置准备章节中有讲述),并配置好了hadoop用户之间的免密登录

    root身份,在centos100、centos101、centos102三台服务器上均执行如下命令:

    # 以root身份,在三台服务器上均执行
    chown -R hadoop:hadoop /data
    chown -R hadoop:hadoop /opt
    

    -R 表示对子文件夹全部执行更改

    前一个hadoop表示账号,冒号后的hadoop表示hadoop账户组

    最后是要授权的路径

  •  

    4.9 对整个文件系统进行格式化

  • 前期准备全部完成,现在对整个文件系统执行初始化。

格式化namenode

# 确保以hadoop用户执行
su - hadoop
# 格式化namenode
hadoop namenode -format
  • 可以发现执行完成后,这个文件中就有数据了。

  • 至于这些文件是什么,后续再说。

  • 4.10 启动、停止hdfs集群

  • 下面我们以hadoop用户,在centos100上通过命令可以一键启动停止整个hdfs集群。
  • # 一键启动hdfs集群
    start-dfs.sh
    # 一键关闭hdfs集群
    stop-dfs.sh# 如果遇到命令未找到的错误,表明环境变量未配置好,可以以绝对路径执行
    /opt/oftware/hadoop/hadoop-3.3.4/sbin/start-dfs.sh
    /opt/oftware/hadoop/hadoop-3.3.4/sbin/stop-dfs.sh
    

  • 通过jps去另外两台服务器查看一下,也启动成功了。

  •  停止hdfs集群试试。
  • 4.11 查看HDFS webUI

  • 我们先不要关闭集群。然后通过web访问centos100这台服务器的9870端口,即可查看HDFS的web可视化页面。

     当然了,如果windows系统配置了host文件,将这几个ip地址映射了服务名,也可以直接用域名:9870的方式打开。


  •  

  • 五、虚拟机快照

  • 为了避免服务器出问题,导致我们辛辛苦苦搭建的集群崩溃掉。我们最好做一下快照保存。这样即使后面我们误操作,导致服务器崩溃掉,也可以恢复到我们当前这个阶段。
  • 好了,这部分内容暂时就梳理到这里。我们下个阶段见!

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

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

相关文章

OpenStack监控工具

OpenStack是一个开源的云计算管理平台项目&#xff0c;是一系列软件开源项目的组合。由NASA和Rackspace合作研发并发起&#xff0c;以Apache许可证&#xff08;Apache软件基金会发布的一个自由软件许可证&#xff09;授权。 OpenStack为私有云和公有云提供可扩展的弹性的云计算…

Cadvisor+InfluxDB+Grafan+Prometheus(详解)

目录 一、CadvisorInfluxDBGrafan案例概述 &#xff08;一&#xff09;Cadvisor Cadvisor 产品特点&#xff1a; &#xff08;二&#xff09;InfluxDB InfluxDB应用场景&#xff1a; InfluxDB主要功能&#xff1a; InfluxDB主要特点&#xff1a; &#xff08;三&#…

·[K8S:使用calico网络插件]:解决集群节点NotReady问题

文章目录 一&#xff1a;安装calico&#xff1a;1.1&#xff1a;weget安装Colico网络通信插件&#xff1a;1.2&#xff1a;修改calico.yaml网卡相关配置&#xff1a;1.2.1&#xff1a;查看本机ip 网卡相关信息&#xff1a;1.2.2&#xff1a;修改calico.yaml网卡interface相关信…

深度解读|一站式ABI平台 Smartbi Insight V11 能力再升级

纵观过去&#xff0c;我们发现汽车和BI的发展有异曲同工之妙。 100来年&#xff0c;汽车的动力从蒸汽到燃油再到新能源&#xff0c;汽车的操控方式从手动到自动再到智能无人驾驶。而在BI领域&#xff0c;自1958年BI的概念提出后&#xff0c;底层数据准备从报表开发、Cube多维模…

【CI/CD】Git Flow 分支模型

Git Flow 分支模型 1.前言 Git Flow 模型&#xff08;本文所阐述的分支模型&#xff09;构思于 2010 年&#xff0c;也就是 Git 诞生后不久&#xff0c;距今已有 10 多年。在这 10 多年中&#xff0c;Git Flow 在许多软件团队中大受欢迎。 在这 10 多年里&#xff0c;Git 本身…

最大子数组和【力扣53】

一、解题思路 Max[i]表示&#xff1a;以nums[i]为开头的所有连续子数组和的最大值。 由此可以推出Max[i-1]和Max[i]的关系&#xff1a; 若Max[i]>0&#xff1a;Max[i-1]nums[i-1]Max[i]&#xff1b; 否则&#xff1a;Max[i-1]nums[i-1]&#xff1b; 则ansMAX&#xff0…

RISC-V走向开放服务器规范

原文&#xff1a;RISC-V Moving Toward Open Server Specification 作者&#xff1a;Agam Shah 转载自&#xff1a;https://www.hpcwire.com/2023/07/24/risc-v-moving-toward-open-server-specification/ 中文翻译&#xff1a; 2023年7月24日 RISC-V International目前正…

亚马逊 EC2服务器下部署java环境

1. jdk 1.8 安装 1.1 下载jdk包 官网 Java Downloads | Oracle tar.gz 包 下载下来 1.2 本地连接 服务器 我用的是亚马逊的ec2 系统是 ubuntu 的 ssh工具是 Mobaxterm , 公有dns 创建实例时的秘钥 链接 Mobaxterm 因为使用的 ubuntu 所以登录的 名称 就是 ubuntu 然后 …

【Ubuntu】简化反向代理和个性化标签页体验

本文将介绍如何使用Docker部署Nginx Proxy Manager和OneNav&#xff0c;两个功能强大且易用的工具。Nginx Proxy Manager用于简化和管理Nginx反向代理服务器的配置&#xff0c;而OneNav则提供个性化的新标签页体验和导航功能。通过本文的指导&#xff0c;您将学习如何安装和配置…

程序使用Microsoft.XMLHTTP对象请求https时出错解决

程序中使用Microsoft.XMLHTTP组件请求https时出现如下错误&#xff1a; 出错程序代码示例&#xff1a; strUrl "https://www.xxx.com/xxx.asp?id11" dim objXmlHttp set objXmlHttp Server.CreateObject("Microsoft.XMLHTTP") objXmlHttp.open "…

Cesium相机理解

关于cesium相机&#xff0c;包括里面内部原理网上有很多人讲的都很清楚了&#xff0c;我感觉这两个人写的都挺好得&#xff1a; 相机 Camera | Cesium 入门教程 (syzdev.cn) Cesium中的相机—setView&lookAtTransform_cesium setview_云上飞47636962的博客-CSDN博客上面这…

【Linux】进程间通信——system V共享内存

目录 写在前面的话 System V共享内存原理 System V共享内存的建立 代码实现System V共享内存 创建共享内存shmget() ftok() 删除共享内存shmctl() 挂接共享内存shmat() 取消挂接共享内存shmdt() 整体通信流程的实现 写在前面的话 上一章我们讲了进程间通信的第一种方式…

Linux基础学习

文章目录 Linux命令学习Linux环境准备Linux命令行学习Linux命令行格式与文件系统linux实用命令笔记Linux文件权限查看 Linux命令学习 理解Linux命令是什么 &#xff08;图形化的操作&#xff0c;文件查看&#xff0c;浏览器打开&#xff09; 你打开一个谷歌浏览器&#xff0c;…

模拟实现消息队列项目(系列4) -- 服务器模块(内存管理)

目录 前言 1. 创建MemoryDataCenter 2. 封装Exchange 和 Queue方法 3. 封装Binding操作 4. 封装Message操作 4.1 封装消息中心集合messageMap 4.2 封装消息与队列的关系集合queueMessageMap的操作 5. 封装未确认消息集合waitMessage的操作 6. 从硬盘中恢复数据到内存中 7. Memo…

工具推荐:Wireshark网络协议分析工具(对比tcpdump)

文章首发地址 Wireshark是一款开源的网络协议分析工具&#xff0c;可以捕获网络数据包并对其进行详细的分析和解释。下面是Wireshark的详细介绍&#xff1a; Wireshark 工作原理 Wireshark通过捕获网络接口上的数据包&#xff0c;将其转换为可读的格式&#xff0c;并在界面…

vue3实现自定义select下拉框内容之城市区域篇

分享-2023年资深前端进阶&#xff1a;前端登顶之巅-最全面的前端知识点梳理总结 *分享一个使用比较久的&#x1fa9c; 需求分析&#xff1a; 1、实现一个区域下拉选项与现有ui组件库不同&#xff0c;支持多选、单选需求 2、支持选中区域后-全选中当前区域下的所有城市信息 3、…

安卓如何卸载应用

卸载系统应用 首先需要打开手机的开发者选项&#xff0c;启动usb调试。 第二步需要在电脑上安装adb命令&#xff0c;喜欢的话还可以将它加入系统path。如果不知道怎么安装&#xff0c;可以从这里下载免安装版本。 第三步将手机与电脑用数据线连接&#xff0c;注意是数据线&a…

贝叶斯深度学习的温和介绍

一、说明 欢迎来到令人兴奋的概率编程世界&#xff01;本文是对这个领域的温和介绍&#xff0c;你只需要对深度学习和贝叶斯统计有一个基本的了解。如果像我一样&#xff0c;你听说过贝叶斯深度学习&#xff0c;并且你猜它涉及贝叶斯统计&#xff0c;但你不知道它是如何使用的&…

GPT-4助力数据分析:提升效率与洞察力的未来关键技术 | 京东云技术团队

摘要 随着大数据时代的到来&#xff0c;数据分析已经成为企业和组织的核心竞争力。然而&#xff0c;传统的数据分析方法往往无法满足日益增长的数据分析需求的数量和复杂性。在这种背景下&#xff0c;ChatGPT-4作为一种先进的自然语言处理技术&#xff0c;为数据分析带来了革命…