搭建hadoop集群

news2024/11/20 18:40:49

搭建Hadoop集群

1,准备环节

Hadoop完全分布式集群式(master/slave)主从架构。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gxumqIR6-1684897919371)(E:\Java笔记\大数据\Hadoop\集群安装hadoop\安装hadoop.assets\image-20230523152205322.png)]

因为Hadoop是由java编写的,所以需要Java的环境支持,作为开发者我们需要安装jdk。

安装jdk的教程http://t.csdn.cn/6qJKg

下载Hadoop的安装包

Hadoop官网:http://hadoop.apache.org/

Hadoop版本下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz

安装jdk之后再克隆

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uf9ItctR-1684897919371)(安装hadoop.assets\image-20230516191828728.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ma8O1m3s-1684897919372)( 安装hadoop.assets\image-20230517142429706.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMXyv0hU-1684897919372)( 安装hadoop.assets\image-20230516191904260.png)]

设置节点

节点192.168.184.136

[root@192.168.184.136 ~]# hostnamectl set-hostname master
[root@192.168.184.136 ~]# reboot
[root@master ~]# 
[root@master ~]# vi /etc/hosts
192.168.184.136 master hadoop.master.com
192.168.184.137 slave01 hadoop.slave01.com
192.168.184.138 slave02 hadoop.slave02.com
192.168.184.139 slave03 hadoop.slave03.com

节点192.168.184.137

[root@192.168.184.137 ~]# hostnamectl set-hostname slave01
[root@192.168.184.137 ~]# reboot
[root@slave01 ~]#
[root@slave01 ~]# vi /etc/hosts
192.168.184.136 master hadoop.master.com
192.168.184.137 slave01 hadoop.slave01.com
192.168.184.138 slave02 hadoop.slave02.com
192.168.184.139 slave03 hadoop.slave03.com

节点192.168.184.138

[root@192.168.184.138 ~]# hostnamectl set-hostname slave02

[root@192.168.184.138 ~]# reboot
[root@slave02 ~]# 
[root@slave02 ~]# vi /etc/hosts
192.168.184.136 master hadoop.master.com
192.168.184.137 slave01 hadoop.slave01.com
192.168.184.138 slave02 hadoop.slave02.com
192.168.184.139 slave03 hadoop.slave03.com

节点192.168.184.139

[root@192.168.184.139 ~]# hostnamectl set-hostname slave03
[root@192.168.184.139 ~]# reboot
[root@slave03 ~]# 
[root@slave03 ~]# vi /etc/hosts
192.168.184.136 master hadoop.master.com
192.168.184.137 slave01 hadoop.slave01.com
192.168.184.138 slave02 hadoop.slave02.com
192.168.184.139 slave03 hadoop.slave03.com

关闭防火墙

systemctl stop firewalld	

设计集群ssh免登录

