大数据--Hadoop环境部署(4)Hadoop集群部署

2023-11-16

Hadoop集群的部署方式分为三种,分别是独立模式(Standalone mode)、伪分布式模式(Pseudo-Distributed mode)和完全分布式模式(Cluster mode),独立模式和伪分布式模式主要用于学习和调试,完全分布式通常在实际生产环境使用。
为了提高Hadoop集群的高可用性,通常使用ZooKeeper为Hadoop集群提供自动故障转移和数据一致性服务

一.Hadoop高可用集群的规划

1.规划三台虚拟机的Hadoop高可用集群

为了提高Hadoop集群的高可用性,集群中至少需要两个NameNode节点(一个主节点,一个备用节点)和两个ResourceManager节点 (一个主节点,一个备用节点)以满足HDFS和YARN的高可用性,同时为了满足“过半写入则成功”的原则,集群中至少需要三个 JournalNode节点。

虚拟机

主机名

Name

Node

Data

Node

Resource

Manager

Node

Manager

Journal

Node

ZooKeeper

ZKFC

Node_01

node01

1 1 1 1 1 1 1

Node_02

node02

1 1 1 1 1 1 1

Node_03

node03

1 1 1 1

2.高可用相关服务介绍

(1)Zookeeper:表示Zookeeper服务。
(2)DataNode:存储真实的数据文件,周期性向NameNode汇报心跳和数据块信息。
(3)NameNode:存储元数据信息以及数据文件与数据块的对应信息。
(4)JournalNode:负责两个NameNode之间通信,JournalNode通常在DataNode节点启动。
(5)ZKFC:ZooKeeper的客户端,用于监视和管理NameNode的状态,运行NameNode的每台机器都需要运行ZKFC。
(6)ResourceManager:负责集群中所有资源的统一管理和分配,接收NodeManager的资源汇报信息,并把这些信息按照一定策略分配给各应用程序。
(7)NodeManager:执行应用程序的容器,监控应用程序资源使用情况并调度器ResourceManager汇报。

二.安装Hadoop

1.下载安装包+上传+解压

官网:https://archive.apache.org/dist/hadoop/common/

我下载的是hadoop-2.7.4.tar.gz(老师要求),同样上传到node01的/export/software/,解压到/export/servers/

tar -zxvf /export/software/hadoop-2.7.4.tar.gz -C /export/servers/

2.配置环境变量

执行“vi /etc/profile”命令编辑系统环境变量文件profile,配置Hadoop环境变量

# Hadoop系统环境变量
export HADOOP_HOME=/export/servers/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

完成系统环境变量文件profile配置后保存退出,不过此时配置内容尚未生效,还需要执行“source /etc/profile”命令初始化系统环境变量使配置内容生效。

3.测试

执行“hadoop version”命令查看Hadoop版本

三.配置Hadoop高可用集群

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

(1)只读默认配置文件,包括core-default.xml、hdfs-default.xml、mapred-default.xml和yarn-default.xml,这些文件包含了Hadoop系统各种默认配置参数,位于jar文件中。

(2)自定义配置文件,这些文件基本没有任何配置内容,存在于Hadoop安装目录下的etc/hadoop/目录中,包括core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml等,开发人员可以根据实际需求进行修改,Hadoop会优先选择自定义配置文件中的参数。

配置文件

功能描述

hadoop-env.sh

配置Hadoop运行所需的环境变量

yarn-env.sh

配置Yarn运行所需的环境变量

core-site.xml

Hadoop核心全局配置文件,可在其他配置文件中引用该文件

hdfs-site.xml

HDFS配置文件,继承core-site.xml配置文件

mapred-site.xml

MapReduce配置文件,继承core-site.xml配置文件

yarn-site.xml

Yarn配置文件,继承core-site.xml配置文件

1.修改hadoop-env.sh文件

在虚拟机Node_01中,进入Hadoop安装包的/etc/hadoop/目录,执行“vi hadoop-env.sh”命令编辑hadoop-env.sh文件,将文件内默认的JAVA_HOME参数修改为本地安装JDK的路径

/export/servers/jdk1.8.0_161

cd /export/servers/hadoop-2.7.4/etc/hadoop/

2.修改yarn-env.sh文件

