新手体验OceanBase社区版V4.2:离线部署单节点集群

news2024/11/25 10:33:48

本文源自OceanBase用户的分享

先简单总结如下:

1.本文适合初学者体验OceanBase社区版 v4.2.2

2.仅需准备一台配置为2C/8G的Linux虚拟机

3.通过离线方式安装,以便更直观地了解安装过程

一、Linux系统准备

在宿主机(即你的windows PC电脑)上安装vbox软件,点击新建按钮,输入自定义名称,文件夹为Linux虚拟机的安装路径。

1710762266

内存大小设置为8G,尝试过分配4G,后期安装时会提示内存不足

1710762329

1710762340

虚拟硬盘的文件类型,如果想与vmware等其它虚拟机软件通用,可选择VMDK

1710762352

这里分配100G的动态空间,实际并不会真正地占用宿主机100G空间,所以不必担心

选中新建的虚拟机-obdb,点击设置

1710762402

在左侧系统选项卡中设置光驱文件、处理器等

1710762443

1710762451

1710762462

注意此处要将默认加载的光驱删掉,不然后面VBOX软件会出BUG

1710762477

网络连接方式选择host-only,即离线模式

1710762507

1710762529

1710762545

光标向上选择到Install选项,回车进行下一步

Ps:安装期间如果想从虚拟机窗体中返回到你的pc桌面,可以按右侧的ctrl键

1710762602

点击左上方的DONE按钮

1710762719

软件集选择Server with GUI,方便后面配置网卡等

1710762738

选择I will configure partitioning选项,之后点击左上方DONE后会进入磁盘分区,各分区大小按下方设置即可

1710762758

1710762770

1710762779

/swap这个特殊,文件类型要选择swap

1710762794

1710762802

DONE

ACCEPT CHANGES,这里如果用鼠标选不到,可以使用TAB键

关闭kdump

1710762830

设置主机名,网卡的自动启动,其实这步不设置也没事,后面还要重复设置

1710762852

Ps:这里不要点configure配置IP信息,点了后你将陷入深坑

关闭安全策略

1710762923

Begin installation

1710762943

在这里点击ROOT PASSWORD为root用户设置口令,我通常设置为123456,你随意

接下来就是

REBOOT

LICENSE INFORMATION处接受下即可

1710762983

重复的步骤又来了,还是不要点击右下角的configure

1710762998

全部完成后点击右下角finish configuration,之后会进入Linux的欢迎界面

点击Applications->System Tools->Settings

1710763042

设置网络IP信息等

1710763057

1710763069

1710763080

1710763088

设置完后验证一下ip是否设置成功

1710763105

下面在你的宿主机(windows  PC电脑)上安装个连接工具,SecureCRT,百度就有,找不到的留言我发你,新建个连接,输入ip、用户名及密码

1710763125

下面关闭Linux的防火墙和Selinux,不然后面使用obd web、ocp express时会访问失败

[root@obdb ~]# systemctl stop firewalld.service 
[root@obdb ~]# systemctl disable firewalld.service 
 
[root@obdb ~]# vi /etc/selinux/config    --将SELINUX=enforcing改为disabled

1710763233

修改完后重启一下Linux,root用户执行init 6或reboot均可
[root@obdb ~]# init 6

至此,Linux系统准备完毕

二、安装ob集群各组件

1.下载安装包

ALL-IN-ONE安装包https://www.oceanbase.com/softwarecenter,安装包名称为oceanbase-all-in-one-4.2.2.0-100010012024022719.el7.x86_64.tar.gz

Ps:注意区分好架构x86还是arm,如何区分?root用户执行lscpu,结果中的第一行即是

将此安装包存放在你的windows宿主机的C://soft/下

2.上传安装包到Linux虚拟机

右键点击SecureCRT中创建的连接标签,使用sftp进行上传

1710763448

1710763463

lcd c:/soft为指定安装包所在windows宿主机的位置

cd /soft为指定Linux虚拟机的目的位置

put为上传(即windows宿主机到Linux虚拟机的传输)

3.安装OBD