[root@master ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:83y1SQv5wiYdQFuHuTvnWeSRGfhZJYLjs+za+mdkt+4 root@master
The key's randomart image is:
+---[RSA 2048]----+
|          ..oo+ o|
|         .ooo+ o.|
|         .o. .. *|
|          o... *.|
|        S. o+.oo.|
|         +oo=*o+o|
|         .+o*==+ |
|         ..+o.+  |
|        o+oo oE  |
+----[SHA256]-----+

将公钥复制到其他机器中

[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub master
[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave01
[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave02
[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave03

验证ssh是否能够免密登录,

[root@master ~]# ssh slave01
Last login: Tue May 23 16:01:11 2023 from master
[root@slave01 ~]# exit
登出
Connection to slave01 closed.
[root@master ~]# ssh slave02
Last login: Tue May 23 15:57:48 2023 from slave01
[root@slave02 ~]# exit
登出
Connection to slave02 closed.
[root@master ~]# ssh slave03
Last login: Tue May 23 15:58:01 2023 from slave01
[root@slave03 ~]# exit
登出
Connection to slave03 closed

2,安装环节

主要在 master节点中安装即可,安装完毕可以通过scp命令直接拷贝文件分发到不同的节点中。赋予用户/data/hadoop目录的读写权限:

进入文件夹

[root@master ~]# cd /usr/local

存放安装包

安装包:hadoop-3.3.1.tar.gz放置在/usr/local文件夹中

[root@master local]# ls
hadoop-3.3.1.tar.gz  jdk1.8.0_291  jdk-8u291-linux-x64.tar.gz

解压

[root@ master hadoop]# tar -zxvf hadoop-3.3.1.tar.gz

更改环境变量

[root@ master ~]# vi /etc/profile
# 最后添加一下代码
export HADOOP_HOME=/usr/local/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kK7eJz9F-1684897919373)( 安装hadoop.assets\image-20230517145753167.png)]

更新环境变量

[root@ master ~]# source /etc/profile

验证安装

主要在 master节点中安装即可,安装完毕可以通过scp命令直接拷贝文件分发到不同的节点中。赋予用户/data/hadoop目录的读写权限:

[root@ master ~]# hadoop version
# 有以下信息说明安装成功
Hadoop 3.3.1
Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2
Compiled by ubuntu on 2021-06-15T05:13Z
Compiled with protoc 3.7.1
From source with checksum 88a4ddb2299aca054416d6b7f81ca55
This command was run using /usr/local/hadoop/hadoop-3.3.1/share/hadoop/common/hadoop-common-3.3.1.jar

修改配置文件

[root@master ~]# cd /usr/local/hadoop-3.3.1/etc/hadoop/
[root@master hadoop]# ll
总用量 176
-rw-r--r--. 1 1000 1000  9213 615 2021 capacity-scheduler.xml
-rw-r--r--. 1 1000 1000  1335 615 2021 configuration.xsl
-rw-r--r--. 1 1000 1000  2567 615 2021 container-executor.cfg
-rw-r--r--. 1 1000 1000   774 615 2021 core-site.xml
-rw-r--r--. 1 1000 1000  3999 615 2021 hadoop-env.cmd
-rw-r--r--. 1 1000 1000 16654 615 2021 hadoop-env.sh
-rw-r--r--. 1 1000 1000  3321 615 2021 hadoop-metrics2.properties
-rw-r--r--. 1 1000 1000 11765 615 2021 hadoop-policy.xml
-rw-r--r--. 1 1000 1000  3414 615 2021 hadoop-user-functions.sh.example
-rw-r--r--. 1 1000 1000   683 615 2021 hdfs-rbf-site.xml
-rw-r--r--. 1 1000 1000   775 615 2021 hdfs-site.xml
-rw-r--r--. 1 1000 1000  1484 615 2021 httpfs-env.sh
-rw-r--r--. 1 1000 1000  1657 615 2021 httpfs-log4j.properties
-rw-r--r--. 1 1000 1000   620 615 2021 httpfs-site.xml
-rw-r--r--. 1 1000 1000  3518 615 2021 kms-acls.xml
-rw-r--r--. 1 1000 1000  1351 615 2021 kms-env.sh
-rw-r--r--. 1 1000 1000  1860 615 2021 kms-log4j.properties
-rw-r--r--. 1 1000 1000   682 615 2021 kms-site.xml
-rw-r--r--. 1 1000 1000 13700 615 2021 log4j.properties
-rw-r--r--. 1 1000 1000   951 615 2021 mapred-env.cmd
-rw-r--r--. 1 1000 1000  1764 615 2021 mapred-env.sh
-rw-r--r--. 1 1000 1000  4113 615 2021 mapred-queues.xml.template
-rw-r--r--. 1 1000 1000   758 615 2021 mapred-site.xml
drwxr-xr-x. 2 1000 1000    24 615 2021 shellprofile.d
-rw-r--r--. 1 1000 1000  2316 615 2021 ssl-client.xml.example
-rw-r--r--. 1 1000 1000  2697 615 2021 ssl-server.xml.example
-rw-r--r--. 1 1000 1000  2681 615 2021 user_ec_policies.xml.template
-rw-r--r--. 1 1000 1000    10 615 2021 workers
-rw-r--r--. 1 1000 1000  2250 615 2021 yarn-env.cmd
-rw-r--r--. 1 1000 1000  6329 615 2021 yarn-env.sh
-rw-r--r--. 1 1000 1000  2591 615 2021 yarnservice-log4j.properties
-rw-r--r--. 1 1000 1000   690 615 2021 yarn-site.xml

修改core-site.xml文件

# 查看本机名称
[root@ master hadoop]# hostname
 master
[root@ master hadoop]# vi core-site.xml

添加如下代码

<configuration>
      <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:8020</value>
        </property>
        
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/data/hadoop/temp</value>
        </property>
</configuration>
  • fs.defaultFSnameNode的HDFS协议的文件系统通信地址
  • hadoop.tmp.dirHadoop集群在工作的时候存储的一些临时文件的目录

修改hadoop-env.sh文件

[root@master hadoop]# vi hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_291

修改yarn-env.sh文件

[root@master hadoop]# vi yarn-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_291

修改hdfs-site.xml文件

[root@hadoop1 hadoop]# vi hdfs-site.xml

添加如下代码:

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///data/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///data/hadoop/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.nomenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>
    <property>
        <name>dfs.http.address</name>
        <value>192.168.184.136:50070</value>
    </property>
</configuration>

  • dfs.namenode.name.dirNameNode的数据存放目录
  • dfs.datanode.data.dirDataNode的数据存放目录
  • dfs.replicationHDFS的副本数
  • dfs.secondary.http.addressSecondaryNameNode节点的HTTP入口地址
  • dfs.http.address:通过HTTP访问HDFSWeb管理界面的地址

修改mapred-site.xml文件

[root@ master hadoop]# vi mapred-site.xml

添加如下代码:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
</configuration>

  • mapreduce.framework.name:选用yarn,也就是MR框架使用YARN进行资源调度。

修改yarn-site.xml文件

[root@ master hadoop]# vi yarn-site.xml

添加如下代码:

<configuration>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
  <name>yarn.resourcemanager.address</name>
    <value>192.168.184.136:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>192.168.184.136:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>192.168.184.136:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>192.168.184.136:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>192.168.184.136:8088</value>
  </property>
    <property>
    <!--开启日志聚集功能-->
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
</configuration>
  • yarn.resourcemanager.hostname:指定ResourceManager所在的主机名
  • yarn.nodemanager.aux-services:指定YARN集群为MapReduce程序提供Shuffle服务

修改workers文件

[root@master hadoop]# vi workers
# 删除localhost
# 添加
slave01
slave02
slave03

修改start-dfs.sh和stop-dfs.sh

[root@master ~]# cd /usr/local/hadoop-3.3.1/sbin/
[root@master sbin]# vi start-dfs.sh
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

[root@master sbin]# vi stop-dfs.sh
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

修改start-yarn.sh和stop-yarn.sh

[root@master sbin]# vi start-yarn.sh
YARN_RESOURCEmANAGER_USER=root
HADOOP_SECURE_DE_USER=yarn
YARN_NODEMANAGER_USER=root


[root@master sbin]# vi stop-yarn.sh
YARN_RESOURCEmANAGER_USER=root
HADOOP_SECURE_DE_USER=yarn
YARN_NODEMANAGER_USER=root
	

分发Hadoop安装包到其他节点

  • 所有节点的Hadoop安装包位置和配置信息必须一致

在节点 master使用scp命令进行分发:

[root@ master ~]# scp -r /usr/local/hadoop-3.3.1 hadoop@hadoop01:/usr/local
[root@ master ~]# scp -r /usr/local/hadoop-3.3.1 hadoop@hadoop02:/usr/local

[root@ master ~]# scp -r /usr/local/hadoop-3.3.1 hadoop@hadoop03:/usr/local

初始化文件系统

[root@hadoop1 hadoop]# hdfs namenode -format

出现下以下情况说明成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bNL8KWTf-1684897919374)(E:\Java笔记\大数据\Hadoop\安装Hadoop\Hadoop.assets\image-20230516143924690.png)]

修改宿主机的host文件地址

C:\Windows\System32\drivers\etc\host

host是一个没有扩展名的系统文件,起作用是将一些常用的域名与其对应的ip地址建立一个关联,

192.168.184.136 master hadoop.master.com
192.168.184.137 slave01 hadoop.slave01.com
192.168.184.138 slave02 hadoop.slave02.com
192.168.184.139 slave03 hadoop.slave03.com

启动hdfs和启动yarn

[root@master hadoop]# start-dfs.sh
[root@master hadoop]# start-yarn.sh

[root@master hadoop]# jps
4150 SecondaryNameNode
5053 Jps
3886 NameNode
3498 resourcemanager
# 查看三个三台从机的信息
[root@slave01 hadoop]# jps
1376 DataNode
1656 Jps
7655 NodeManager
[root@slave02 hadoop]# jps
1378 DataNode
1610 Jps
7659 NodeManager
[root@slave03 hadoop]# jps
1380 DataNode
1661 Jps
7658 NodeManager

http://master:5007
在这里插入图片描述
http://master:8088/cluster

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Snb4SnuK-1684900531385)(E:\Java笔记\大数据\Hadoop\集群安装hadoop\安装hadoop.assets\image-20230524115219414.png)]

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

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