在虚拟机Node_01中,进入Hadoop安装包的/etc/hadoop/目录,执行“vi yarn-env.sh”命令编辑yarn-env.sh文件,将文件内默认的JAVA_HOME参数修改为本地安装JDK的路径。

3.修改core-site.xml文件

在虚拟机Node_01中,进入Hadoop安装包的/etc/hadoop/目录,执行“vi core-site.xml”命令编辑Hadoop的核心配置文件core-site.xml。  (填写在<configuration></configuration>之间)

<property>
    <name>fs.defaultFS</name>  #配置命名空间管理服务制定通信地址
    <value>hdfs://master</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>  #存储临时文件的目录
    <value>/export/servers/hadoop-2.7.4/tmp</value>
</property>
<property>
    <name>ha.zookeeper.quorum</name>  #ZooKeeper集群地址
    <value>node01:2181,node02:2181,node03:2181</value>
</property>

4.修改hdfs-site.xml文件

在虚拟机Node_01中,进入Hadoop安装包的/etc/hadoop/目录,执行“vi hdfs-site.xml”命令编辑HDFS的核心配置文件hdfs-site.xml。

<property>
    <name>dfs.replication</name>  #HDFS副本数
    <value>3</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>  #NameNode 节点数据存放位置
    <value>/export/data/hadoop/namenode</value>
</property>
<property>    
    <name>dfs.datanode.data.dir</name>  #DataNode 节点数据存放位置
    <value>/export/data/hadoop/datanode</value>    
</property>
<property>
    <name>dfs.nameservices</name>  #处理外部访问HDFS的请求
    <value>master</value>
</property>
<property>
    <name>dfs.ha.namenodes.master</name>  #定义NameNode的唯一标识
    <value>nn1,nn2</value>
</property>
<property>
    <name>dfs.namenode.rpc-address.master.nn1</name>  #标识符nn1的RPC服务地址
    <value>node01:9000</value>
</property>
<property>
    <name>dfs.namenode.rpc-address.master.nn2</name>  #标识符nn2的RPC服务地址
    <value>node02:9000</value>
</property>
<property>
    <name>dfs.namenode.http-address.master.nn1</name>  #标识符nn1的HTTP服务地址
    <value>node01:50070</value>
</property>
<property>
    <name>dfs.namenode.http-address.master.nn2</name>  #标识符nn2的HTTP服务地址
    <value>node02:50070</value>
</property>
<property>
  <name>dfs.namenode.shared.edits.dir</name>  #NameNode元数据在JournalNode上的共享存储目录
  <value>qjournal://node01:8485;node02:8485;node03:8485/ns1</value>
</property>
<property>
    <name>dfs.journalnode.edits.dir</name>  #JournalNode存放数据地址
    <value>/export/data/hadoop/journaldata</value>
</property>
<property>
  <name>dfs.client.failover.proxy.provider.ns1</name>  #访问代理类,用于确定当前处于 Active 状态的 NameNode节点
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
    <name>dfs.ha.fencing.methods</name>  #配置隔离机制,确保集群中只有一个NameNode处于活动状态
    <value>
        sshfence
        shell(/bin/true)
    </value>
</property>
<property>
    <name>dfs.ha.fencing.ssh.private-key-files</name>  #sshfence隔离机制需要配置本机密钥地址
    <value>/root/.ssh/id_rsa</value>
</property>
<property>
    <name>dfs.ha.automatic-failover.enabled</name>  #开启自动故障状态切换
    <value>true</value>
</property>
<property>
    <name>dfs.ha.fencing.ssh.connect-timeout</name>  #sshfence隔离机制超时时间
    <value>30000</value>
</property>
<property> 
    <name>dfs.webhdfs.enabled</name>  #开启webhdfs服务
    <value>true</value> 
</property>

5.修改mapred-site.xml文件

在虚拟机Node_01中,进入Hadoop安装包的/etc/hadoop/目录,执行“cp mapred-site.xml.template mapred-site.xml”命令,通过复制模板文件方式创建MapReduce

的核心配置文件mapred-site.xml,执行“vi mapred-site.xml”命令编辑配置文件

mapred-site.xml ,指定MapReduce运行时框架。

<property>
      <name>mapreduce.framework.name</name>  #指定MapReduce 作业运行在 YARN框架之上
      <value>yarn</value>
</property>

6.修改yarn-site.xml文件