[root@obdb ~]# cd /soft/
[root@obdb soft]# ls
oceanbase-all-in-one-4.2.2.0-100010012024022719.el7.x86_64.tar.gz
[root@obdb soft]# tar -xzf oceanbase-all-in-one-4.2.2.0-100010012024022719.el7.x86_64.tar.gz 
[root@obdb soft]# cd /soft/oceanbase-all-in-one/rpms/
[root@obdb soft]# rpm -ivh ob-deploy-2.6.2-2.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
  1:ob-deploy-2.6.2-2.el7            ################################# [100%]
Installation of obd finished successfully
Please source /etc/profile.d/obd.sh to enable it
[root@obdb soft]# source /etc/profile.d/obd.sh 

[root@obdb soft]# useradd admin
[root@obdb ~]# chown -R admin:admin /soft/

以网页形式运行obd

[admin@obdb ~]$ obd web
start OBD WEB in 0.0.0.0:8680
please open http://192.168.56.200:8680

打开windows宿主机的浏览器,输入http://192.168.56.200:8680

1710763821

1710763828

1710763833

可以看到各组件后面都有个红叉,因为咱们的虚拟机没有联网,不支持在线安装,需要离线安装,下面介绍使用obd离线安装

首先查看一下obd镜像库

[admin@obdb ~]$ obd mirror list
[ERROR] Another app is currently holding the obd lock.
Trace ID: ca3e042c-e4c9-11ee-908d-080027b82be3
If you want to view detailed obd logs, please run: obd display-trace ca3e042c-e4c9-11ee-908d-080027b82be3

遇到了错误,原因是咱之前执行了obd web,把执行obd web的SecureCRT窗口ctrl+c后再尝试就可以了

再次执行obd mirror list,共返回三行,两个远程端,一个本地端,对于离线安装需要将所需的组件安装包注册到local本地镜像库中

1710763920

[admin@obdb ~]$ obd mirror list local                             -----------查看本地镜像库安装包
local Package List is empty.
Trace ID: c50b0132-e4d1-11ee-9492-080027b82be3
If you want to view detailed obd logs, please run: obd display-trace c50b0132-e4d1-11ee-9492-080027b82be3
[admin@obdb ~]$
[admin@obdb ~]$ cd /soft/oceanbase-all-in-one/rpms/                                  -----------all-in-one自带的安装包位置
[admin@obdb rpms]$ obd mirror clone *.rpm                                                 -----------注册所有安装包至本地镜像库
[admin@obdb rpms]$ obd mirror list local                      -----------再次查看本地镜像库安装包,发现已成功注册
+------------------------------------------------------------------------------------------------------------------+
|                                                local Package List                                                |
+---------------------------+---------+------------------------+--------+------------------------------------------+
| name                      | version | release                | arch   | md5                                      |
+---------------------------+---------+------------------------+--------+------------------------------------------+
| grafana                   | 7.5.17  | 1                      | x86_64 | 1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6 |
| obagent                   | 4.2.2   | 100000042024011120.el7 | x86_64 | 19739a07a12eab736aff86ecf357b1ae660b554e |
| ob-configserver           | 1.0.0   | 2.el7                  | x86_64 | feca6b9c76e26ac49464f34bfa0780b5a8d3f4a0 |
| ob-deploy                 | 2.6.1   | 6.el7                  | x86_64 | e9a0a7af5ecedd7a267ccef44e64b6323ea568c2 |
| obproxy-ce                | 4.2.1.0 | 11.el7                 | x86_64 | 0aed4b782120e4248b749f67be3d2cc82cdcb70d |
| oceanbase-ce              | 4.2.2.0 | 100010012024022719.el7 | x86_64 | 60fe842818ef64631dd3bb6f90bf4cab0e737195 |
| oceanbase-ce-libs         | 4.2.2.0 | 100010012024022719.el7 | x86_64 | 756bc0a7949701b0a6c707a29cf623f7fb966bb7 |
| oceanbase-diagnostic-tool | 1.5.2   | 22024010415.el7        | x86_64 | 4c0f0551be4ad04bc40a66763f66f76fb8bdf10c |
| ocp-express               | 4.2.2   | 100000022024011120.el7 | x86_64 | 09ffcf156d1df9318a78af52656f499d2315e3f7 |
| prometheus                | 2.37.1  | 10000102022110211.el7  | x86_64 | 58913c7606f05feb01bc1c6410346e5fc31cf263 |
+---------------------------+---------+------------------------+--------+------------------------------------------+
Trace ID: c28f8d64-e4d2-11ee-ad35-080027b82be3
If you want to view detailed obd logs, please run: obd display-trace c28f8d64-e4d2-11ee-ad35-080027b82be3