相关文章

spring(不是springboot)集成apllo方案

现在到处都是基于 springboot 的微服务项目。 不巧手头碰到了一个 spring 的项目&#xff0c;打war包直接放到tomcat中启动的。 现在要将apollo集成进来&#xff0c;要求 Access Key 不可以放在properties 配置文件中&#xff0c;要统一使用apollo来管理。 步骤如下&#xff1a…

《计算机网络——自顶向下方法》精炼——3.5.5-3.6.1

学习是劳动&#xff0c;是充满思想的劳动。——乌申斯基 文章目录 TCP流量控制TCP连接管理建立TCP连接拆除TCP连接TCP状态的转换 TCP拥塞控制情况1&#xff1a;两个发送方&#xff0c;一个无限缓存的路由器情况2&#xff1a;两台主机&#xff0c;一台具有有限缓存的路由器情况3…

【源码解析】EasyExcel导入导出源码解析

EasyExcel介绍 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存&#xff0c;poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题&#xff0c;但POI还是有一些缺陷&#xff0c;比如07版Excel解压缩以及解压后存储都…

XPCIE1032 — 高速高精,超快交互速率的PCIe EtherCAT实时运动控制卡

产品导读 XPCIE1032是一款基于PCI Express的EtherCAT总线运动控制卡&#xff0c;可选4-16轴运动控制&#xff0c;支持多路高速数字输入输出&#xff0c;可轻松实现多轴同步控制和高速数据传输。 XPCIE1032集成了强大的运动控制功能&#xff0c;结合MotionRT7运动控制实时软核…

