Hadoop开发实战:https://www.borimooc.com/course/1004.htm

hadoop是适合海量数据的分布式存储,和分布式计算的框架

  • hadoop有三大组件:
  1. mapreduce:适合海量数据的分布式计算,分为map阶段、shuffle阶段和reduce阶段
  2. hdfs:分布式文件系统,适合海量数据的分布式存储
  3. yarn:资源调度工具

在使用Hadoop之前,首先要了解Hadoop的安装模式。

  • Hadoop的安装模式分为三种:
  1. 单机(Standalone mode)
  2. 伪分布式模式(Pseudo-Distributed mode)
  3. 全分布式模式(Cluster mode)

具体介绍如下:

  1. 单机模式:Hadoop的默认模式是单机模式。在不了解硬件安装环境的情况下,Hadoop第一次解压其源码包时,它保守地选择了最小配置。Hadoop会完全运行在本地。因此它不需要与其他节点进行交互,那么它也就不使用HDFS,也不加载任何Hadoop守护进程。单机模式不需要启动任何服务即可使用,一般只用于调试。
  2. 伪分布式模式:伪分布式模式是完全分布式模式的一个特例。Hadoop程序的守护进程运行在一台节点上,使用伪分布式模式来调试Hadoop分布式程序中的代码,以及验证程序是否准确执行。

1 用户权限

在安装Hadoop集群中所有的组件全部使用hd用户安装。(上传、解压、配置、启动、关闭等)、

root 是Linux系统的超级用户。一般不要使用这个用户。在我们安装集群的时候,只有在修改/etc/profile的文件的时候才会需要用到root用户。

在进行Hadoop集群安装的时候请再三确认当前用户是谁

[root@localhost ~]  当前用户是root  localhost计算机名  ~用户的根目录(/root)
[hd@localhost ~]  当前用户是hd    localhost计算机名  ~用户的根目录(/home/hd)