OBD使用手册:https://www.oceanbase.com/docs/community-obd-cn-1000000000519118

注册完obd local镜像库后重新以admin用户执行obd web并访问http://192.168.56.200:8680便可继续安装部署了,小红叉也消失了

1710764189

1710764197

这里默认为3个zone,将下面的2个zone删掉,输入Linux虚拟机IP,下面输入admin的口令即可下一步

1710764223

这里的安装目录使用默认即可,实际生产环境是需要严格设置的

执行预检查

1710764242

1710764251

Duang!遇到问题了

原因:OBD-1007: (192.168.56.200) The value of the ulimit parameter "open files" must not be less than 20000 (Current value: 1024)

建议:Please execute `echo -e "* soft nofile 20000\n* hard nofile 20000" >> /etc/security/limits.d/nofile.conf` as root in 192.168.56.200. if it dosen't work, please check whether UsePAM is yes in /etc/ssh/sshd_config.

如建议提示所述,以root用户登陆,执行echo -e "* soft nofile 20000\n* hard nofile 20000" >> /etc/security/limits.d/nofile.conf,回到界面重新检查便可通过,太人性了!

1710764454

1710764476

安装部署完成,提示的信息需要记录下 

ps:如果忘记了可以使用如下命令查阅,这一点也值得夸赞

[admin@obdb ~]$ obd cluster display myoceanbase
Get local repositories and plugins ok
Open ssh connection ok
Cluster status check ok
Connect to observer 192.168.56.200:2881 ok
Wait for observer init ok
+--------------------------------------------------+
|                     observer                     |
+----------------+---------+------+-------+--------+
| ip             | version | port | zone  | status |
+----------------+---------+------+-------+--------+
| 192.168.56.200 | 4.2.2.0 | 2881 | zone1 | ACTIVE |
+----------------+---------+------+-------+--------+
obclient -h192.168.56.200 -P2881 -uroot -p'r5]g0aBWhZVSh%;*)KukQl}whz~@' -Doceanbase -A

Connect to obproxy ok
+--------------------------------------------------+
|                     obproxy                      |
+----------------+------+-----------------+--------+
| ip             | port | prometheus_port | status |
+----------------+------+-----------------+--------+
| 192.168.56.200 | 2883 | 2884            | active |
+----------------+------+-----------------+--------+
obclient -h192.168.56.200 -P2883 -uroot -p'r5]g0aBWhZVSh%;*)KukQl}whz~@' -Doceanbase -A 

Connect to Obagent ok
+-------------------------------------------------------------------+
|                              obagent                              |
+----------------+--------------------+--------------------+--------+
| ip             | mgragent_http_port | monagent_http_port | status |
+----------------+--------------------+--------------------+--------+
| 192.168.56.200 | 8089               | 8088               | active |
+----------------+--------------------+--------------------+--------+
Connect to ocp-express ok
+-------------------------------------------------------------------+
|                            ocp-express                            |
+----------------------------+----------+------------------+--------+
| url                        | username | initial password | status |
+----------------------------+----------+------------------+--------+
| http://192.168.56.200:8180 | admin    | %M5Kh6@y         | active |
+----------------------------+----------+------------------+--------+
Trace ID: 28ac73a4-e4f2-11ee-81de-080027b82be3
If you want to view detailed obd logs, please run: obd display-trace 28ac73a4-e4f2-11ee-81de-080027b82be3

这时候obd web界面就可以关掉了,直接ctrl+c就可以

三、使用体验

1.当你不知道这台主机安装了哪些集群的情况下怎么办?可以使用obd命令进行查询