PyQt5桌面应用开发(17):中文书评+类结构+QWebEngineView

本文目录 PyQt5桌面应用系列PyQt5学习PyQt5类结构和帮助速查实现与解释最终界面和完整源代码界面完整的代码 总结 PyQt5桌面应用系列 PyQt5桌面应用开发&#xff08;1&#xff09;&#xff1a;需求分析 PyQt5桌面应用开发&#xff08;2&#xff09;&#xff1a;事件循环 PyQt5桌…

【中危】Apache Ranger 2.3.0 存在远程代码执行漏洞

漏洞描述 Apache Ranger 是一款用于在 Hadoop 平台及其他平台启用、监控和管理全面的数据安全性的开源框架。Apache Ranger 表达式策略是一种动态访问控制策略&#xff0c;通过自定义表达式来指定更细粒度的访问控制条件。 Apache Ranger 受影响版本中具有管理员权限或策略管…

【微博-自定义Cell-创建子控件 Objective-C语言】

一、自定义Cell 1.既然我们要自定义Cell,这个自定义Cell,属于MVC哪个部分, 这个Cell类,属于MVC哪个部分, Model、Controller、还是View, View吧, 所以说,应该在这里去新建一个类, 在这里去新建一个类,右键,New File,

SpringBoot中使用枚举类、switch、常量类(声明并初始化map)实现类策略者模式,接口返回常量数据

场景 SpringBoot中策略模式工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else&#xff1a; SpringBoot中策略模式工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else_霸道流氓气质的博客-CSDN博客 SpringBootVa…

Python对Excel文件多表对多表之间的匹配(两种不同表头)——之json版

首先Excel文件多表对多表之间的匹配(VLOOKUP),有多种办法&#xff0c; 1&#xff1a;将Excel文件导入Mysql或其他数据库,然后将两种表合并成一张表&#xff0c;接着用数据库匹配 2&#xff1a;将两种表内容&#xff0c;复制粘贴到一起&#xff0c;各自分别保存成一张表&#xf…

伦茨科技带你了解蓝牙App开发的流程

随着移动互联网的快速发展&#xff0c;给我们的生活带来了越来越多的便利&#xff0c;蓝牙App的开发也越来越普及。那么&#xff0c;简单来说&#xff0c;蓝牙App软件的开发就是在手机上为蓝牙物理设备提供具有相关功能的App软件终端&#xff0c;让蓝牙设备更方便的为用户提供服…