```Plain Text root 超级管理员(系统文件修改)

hd 普通角色用户 (在/home/hd/* 进行所有增删改查)


# 2 获取机器的IP地址

```PowerShell
[root@localhost ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.126.128  netmask 255.255.255.0  broadcast 192.168.126.255

如果没有查看IP的命令就安装net-tools

[hd@localhost root]$ su root
Password:
[root@localhost ~]# yum install -y net-tools

3 设置网卡为静态的地址

方法一:


#切换root用户
[hd@bogon Desktop]$ su root
Password:
#修改网卡
[root@bogon Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
#把以下这些修改就可以:
BOOTPROTO="static"     #修改
ONBOOT="yes"           #修改
IPADDR=192.168.245.20  #修改
#重启网卡
[root@bogon Desktop]# service network restart
重新登录再查看IP信息
[root@bogon Desktop]# ifconfig

方法二:

网络连接方式为nat

image-20210605110613959

查询自己的网关

在这里插入图片描述

在终端输入 nmtui 命令,进入 NetworkManager

Plain Text [root@local ~]nmtui

image-20210605105104249

根据查看到的网关,添加到Gateway中。address为ip地址。Dns为8.8.8.8

image-20210605105220429

设置好ip之后进行保存,重启网络服务

image-20210605110018031

image-20210605110355272

本地ping一下。保证网络畅通。

image-20210605110209887

使用shell工具进行远程连接

image-20210605111101609

4 Linux安装Java环境

因为Hadoop由Java语言开发,Hadoop集群的使用同样依赖于Java环境,所以在安装Hadoop集群前,需要先安装并配置好JDK。

4.1 把Linux自带Java环境删除

[hd@localhost ~]$ su root
Password: 
[root@localhost hd]# yum remove  -y  java*

4.2 上传Java包

[root@localhost hd]# su hd
[hd@localhost ~]$
[hd@localhost ~]$
[hd@localhost ~]$ pwd
/home/hd
[hd@localhost ~]$ mkdir apps #上传到此目录
[hd@localhost ~]$ cd apps/
[hd@localhost apps]$
#上传过程
[hd@localhost apps]$ ll
total 178952
-rw-rw-r--. 1 hd hd 183246769 Apr 26  2018 jdk-8u121-linux-x64.tar.gz

4.3 解压java包

#解压
[hd@localhost apps]$ tar -zxvf jdk-8u121-linux-x64.tar.gz 
[hd@localhost apps]$ ll
total 178956
drwxr-xr-x. 8 hd hd      4096 Dec 12  2016 jdk1.8.0_121
-rw-rw-r--. 1 hd hd 183246769 Apr 26  2018 jdk-8u121-linux-x64.tar.gz
[hd@localhost apps]$
#目录改名
[hd@localhost apps]$ mv jdk1.8.0_121/ java  
[hd@localhost apps]$ ll
total 178956
drwxr-xr-x. 8 hd hd      4096 Dec 12  2016 java
-rw-rw-r--. 1 hd hd 183246769 Apr 26  2018 jdk-8u121-linux-x64.tar.gz

4.4 配置java环境

[hd@localhost apps]$ su root
Password: 
[root@localhost apps]# cd java/
[root@localhost java]# pwd
/home/hd/apps/java
[root@localhost java]#
[root@localhost java]# vi /etc/profile

使用vi编辑器,在/etc/profile增加java环境变量

Properties files export JAVA_HOME=/home/hd/apps/java export PATH=$PATH:$JAVA_HOME/bin

重加载一下系统环境

[root@localhost java]# source /etc/profile
[root@localhost java]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

4.5 配置第二台,第三台机器的Java环境

使用scp远程拷贝命令

scp  file2  [[user@]host2:]file2

1.把每一台机的java目录,拷贝到第二台机器

[root@localhost apps]# su hd
[hd@localhost apps]$
[hd@localhost apps]$  scp -r java  hd@192.168.126.129:/home/hd/apps/

2.把每一台机的profile文件,拷贝到第二台机器

[hd@localhost apps]$ su root
Password: 
[root@localhost apps]# scp /etc/profile root@192.168.126.129:/etc/
The authenticity of host '192.168.126.129 (192.168.126.129)' can't be established.
ECDSA key fingerprint is fb:0a:7a:9f:9a:bc:4f:ff:66:29:1d:1d:b9:a0:35:d1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.126.129' (ECDSA) to the list of known hosts.
root@192.168.126.129's password:
profile                                                                                                        100% 1820     1.8KB/s   00:00    
[root@localhost apps]#

3.第二台机器加载profile

[hd@localhost apps]$ source /etc/profile
[hd@localhost apps]$
[hd@localhost apps]$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
[hd@localhost apps]$

第三台机,执行以上的步骤

5 安装hadoop之前准备

5.1 修改主机名

  1. 第一台机器master
  2. 第二台机器slave01
  3. 第三台机器slave02

[hd@localhost ~]$ hostnamectl set-hostname master
==== AUTHENTICATING FOR org.freedesktop.hostname1.set-static-hostname ===
Authentication is required to set the statically configured local host name, as well as the pretty host name.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ===

Plain Text [hd@localhost ~]$ hostnamectl set-hostname slave01

Plain Text [hd@localhost ~]$ hostnamectl set-hostname slave02

方法二

[root@localhost ~]$nmtui

5.2 修改/etc/hosts 文件

[hd@master ~]$ su root
Password:
[root@master hd]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.126.128 master
192.168.126.129 slave01
192.168.126.130 slave02

同步到第二,三台机器

#第二台机器
[root@master hd]# scp /etc/hosts root@slave01:/etc/
#第三台机器
[root@master hd]# scp /etc/hosts root@slave02:/etc/

5.3 关闭防火墙

启动:service firewalld start
         systemctl start  firewalld

查看状态:service firewalld status
                 systemctl status  firewalld

停止: service firewalld disable
          systemctl disable firewalld


禁用:service firewalld stop
     systemctl stop firewalld

重启:service firewalld restart
       systemctl restart  firewalld

5.4 免密登录

需要做的免密的机器

Plain Text 机器---->机器(免密登录) master ----> slave01 master ----> slave02 master ----> master

5.4.1 生成密钥

[hd@master ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hd/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hd/.ssh/id_rsa.
Your public key has been saved in /home/hd/.ssh/id_rsa.pub.
The key fingerprint is:
ef:ff:98:6c:a4:66:ca:66:a0:cd:a4:da:75:9c:c0:9f hd@slave02
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|     .           |
|      o S        |
|      o+ +  .    |
|     *..E .o     |
|   .o.ooo.+..o   |
|  ...  oo+.o=..  |
+-----------------+

5.4.2 拷贝密钥到你需要免密登录的机器

[hd@master ~]$ ssh-copy-id slave02
The authenticity of host 'slave02 (192.168.126.130)' can't be established.
ECDSA key fingerprint is 09:57:a3:56:3b:5f:f0:01:55:0e:42:f3:4c:43:3d:d5.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
hd@slave02's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'slave02'"
and check to make sure that only the key(s) you wanted were added.

5.4.3 测试免密登录

[hd@master ~]$ ssh slave02

6 Hadoop安装

6.1 上传hadoop安装包

6.2 解压安装包

[hd@master apps]$ su hd
Password:
[hd@master apps]$ pwd
/home/hd/apps
[hd@master apps]$ tar -zxvf hadoop-2.8.1.tar.gz

6.3 改目录名称

hd@master apps]$ mv hadoop-2.8.1 hadoop
[hd@master apps]$ ll

6.4 修改hadoop配置文件

6.4.1 修改hadoop-env.sh

/hadoop/etc/hadoop/

#在文件的尾部(按“G”可以跳到文档的尾部),增加

export JAVA_HOME=/home/hd/apps/java

6.4.2 修改core-site.xml

<configuration>
    <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hd/apps/hadoop/tmpdata</value>
    </property>
    <!--Hadoop回收站trash,默认是关闭的 可以设置一个时间阀值(单位:分钟),
当回收站里文件的存放时间超过这个阀值或是回收站被清空时,文件才会被彻底删除,并且释放占用的数据块。
-->
  <property>
            <name>fs.trash.interval</name>
            <value>1440</value>
</property>
</configuration>

6.4.3 修改hdfs-site.xml

<configuration>
   
    <!-- 指定HDFS副本的数量 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!-- 设置namenode的http通讯地址 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>master:50070</value>
    </property>

    <!-- 设置secondarynamenode的http通讯地址 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>

    <!-- 设置namenode存放的路径 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hd/apps/hadoop/namenode</value>
    </property>

    <!-- 设置datanode存放的路径 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hd/apps/hadoop/datanode</value>
    </property>
</configuration>

6.4.4 修改mapred-site.xml

<configuration> 
    <!-- 指定mr运行在yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=/home/hd/apps/hadoop</value>
    </property>
    <property>
          <name>mapreduce.map.env</name>
          <value>HADOOP_MAPRED_HOME=/home/hd/apps/hadoop</value>
    </property>
    <property>
          <name>mapreduce.reduce.env</name>
          <value>HADOOP_MAPRED_HOME=/home/hd/apps/hadoop</value>
    </property>
</configuration>

6.4.5 修改yarn-site.xml

<configuration>
    <!-- 指定YARN的老大(ResourceManager)的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <!-- reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

6.4.6 修改slaves

[hd@master hadoop]$ vi slaves
slave01
slave02

6.4.7 修改环境变量

[hd@master hadoop]$ su root
Password: 
[root@master hadoop]# vi /etc/profile

#增加
#增加
export HADOOP_HOME=/home/hd/apps/hadoop
#增加
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

6.5 拷贝到第二,三台机

[root@master hadoop]# su hd
[hd@master hadoop]$
[hd@master hadoop]$
[hd@master hadoop]$ scp  -r /home/hd/apps/hadoop hd@slave01:/home/hd/apps/
[hd@master hadoop]$ scp  -r /home/hd/apps/hadoop hd@slave02:/home/hd/apps/

[hd@master hadoop]$ su root
Password: 
[root@master hadoop]# scp /etc/profile root@slave01:/etc/
root@slave01's password:
profile                                                                                                        100% 1896     1.9KB/s   00:00    
[root@master hadoop]# scp /etc/profile root@slave02:/etc/
profile                                                                                                        100% 1896     1.9KB/s   00:00    
[root@master hadoop]#

在第二、三台机器里加载环境

[root@master hadoop]#  source /etc/profile
#查看Hadoop版本
[hd@master hadoop]$ hadoop version
Hadoop 3.0.0

6.6 格式化

[hd@master hadoop]$ hadoop namenode -format

执行格式化指令之后,必须出现了“has been successfully formatted”信息,才表明HDFS文件系统成功格式化。然后就可以正式启动集群了;否则,需要查看命令是否正确,或之前Hadoop集群的安装和配置是否正确。 此外需要注意的是,上述格式化命令令只需要在Hadoop集群初次启动前执行一次即可,后续重复启动时就不需要执行格式化了。

6.7 启动hadoop

Hadoop集群的启动,需要启动内部包含的两个集群框架,HDFS集群和YARN集群。 启动方式有单节点逐个启动和使用脚本一键启动两种。

 start-dfs.sh 启动HDFS分布式文件系统,停止stop-dfs.sh

 start-yarn.sh 启动Yarn资源管理器,停止stop-yarn.sh

 start-all.sh  HDFS分布式文件系统与Yarn启动,停止stop-all.sh

image-20210305180153117

启动完成之后通过jps命令查看服务

master虚拟机服务如下:

image-20210605150447930

slave虚拟机服务如下:

image-20210605150504137

6.8 测试

Hadoop 集群正常启动后,默认开放50070和8088两个端口,分别用于监控HDFS集群和YARN集群。在本地操作系统的浏览器输入集群服务的IP和对应的端口号即可访问。 想要通过外部Web界面访问虚拟机服务,还需要对外开放配置 Hadoop 集群服务端口号。

```Plain Text hdfs 文件系统访问地址:http://192.168.126.128:50070/dfshealth.html#tab-overview

Yarn资源管理器访问地址:http://192.168.126.128:8088/cluster ```

通过宿主机的浏览器分别访问 (集群服务 IP+端口号)查看HDFS集群状态,效果如下图所示。

image-20210305181001780

通过宿主机的浏览器查看YARN集群状态,效果如下图所示

image-20210305181040343

Hadoop集群的HDFS界面和YARN界面通过Web界面均可以正常访问,并且页面正常显示,同时通过Web界面对进行集群状态管理和查看更方便。

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

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

相关文章

LeetCode 2099.找到和最大的长度为 K 的子序列:自定义排序

【LetMeFly】2099.找到和最大的长度为 K 的子序列&#xff1a;自定义排序 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-subsequence-of-length-k-with-the-largest-sum/ 给你一个整数数组 nums 和一个整数 k 。你需要找到 nums 中长度为 k 的 子序列 &#x…

循环移位网络设计

总体架构 模块描述 循环移位网络模块&#xff08;模块名&#xff1a;VAL_CS_PROC&#xff09;&#xff0c;对输入数据&#xff08;in_data&#xff09;做循环移位处理&#xff0c;两个cycle即可输出数据。 Fig 1 循环移位模块顶层 设计要求 00】 支持对data_num个有效数据做…

IO进程线程(IPC通讯)

目录 一、IPC通讯机制 1&#xff09;传统的通讯机制&#xff1a; 2&#xff09;systemV 的通讯机制&#xff1a; 3&#xff09;跨主机的通讯机制&#xff1a; 1、无名管道 1&#xff09;无名管道的概念 2&#xff09;无名管道的函数 3&#xff09;无名管道通讯&#xf…

Webpack 5 核心机制详解与打包性能优化实践

&#x1f916; 作者简介&#xff1a;水煮白菜王&#xff0c;一个web开发工程师 &#x1f47b; &#x1f440; 文章专栏&#xff1a; 前端专栏 &#xff0c;记录一下平时在博客写作中&#xff0c;总结出的一些开发技巧和知识归纳总结✍。 感谢支持&#x1f495;&#x1f495;&am…

Manus AI与多语言手写识别

技术文章大纲&#xff1a;Manus AI与多语言手写识别 引言 手写识别技术的发展背景与市场需求Manus AI的定位与核心技术优势多语言场景下的挑战与机遇 Manus AI的核心技术架构 基于深度学习的端到端手写识别模型多模态数据融合&#xff08;笔迹压力、书写轨迹等&#xff09;…

Go与Python爬虫对比及模板实现

go语言和Python语言都可选作用来爬虫项目&#xff0c;因为python经过十几年的累积&#xff0c;各种库是应有尽有&#xff0c;学习也相对比较简单&#xff0c;相比GO起步较晚还是有很大优势的&#xff0c;么有对比就没有伤害&#xff0c;所以我利用一个下午&#xff0c;写个Go爬…

Vidwall: 支持将 4K 视频设置为动态桌面壁纸,兼容 MP4 和 MOV 格式

支持将 4K 视频设置为动态桌面壁纸&#xff0c;兼容 MP4 和 MOV 格式。只需将视频拖入应用界面&#xff0c;点击即可立即应用为桌面背景。 为桌面增添生动趣味的动态壁纸效果&#xff01;录制视频时设置动态背景&#xff0c;也能让画面更吸引人。 &#x1f4e5; https://apps.…

【LeetCode 热题 100】234. 回文链表——快慢指针+反转链表

Problem: 234. 回文链表 题目&#xff1a;给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 文章目录 整体思路完整代码时空复杂度时间复杂度&#xff1a;O(N)空间复杂度&#…

【源力觉醒 创作者计划】开源、易用、强中文:文心一言4.5或是 普通人/非AI程序员 的第一款中文AI?

前言 你有没有发现&#xff0c;AI 正在悄悄渗透进我们的生活&#xff1a;写文案、画插图、做PPT、答作业&#xff0c;它几乎无所不能&#x1f60d; &#xff01;但很多人可能会问&#xff1a; AI&#xff0c;我能用吗&#xff1f;用得起吗&#xff1f;适合我吗&#xff1f;特别…

【保姆级喂饭教程】Git图形化客户端Sourcetree安装及使用教程

目录 前言一、SourceTree简介二、安装教程三、使用教程1. 添加仓库 四、评价总结后记参考文献 前言 在查找Git Flow实现工具的时候&#xff0c;看到了SourceTree&#xff0c;支持Git Flow、GitHub Flow等多种Git工作流&#xff0c;安装简单学习一下。 一、SourceTree简介 Git的…

【kafka】kafka3.3.2常用命令

查看kafka服务版本 [rootlocalhost eicar]# kafka-server-start.sh --version [2025-06-23 11:10:54,106] INFO Registered kafka:typekafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$) 3.3.2 (Commit:b66af662e61082cb) [rootlocalhost eicar]#查看消…

LastActivityView -查看电脑上的所有操作记录

LastActivityView 是一款由 NirSoft 开发的免费工具&#xff0c;适用于 Windows 操作系统。它能够通过分析系统日志、Prefetch 文件、图标缓存数据库、注册表以及蓝屏 Dump 文件等多种来源&#xff0c;综合展示电脑从安装系统至今的所有操作记录。 LastActivityView 的功能 L…

English Practice - Day 3

Hi ChatGPT, I am back. can we start today’s english practice? Welcome back, Kelly! &#x1f60a; Yes — let’s begin today’s English practice! You’re doing great by showing up consistently. &#x1f4aa; Q&#xff1a; What’s the weather like today w…

quickbi看板内嵌入powerbi页面(含单点登录解决方法)

quickbi看板内嵌入powerbi页面&#xff08;含单点登录解决方法&#xff09; 实现步骤 要实现在quickbi看板中嵌入powerbi页面&#xff0c;分4步来实现。 1. 新建quickbi看板&#xff0c; 2. 添加内嵌页面 3. 获取Powerbi链接 4. 将powerbi链接粘贴到内嵌页面中 第一步&am…

CentOS-6如何配置网络设置IP? 笔记250706

CentOS-6如何配置网络设置IP? 笔记250706 1️⃣ 参考 1 CentOS 6 网络配置完全指南 在 CentOS 6 中配置网络设置主要涉及修改 /etc/sysconfig/network-scripts/ 目录下的配置文件。以下是详细配置步骤&#xff1a; 一、配置静态 IP 地址 1. 编辑网卡配置文件 vi /etc/sys…

WPF学习笔记(24)命令与ICommand接口

命令与ICommand接口一、命令1. ICommandSource2. 示例3. CommandBinding二、ICommand1.ICommand接口2. ICommand用法3. CanExecute总结一、命令 官方文档&#xff1a;https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/advanced/commanding-overview 1. ICommandSource 官…

TCP长连接保持在线状态

TCP长连接是指在一次TCP连接建立后&#xff0c;保持连接状态较长时间&#xff0c;用于多次数据传输&#xff0c;而不是每次通信后立即断开。这种机制对于需要频繁通信的应用非常重要。 保持TCP长连接在线的方法 1. 心跳机制(Heartbeat) 实现原理&#xff1a;定期发送小数据包…

华为OD机试 2025B卷 - 报文响应时间 (C++ Python JAVA JS C语言)

2025B卷目录点击查看: 华为OD机试2025B卷真题题库目录|机考题库 + 算法考点详解 2025B卷 100分题型 题目描述 IGMP 协议中,有一个字段称作最大响应时间 (Max Response Time) ,HOST收到查询报文,解折出 MaxResponsetime 字段后,需要在 (0,MaxResponseTime] 时间 (s) 内选…

深入理解微服务中的服务注册与发现(Consul)

在当今数字化浪潮下&#xff0c;微服务架构凭借其高内聚、低耦合的特性&#xff0c;成为众多企业构建复杂应用系统的首选方案。然而&#xff0c;随着服务数量的不断增加&#xff0c;服务之间的调用与管理变得愈发复杂。这时&#xff0c;服务注册与发现就如同微服务架构中的 “导…

Zephyr【2】-----内核调度[1]

内核调度 Zephyr 内核的调度器是基于什么原则选择当前执行线程的&#xff1f; 总是选择优先级最高的就绪线程作为当前线程。 当多个线程优先级相同时&#xff0c;调度器会如何选择&#xff1f; 线程的 “就绪状态” 和 “非就绪状态” 分别指什么&#xff1f;哪些情况会导致…