[admin@obdb ~]$ obd cluster list
+----------------------------------------------------------------------+
|                             Cluster List                             |
+-------------+--------------------------------------+-----------------+
| Name        | Configuration Path                   | Status (Cached) |
+-------------+--------------------------------------+-----------------+
| myclustljc  | /home/admin/.obd/cluster/myclustljc  | configured      |
| myclusljc   | /home/admin/.obd/cluster/myclusljc   | configured      |
| myljc       | /home/admin/.obd/cluster/myljc       | configured      |
| myoceanbase | /home/admin/.obd/cluster/myoceanbase | running         |
+-------------+--------------------------------------+-----------------+
Trace ID: 3c3c85a4-e4f1-11ee-8ff4-080027b82be3
If you want to view detailed obd logs, please run: obd display-trace 3c3c85a4-e4f1-11ee-8ff4-080027b82be3

Duang!我的为什么会有4个集群?因为前三个失败了,但是这里还会显示状态为configured,这个咋清理掉呢?我是小白,真不会啊

2.集群的停止

[admin@obdb ~]$ obd cluster stop myoceanbase
Get local repositories ok
Search plugins ok
Open ssh connection ok
Stop observer ok
Stop obshell ok
Stop obproxy ok
Stop obagent ok
Stop ocp-express ok
myoceanbase stopped
Trace ID: 08bcff70-e518-11ee-b437-080027b82be3
If you want to view detailed obd logs, please run: obd display-trace 08bcff70-e518-11ee-b437-080027b82be3
[admin@obdb ~]$

3.集群的启动

[admin@obdb ~]$ obd cluster start myoceanbase
Get local repositories ok
Search plugins ok
Load cluster param plugin ok
Open ssh connection ok
Check before start observer ok
Check before start obproxy ok
Check before start obagent ok
Check before start ocp-express ok
Start observer ok
observer program health check ok
obshell program health check ok
Connect to observer 192.168.56.200:2881 ok
Start obproxy ok
obproxy program health check ok
Connect to obproxy ok
Initialize obproxy-ce ok
Start obagent ok
obagent program health check ok
Connect to Obagent ok
Start ocp-express ok
ocp-express program health check ok
Connect to ocp-express ok
Initialize ocp-express ok
Wait for observer init ok
+--------------------------------------------------+
|                     observer                     |
+----------------+---------+------+-------+--------+
| ip             | version | port | zone  | status |
+----------------+---------+------+-------+--------+
| 192.168.56.200 | 4.2.2.0 | 2881 | zone1 | ACTIVE |
+----------------+---------+------+-------+--------+
obclient -h192.168.56.200 -P2881 -uroot -p'r5]g0aBWhZVSh%;*)KukQl}whz~@' -Doceanbase -A

+--------------------------------------------------+
|                     obproxy                      |
+----------------+------+-----------------+--------+
| ip             | port | prometheus_port | status |
+----------------+------+-----------------+--------+
| 192.168.56.200 | 2883 | 2884            | active |
+----------------+------+-----------------+--------+
obclient -h192.168.56.200 -P2883 -uroot -p'r5]g0aBWhZVSh%;*)KukQl}whz~@' -Doceanbase -A 

+-------------------------------------------------------------------+
|                              obagent                              |
+----------------+--------------------+--------------------+--------+
| ip             | mgragent_http_port | monagent_http_port | status |
+----------------+--------------------+--------------------+--------+
| 192.168.56.200 | 8089               | 8088               | active |
+----------------+--------------------+--------------------+--------+
+-------------------------------------------------------------------+
|                            ocp-express                            |
+----------------------------+----------+------------------+--------+
| url                        | username | initial password | status |
+----------------------------+----------+------------------+--------+
| http://192.168.56.200:8180 | admin    | %M5Kh6@y         | active |
+----------------------------+----------+------------------+--------+
myoceanbase running
Trace ID: 277e4c2a-e518-11ee-939f-080027b82be3
If you want to view detailed obd logs, please run: obd display-trace 277e4c2a-e518-11ee-939f-080027b82be3

4.使用客户端登陆数据库

[admin@obdb ~]$ obclient -h192.168.56.200 -P2881 -uroot -p'r5]g0aBWhZVSh%;*)KukQl}whz~@' -Doceanbase -A
bash: obclient: command not found...

Duang!Duang! 客户端工具还没安装https://www.oceanbase.com/softwarecenter下找到[OceanBase 命令行客户端]下载obclient-2.2.3-1.el7.x86_64.rpm并上传到虚拟机上