appsync unified怎么安装

一、什么是AppSync Unified&#xff1f; AppSync Unified是一款iOS设备上的越狱插件&#xff0c;它可以帮助用户安装和运行未经苹果审核的应用程序和插件。AppSync Unified可以支持iOS 11-14系统&#xff0c;并可以在iPhone和iPad上使用。它的功能主要是允许用户安装和运行不经…

电脑正常开机后几分钟就黑屏一直循环怎么办?

电脑正常开机后几分钟就黑屏一直循环怎么办&#xff1f;有用户在使用电脑的时候&#xff0c;正常去进行电脑的开机&#xff0c;但是开机之后&#xff0c;却发现屏幕变成了黑屏&#xff0c;而且重新启动电脑之后&#xff0c;依然是会出现这样的问题&#xff0c;那么这个情况怎么…

mmdetection3d框架安装与Demo模型运行--基于Ubuntu18.04+Cuda10.1

1.NVIDIA Driver和Cuda安装 在Ubuntu18.04机器上安装好NVIDIA Driver4.18和CUDA10.1&#xff0c;版本号分别为4.18和10.1 查看NVIDIA Driver版本号&#xff1a;nvidia-smi 查看CUDA版本号&#xff1a;nvcc -V 2.安装MiniConda&#xff0c;并创建和管理虚拟环境 2.1 安装Min…

八、数据仓库详细介绍(监控告警)

1. 前言 在前边的章节&#xff0c;我们设计完存储模型&#xff0c;开发了 ETL 任务&#xff0c;并且配置好流程依赖&#xff0c;然后上调度系统&#xff0c;至此我们的数据仓库基本搭建完成&#xff0c;而且所有流程任务都可以自动化运转了。 随着公司上线的数据处理任务越来越…

Linux - 第17节 - 网络基础(应用层三)

1.HTTPS协议 1.1.HTTPS简介 HTTPS也是⼀个应⽤层协议&#xff0c;是在HTTP协议的基础上引⼊了⼀个加密层。 HTTP协议内容都是按照文本的方式明文传输的&#xff0c;明文传输是不安全的&#xff0c;所以现在主流的解决 方式是在http所在的应用层和tcp所在的传输层之间加一层SSL…

Windows操作系统的文件组织结构和计算方法

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天总结一下Windows操作系统的文件组织结构和计算方法。 这是一块非常实用的知识&#xff0c;感谢大家来看这个帖子。 Windows组织结构就是文件的组织形式&#xff0c;其中&#xff1a; 1.Windows逻辑结构…

HTTPS的加密流程

HTTPS的加密流程 &#x1f50e;加密&#x1f50e;HTTPS的基本工作过程使用对称加密引入非对称加密黑客的反制(中间人攻击)一山更比一山高(引入证书) &#x1f50e;结尾 &#x1f50e;加密 加密 对称加密非对称加密 对称加密&#x1f36d; 只需要一个密钥(Key) 明文 Key 密…

【Java系列】深入解析枚举类型

序言 即便平凡的日子仿佛毫无波澜&#xff0c;但在某个特定的时刻&#xff0c;执着的努力便会显现出它的价值和意义。 希望这篇文章能让你不仅有一定的收获&#xff0c;而且可以愉快的学习&#xff0c;如果有什么建议&#xff0c;都可以留言和我交流 问题 思考一下这寄个问题&a…

行为型设计模式01-策略模式

✨作者&#xff1a;猫十二懿 ❤️‍&#x1f525;账号&#xff1a;CSDN 、掘金 、个人博客 、Github &#x1f389;公众号&#xff1a;猫十二懿 策略模式 问题引入&#xff1a;实现一个商场收银软件&#xff0c;简单的实现就是单价和数量的乘积。 1、商场收银软件 下面就来看…

掌握RDD分区

零、本讲学习目标 学会如何指定分区数量会定义与使用自定义分区器 一、RRD分区 &#xff08;一&#xff09;RDD分区概念 RDD是一个大的数据集合&#xff0c;该集合被划分成多个子集合分布到了不同的节点上&#xff0c;而每一个子集合就称为分区&#xff08;Partition&#…