在虚拟机Node_01中,进入Hadoop安装包的/etc/hadoop/目录,执行“vi yarn-site.xml”命令,编辑YARN的核心配置文件yarn-site.xml。

<property>
    <name>yarn.nodemanager.aux-services</name>  #配置NodeManager上运行的附属服务,需要配置为mapreduce_shuffle
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.resourcemanager.ha.enabled</name>  #开启ResourceManager的HA机制
    <value>true</value>
</property>
<property>
    <name>yarn.resourcemanager.cluster-id</name>  #自定义ResourceManager集群的标识符
    <value>yarncluster</value>
</property>
<property>
    <name>yarn.resourcemanager.ha.rm-ids</name>  #自定义集群中每个ResourceManager节点的唯一标识符
    <value>rm1,rm2</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname.rm1</name>  #指定标识符rm1的ResourceManager节点
    <value>node01</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname.rm2</name>  #指定标识符rm2的ResourceManager节点
    <value>node02</value>
</property>
<property>
    <name>yarn.resourcemanager.zk-address</name>  #ZooKeeper集群地址
    <value>node01:2181,node02:2181,node03:2181</value>
</property>
<property>
    <name>yarn.resourcemanager.recovery.enabled</name>  #开启自动恢复功能
    <value>true</value>
</property>
<property>
      <name>yarn.resourcemanager.ha.automatic-failover.enabled</name>  #开启故障自动转移
      <value>true</value>
</property>
<property>
    <name>yarn.resourcemanager.store.class</name>  #ResourceManager存储信息的方式,在HA机制下用ZooKeeper(ZKRMStateStore)作为存储介质
    <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value> 
</property>
<property>
    <name>yarn.log-aggregation-enable</name>  #开启YARN日志
    <value>true</value>
  </property>

7.修改slaves文件

在虚拟机Node_01中,进入Hadoop安装包的/etc/hadoop/目录,执行“vi slaves”命令,编辑记录Hadoop集群所有DataNode节点和NodeManager节点主机名的文件slaves。

node01
node02
node03

8.分发文件

为了便于快速配置Hadoop集群中其他服务器,将虚拟机Node_01中的Hadoop安装目录和系统环境变量文件分发到虚拟机Node_02和Node_03。

#将Hadoop安装目录分发到虚拟机Node_02和Node_03
scp -r /export/servers/hadoop-2.7.4/ root@node02:/export/servers/
scp -r /export/servers/hadoop-2.7.4/ root@node03:/export/servers/
#将系统环境变量文件分发到虚拟机Node_02和Node_03
scp /etc/profile root@node02:/etc/
scp /etc/profile root@node03:/etc/

完成分发操作,分别在虚拟机Node_02和Node_03中执行“source /etc/profile”命令初始化系统环境变量。

9.测试

hadoop version

四.启动Hadoop高可用集群

1.启动ZooKeeper

分别在虚拟机Node_01、Node_02和Node_03中执行“zkServer.sh start”命令启动每台虚拟机的ZooKeeper服务。

2.启动JournalNode

分别在虚拟机Node_01、Node_02和Node_03中执行“hadoop-daemon.sh start journalnode”命令启动每台虚拟机的journalnode服务。

3.初始化NameNode(仅初次启动执行)

在Hadoop集群主节点虚拟机Node_01执行“hdfs namenode -format”命令初始化NameNode操作。

4.初始化ZooKeeper(仅初次启动执行)

在NameNode主节点虚拟机Node_01,执行“hdfs zkfc -formatZK”命令初始化ZooKeeper 中的 HA 状态。

5.NameNode同步(仅初次启动执行)

在虚拟机Node_01中的NameNode主节点执行初始化命令后,需要将元数据目录的内容复制到其他未格式化的 NameNode备用节点(虚拟机Node_02)上,确保主节点和备用节点的NameNode数据一致,将NameNode主节点元数据目录的内容复制到NameNode备用节点的元数据目录中。

scp -r /export/data/hadoop/namenode/ root@node02:/export/data/hadoop/

6.启动HDFS

在虚拟机Node_01中通过执行一键启动脚本命令“start-dfs.sh”,启动Hadoop集群的HDFS。

7.启动Yarn

在虚拟机Node_01中通过执行一键启动脚本命令“start-yarn.sh”,启动Hadoop集群的Yarn。