sftp> lcd c:/soft/
sftp> cd /soft/
sftp> put obclient-2.2.3-1.el7.x86_64.rpm
Uploading obclient-2.2.3-1.el7.x86_64.rpm to /soft/obclient-2.2.3-1.el7.x86_64.rpm
 100% 11656KB  11656KB/s 00:00:00     
c:/soft/obclient-2.2.3-1.el7.x86_64.rpm: 11936672 bytes transferred in 0 seconds (11656 KB/s)
sftp>
[root@obdb ~]# cd /soft/

[root@obdb soft]# rpm -ivh obclient-2.2.3-1.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
  1:obclient-2.2.3-1.el7             ################################# [100%]
 

[root@obdb soft]# su - admin
Last login: Mon Mar 18 19:00:48 CST 2024 on pts/0
[admin@obdb ~]$ 
[admin@obdb ~]$ obclient -h192.168.56.200 -P2881 -uroot -p'r5]g0aBWhZVSh%;*)KukQl}whz~@' -Doceanbase -A
Welcome to the OceanBase.  Commands end with ; or \g.
Your OceanBase connection id is 3221562009
Server version: OceanBase_CE 4.2.2.0 (r100010012024022719-c984fe7cb7a4cef85a40323a0d073f0c9b7b8235) (Built Feb 27 2024 19:20:54)

Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

obclient [oceanbase]> 
 

客户端登陆没问题了

5.登陆ocp express

1710765737

新建个租户

1710765753

1710765776

ocp express绝对是轻量级,这么低的配置跑起来非常轻松

在ocp express界面还可以体验监控、诊断分析、日志、修改参数等功能,绝非鸡肋!

到这里体验完成,下个目标:扩展集群节点

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

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

相关文章

Mac添加和关闭开机应用

文章目录 mac添加和关闭开机应用添加开机应用删除/查看 mac添加和关闭开机应用 添加开机应用 删除/查看 打开:系统设置–》通用–》登录项–》查看登录时打开列表 选中打开项目,点击“-”符号

大模型时代下的“金融业生物识别安全挑战”机遇

作者:中关村科金AI安全攻防实验室 冯月 金融行业正在面临着前所未有的安全挑战,人脸安全事件频发,国家高度重视并提出警告,全行业每年黑产欺诈涉及资金额超过1100亿元。冰山上是安全事件,冰山下隐藏的是“裸奔”的技术…

npm救赎之道:探索--save与--save--dev的神秘力量!

目录 1. --save和--save-dev是什么?2. 区别与应用场景--save--save-dev 3. 生产环境与开发环境4. 实际应用示例--save--save-dev 5. 总结 在现代软件开发中,npm(Node Package Manager)扮演着不可或缺的角色,为开发者提…

python基础 | 核心库:PIL

1、读取图像信息 查看图像信息 读取同一文件夹下的文件 可加 ./可不加 rom PIL import Image img Image.open(image.jpg) # 打开图像文件(注意:是去掉文件头的纯数据) print(img.format) # 图像格式(如BMP PNG JPEG 等) print(img.size) # 图像大小(…

第二十一章 Jquery ajax

文章目录 1. jquery下载2. jquery的使用3. jquery页面加载完毕执行4. jquery属性控制6. 遍历器 2. ajax1. 准备后台服务器2. ajax发送get请求3. ajax发送post请求 1. jquery下载 点击下载 稳定版本1.9 2. jquery的使用 存放到html文件的同级目录 3. jquery页面加载完毕执行…

Unity照片墙简易圆形交互效果总结

还要很多可以优化的点地方,有兴趣的可以做 比如对象的销毁和生成可以做成对象池,走到最左边后再移动到最右边循环利用 分析过程文件,采用Blender,资源已上传,可以播放动画看效果,下面截个图: …

OpenPLC_Editor 在Ubuntu 虚拟机安装记录

1. OpenPLC_Editor在虚拟机上费劲的装了一遍,有些东西已经忘了,主要还是python3 的缺失库版本对应问题,OpenPLC_Editor使用python3编译的,虚拟机的Ubuntu 18.4 有2.7和3.6两个版本,所以需要注意。 2. OpenPLC_Editor …