8.查看Hadoop集群各节点服务的启动情况

分别在三台虚拟机Node_01、Node_02和Node_03上执行“jps”命令查看Hadoop高可用集群相关进程是否成功启动。(对照表中每个虚拟机的功能)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大数据--Hadoop环境部署(4)Hadoop集群部署 的相关文章

  • Couchbase/hadoop 连接器:sqoop 作业失败“找到接口 org.apache.hadoop.mapreduce.TaskAttemptContext,但需要类”

    我的配置 CouchBase服务器2 0 Sqoop 1 4 2 针对hadoop版本2 0 0编译 堆栈Hadoop CDH4 1 2 我想使用 CouchBase Hadoop 连接器 http www couchbase com de
  • 猪如何过滤不同的对(对)

    我是猪的新手 我有一个 Pig 脚本 它在两个元素之间生成制表符分隔的对 每行一对 例如 John Paul Tom Nik Mark Bill Tom Nik Paul John 我需要过滤掉重复的组合 如果我使用 DISTINCT 我会
  • 从 Eclipse 在 AWS-EMR 上运行 MapReduce 作业

    我在 Eclipse 中有 WordCount MapReduce 示例 我将其导出到 Jar 然后将其复制到 S3 然后我在 AWS EMR 上运行它 成功地 然后 我读到了这篇文章 http docs aws amazon com El
  • 遍历 ArrayWritable - NoSuchMethodException

    我刚刚开始使用 MapReduce 并且遇到了一个奇怪的错误 我无法通过 Google 回答该错误 我正在使用 ArrayWritable 制作一个基本程序 但是当我运行它时 在Reduce过程中出现以下错误 java lang Runti
  • hadoop中reducer的数量

    我正在学习hadoop 我发现减速器的数量非常令人困惑 1 reducer的数量与partition的数量相同 2 reducer 的数量是 0 95 或 1 75 乘以 节点数 每个节点的最大容器数 3 减速机数量设定为mapred re
  • 如何通过sparkSession向worker提交多个jar?

    我使用的是火花2 2 0 下面是我在 Spark 上使用的 java 代码片段 SparkSession spark SparkSession builder appName MySQL Connection master spark ip
  • RavenDB:为什么我会在此多重映射/归约索引中获得字段空值?

    受到 Ayende 文章的启发https ayende com blog 89089 ravendb multi maps reduce indexes https ayende com blog 89089 ravendb multi m
  • 非 hdfs 文件系统上的 hadoop/yarn 和任务并行化

    我已经实例化了 Hadoop 2 4 1 集群 并且发现运行 MapReduce 应用程序的并行化方式会有所不同 具体取决于输入数据所在的文件系统类型 使用 HDFS MapReduce 作业将生成足够的容器 以最大限度地利用所有可用内存
  • 猪的组连接等效吗?

    试图在 Pig 上完成这个任务 寻找 MySQL 的 group concat 等效项 例如 在我的表中 我有以下内容 3fields userid clickcount pagenumber 155 2 12 155 3 133 155
  • 如何创建 HIVE 表来读取分号分隔值

    我想创建一个 HIVE 表 该表将以分号分隔的值读取 但我的代码不断给出错误 有没有人有什么建议 CREATE TABLE test details Time STRING Vital STRING sID STRING PARTITION
  • InvalidRequestException(为什么:empid 如果包含 Equal,则不能被多个关系限制)

    这是关于我从 Apache Spark 查询 Cassandra 时遇到的问题 Spark 的正常查询工作正常 没有任何问题 但是当我使用关键条件进行查询时 出现以下错误 最初 我尝试查询复合键列族 它也给出了与下面相同的问题 由以下原因引
  • Sqoop - 绑定到 YARN 队列

    因此 使用 MapReduce v2 您可以使用绑定到某些 YARN 队列来管理资源和优先级 基本上通过使用 hadoop jar xyz jar D mapreduce job queuename QUEUE1 input output
  • 处理 oozie 工作流程中的循环

    我有一个 oozie 用例 用于检查输入数据可用性并根据数据可用性触发 MapReduce 作业 所以我编写了一个 shell 脚本来检查输入数据 并在 oozie 中为其创建了一个 ssh 操作 输入数据检查的重试次数和重试间隔应该是可配
  • Flume将数据从MySQL迁移到Hadoop

    请分享您的想法 需求是将MySQL db中的数据迁移到Hadoop HBase进行分析 数据应该实时或接近实时地迁移 Flume可以支持这个吗 有什么更好的方法 据我了解 Flume 并不是为此而设计的 Flume 基本上用于读取日志 如数
  • 在 Windows 7 64 位中删除 Spark 临时目录时出现异常

    我正在尝试在 Windows 7 64 位中运行 Spark 作业的单元测试 我有 HADOOP HOME D winutils winutils path D winutils bin winutils exe 我运行了以下命令 winu
  • Pig 10.0 - 将元组分组并在 foreach 中合并包

    我在用着Pig 10 0 我想在 foreach 中合并包 假设我有以下内容visitors alias a b 1 2 3 4 a d 1 3 6 a e 7 z b 1 2 3 我想对第一个字段上的元组进行分组 并将包与一组语义合并以获
  • 2n + 1 法定人数是什么意思?

    我在描述 HBase 的 Zookeeper 配置时遇到过这个问题 但我对这个术语并不熟悉 N 与我的 HBase 集群中的节点数量有关系吗 或者我应该在 Zookeeper 集群中使用的节点数量 2f 1是指你所需要的可靠性 可用性水平
  • Spark 写入 hdfs 无法使用 saveAsNewAPIHadoopFile 方法

    我在 CDH 5 2 0 上使用 Spark 1 1 0 并试图确保我可以读取和写入 hdfs 我很快意识到 textFile 和 saveAsTextFile 调用旧的 api 并且似乎与我们的 hdfs 版本不兼容 def testHD
  • Talend 和 Apache Spark?

    我对 Talend 和 Apache Spark 在大数据生态系统中的定位感到困惑 因为 Apache Spark 和 Talend 都可以用于 ETL 有人可以用一个例子解释一下吗 Talend 是一种基于工具的大数据方法 通过内置组件支
  • Hadoop NoSuchMethodError apache.commons.cli

    我在用着hadoop 2 7 2我用 IntelliJ 做了一个 MapReduce 工作 在我的工作中 我正在使用apache commons cli 1 3 1我把库放在罐子里 当我在 Hadoop 集群上使用 MapReduceJob