专题:一个自制代码生成器(嵌入式脚本语言)之应用实例

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 专题:一个自制代码…

【嵌入式机器学习开发实战】(十二)—— 政安晨:通过ARM-Linux掌握基本技能【C语言程序的安装运行】

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 嵌入式机器学习开发实战 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 在ARM-Linux系统中,C语言程序的安装和运行可…

局域网找不到共享电脑怎么办?

局域网找不到共享电脑是一种常见的问题,给我们的共享与合作带来一定的困扰。天联组网技术可以解决这个问题。本文将介绍天联组网的原理和优势,并探讨其在解决局域网找不到共享电脑问题中的应用。 天联组网的原理和优势 天联组网是一种基于加速服务器的远…

Linux 系统 CentOS7 上搭建 Hadoop HDFS集群详细步骤

集群搭建 整体思路:先在一个节点上安装、配置,然后再克隆出多个节点,修改 IP ,免密,主机名等 提前规划: 需要三个节点,主机名分别命名:node1、node2、node3 在下面对 node1 配置时,先假设 node2 和 node3 是存在的 **注意:**整个搭建过程,除了1和2 步,其他操作都使…

浅谈C语言编译与链接

个人主页(找往期文章包括但不限于本期文章中不懂的知识点):我要学编程(ಥ_ಥ)-CSDN博客 翻译环境和运行环境 在ANSI C(标准 C)的任何一种实现中,存在两个不同的环境。 第1种是翻译环境,在这个…

XUbuntu22.04之激活Linux最新Typora版本(二百二十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

109、Recent Advances in 3D Gaussian Splatting

简介 论文 对3D Gaussian Splatting的综述 质量提升 Mip-Splatting观察到,改变采样率,例如焦距,可以通过引入高频高斯类形伪影或强膨胀效应,极大地影响渲染图像的质量,因此Mip-Splatting将3D表示的频率限制在训练图…

IP种子是什么?理解和应用

在网络世界中,IP种子是一个广泛应用于文件共享和网络下载领域的概念。它是一种特殊的标识符,用于识别和连接到基于对等网络(P2P)协议的文件共享网络中的用户或节点。本文将深入探讨IP种子的含义、作用以及其在网络中的应用。 IP地…

计算机网络:物理层 - 信道极限容量

计算机网络:物理层 - 信道极限容量 实际信道中的数字信号奈式准则香农公式练习 实际信道中的数字信号 信号在传输过程中会受到各种因素的影响,如图所示: 这是一个数字信号,当它通过实际的信道后,波形会产生失真&#…

C语言例4-36:求Fibonacci数列的前40个数

教材优化代码如下&#xff1a; //求Fibonacci数列的前40个数 #include<stdio.h> int main(void) {long int f11,f21;int i1;for(;i<20;i){printf("%15ld%15ld",f1,f2);if(i%20)printf("\n");f1f2;f2f1;}return 0; } 结果如下&#xff1a; 我的基…

php 快速入门(七)

一、操作数据库 1.1 操作MySQL的步骤 第一步&#xff1a;登录MySQL服务器 第二步&#xff1a;选择当前数据库 第三步&#xff1a;设置请求数据的字符集 第四步&#xff1a;执行SQL语句 1.2 连接MySQL 函数1&#xff1a;mysql_connect() 功能&#xff1a;连接&#xff08;登录…

Netty对Channel事件的处理以及空轮询Bug的解决

继续上一篇Netty文章&#xff0c;这篇文章主要分析Netty对Channel事件的处理以及空轮询Bug的解决 当Netty中采用循环处理事件和提交的任务时 由于此时我在客户端建立连接&#xff0c;此时服务端没有提交任何任务 此时select方法让Selector进入无休止的阻塞等待 此时selectCnt进…

【计算机网络】第 11、12 问:流量控制和可靠传输机制有哪些?

目录 正文流量控制的基本方法停止-等待流量控制基本原理滑动窗口流量控制基本原理 可靠传输机制1. 停止-等待协议2. 后退 N 帧协议&#xff08;GBN&#xff09;3. 选择重传协议&#xff08;SR&#xff09; 正文 流量控制涉及对链路上的帧的发送速率的控制&#xff0c;以使接收…