随机推荐

  • 关于小贷公司与平台合作的一点感想

    一 1 有人说小额贷款行业经过了革命浪漫主义 传统信贷 数据 数据爆炸几个阶段 现在应该是平台合作阶段了 且不说这样的论述有推销数字化平台服务之功利性 小贷行业不过10年出头 一个行业阶段的孕育 发展到变革是漫长的 哪有那么多阶段 2 我认
  • 三维重建入门学习————建模软件Blender入门篇

    背景介绍 关于近期在进行三维重建相关算法学习的时候 学得越深 发现对各个方面的知识要求得越多 之前是补了相机的拍照原理 成像原理知识 再后来还补了主流的点提取 匹配算法等等 到了最近 论文 抑或是其他技术性文章出现的纹理 贴图等等词 总会让
  • Pandas知识点-详解元素级批处理函数applymap和map

    Pandas知识点 详解元素级批处理函数applymap和map 在Pandas中 apply 可以对DataFrame和Series按列或行批处理 applymap 和map 可以分别对DataFrame和Series进行元素级的批处理
  • mybatis中判断某个字段是否为null或空

    MySql 里的IFNULL NULLIF和ISNULL用法 mybatis不能使用IFNULL这些函数 可以用case when then else end代替 select id is topic on as topicOn topic
  • flutter报错The number of method references in a .dex file cannot exceed 64K.

    The number of method references in a dex file cannot exceed 64K 这句话的意思翻译出来是 dex文件中的方法引用数不能超过64K 我的理解 引用的第三方的方法超过了64K 需要在
  • 如何将代码托管到github上

    1 注册并登陆github github官方地址 https github com 2 点击右下角的 New repository 按钮来创建一个版本库 3 将版本库命名为 coolweather 然后选择添加一个 Android 项目类型
  • 将json字符串转换成html,根据json字符串生成Html的一种方式

    文章说明 本文介绍了根据Json串生成Html的一种方式 只是简单实现了文本框 密码框 下拉框 只是觉得好玩才这样做 如果觉得没有任何价值 请忽略 不足指出希望各位大牛指点 后续将根据各位的指点继续完善 功能说明 在左侧输入框中输入Json
  • ue中的经纬高转xyz的问题

    在ue中 做了个地球仪 发现经纬度转地心坐标系老是出问题 后来发现 是转ue时 x y坐标要互换 也对 因为在cesium for unreal中还有一系列ecef转ue的相关函数 即下面的代码中 xy需要互换 在ue中才能正常使用 偏心率
  • 【图解网络协议】面试官:三次握手都不会,回去等通知吧

    文章目录 一 网络基础知识准备 1 OSI七层网络模型总结 2 TCP IP协议总结 3 TCP协议流程 4 UDP协议 5 什么是socket 二 http协议 1 什么是http协议 2 http 1 0 与 http 1 1的区别 3
  • 香农公式简介

    信道容量 指信道中信息无差错传输的最大速率 信道模型中定义了两种广义信道 调制信道和编码信道 调制信道是一种连续信道 可以用连续信道的信道容量来表征 编码信道是一种离散信道 可以用离散信道的信道容量来表征 香农公式 设信道带宽为B 单位为H
  • 五种IO模型(详解+形象例子说明)

    在网络环境下 通俗的讲 将IO分为两步 1 等 2 数据搬迁 如果要想提高IO效率 需要将等的时间降低 五种IO模型包括 阻塞IO 非阻塞IO 信号驱动IO IO多路转接 异步IO 其中 前四个被称为同步IO 在介绍五种IO模型时 我会举生
  • 给一个正整数n,求出位数。并按正序输出,逆序输出

    求出位数 思路 通过让给定的正整数n整除10 且每整除一次让统计位数的变量count自增一 返回count得到位数 include
  • 华硕主板固态硬盘不识别_[主板] 开机后无法识别硬盘或SSD的故障排除方式

    1 尝试更新官网最新的BIOS版本 可参考FAQ 华硕EZ Flash 3 介绍 2 在计算机开机后 立刻按压键盘上的 delete 键 在BIOS EZ Mode 页面的 Storage Information 字段 确认是否可以显示所接
  • 使用EasyExcel生成表格并且返回File对象

    通过此方法 可以导出表格并且存入File对象中进行其他的操作 这里通过File来进行异步存储到文件服务器 用于下载中心 public static
  • myeclipse10配置tomcat详细过程

    首先确保你已经成功的安装 了myeclipse10和tomcat 我用的是tomcat6 1 在myeclipse10中添加tomcat 选择属性preferences之后进入配置框 选择servers下的tomcat6 视你自己的版本而定
  • 【翻译】软件表现不佳,未来取决于这种情况的改变

    如果一件事不能永远进行下去 它就不会 赫伯 斯坦法则 科技行业的未来会是什么样子 从现在到2030年 我们所有人面临的挑战不再是我们将如何说服世界 或更直接地说 我们的老板或客户 成为碳零 无论我们是否愿意 这都会到来 我们的新问题是 作为
  • 如何阅读他人的项目源代码程序

    阅读他人的项目源代码步骤 备份并编译运行代码 熟悉项目编程语言的语法和惯例用语 看项目文档 有机会可向项目开发人员请教 自上而下构建项目程序的系统架构 建立系统架构和功能逻辑之间的关联 核心代码重点剖析与注释 调整心态 反复阅读 工欲善其事
  • Vue3只读代理---readonly、isReadonly、shallowReadonly

    readonly 获取一个对象 响应式或纯对象 或 ref 并返回原始代理的只读代理 不能给属性重新赋值 只读代理是递归的 访问的任何嵌套 property 也是只读的
  • springmvc源码学习(二十四)异步请求管理器WebAsyncManager初始化

    目录 前言 一 WebAsyncManager初始化 二 参数的初始化 三 自定义参数 总结 前言 Springmvc的异步执行请求是有异步管理器WebAsyncManager来控制的 一 WebAsyncManager初始化 1 在请求到
  • 大数据--Hadoop环境部署(4)Hadoop集群部署

    Hadoop集群的部署方式分为三种 分别是独立模式 Standalone mode 伪分布式模式 Pseudo Distributed mode 和完全分布式模式 Cluster mode 独立模式和伪分布式模式主要用于学习和调试 完全分布