Centos7 离线安装 CDH7.1.7

1. 安装CDH的准备工作(所有节点都要执行)

1.1 准备环境

角色

IP

k8s-master

192.168.181.129

k8s-node1

192.168.181.130

k8s-node2

192.168.181.131

1.2 安装JDK

# https://www.oracle.com/java/technologies/downloads/#java11
wget 
rpm -ivh jdk-11.0.21_linux-x64_bin.rpm

$. vi /etc/profile
JAVA_HOME=/usr/java/jdk-11/
CLASSPATH=.:$JAVA_HOME/lib/jrt-fs.jar
PATH=$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATH

1.3 更改主机名和hosts

# 更改3台主机hostname,每个主机上按ip递增的顺序,分别执行下面一条命令:
 
# echo "bigdata01.dpcg.com" > /etc/hostname
# echo "bigdata02.dpcg.com" > /etc/hostname
# echo "bigdata03.dpcg.com" > /etc/hostname

# ===================================================== # 
# 在3台机器中分别执行如下命令:
# echo "10.101.15.229    bigdata01.dpcg.com    bigdata01" >> /etc/hosts
# echo "10.101.15.230    bigdata02.dpcg.com    bigdata02" >> /etc/hosts
# echo "10.101.15.231    bigdata03.dpcg.com    bigdata03" >> /etc/hosts

# use 
cat >> /etc/hosts << EOF
192.168.31.52 cdh-master-52 cdh-master-52.com
192.168.31.53 cdh-node1-53 cdh-node1-53.com
192.168.31.54 cdh-node2-54 cdh-node2-54.com
192.168.31.55 cdh-node3-55 cdh-node3-55.com
EOF

1.4 关闭防火墙

并重启服务器使hostname和selinux的配置生效

$. systemctl stop firewalld
$. systemctl disable firewalld
$. systemctl status firewalld
$. sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

$. getenforce
$. sestatus -v

1.5 安装NTP服务

#在所有节点
$. yum -y install ntp
 
# 在master节点,注释掉原有的server指向把时间服务器的域名地址指向一个靠谱可连的时间服务器,
# 我选择的是ntp.api.bz.
$. vi /etc/ntp.conf
    ……
    # 添加修改上层时间服务器,如果能联通外网,则不需要修改
    server 0.centos.pool.ntp.org iburst
    server 1.centos.pool.ntp.org iburst
    server 2.centos.pool.ntp.org iburst
    server 3.centos.pool.ntp.org iburst
    # server ntp.api.gz iburst
......
 
# 在其余的节点上,把时间服务器的server指向master namenode节点
$. vi /etc/ntp.conf
     ……
    #server 0.centos.pool.ntp.org iburst
    #server 1.centos.pool.ntp.org iburst
    #server 2.centos.pool.ntp.org iburst
    #server 3.centos.pool.ntp.org iburst
    server 172.17.28.1 iburst
......
 
# 在所有节点
systemctl enable ntpd --now
systemctl status ntpd
systemctl start ntpd
systemctl restart ntpd

#查询上级服务时间
[root@localhost etc]# ntpq -p

#查看时间同步状态 
[root@localhost etc]# ntpstat

1.6 关闭透明大页

echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local

1.7 磁盘写进fstab

lsblk -f | egrep '\/[a-z]+' | awk '{print "UUID="$(NF-1)"\t"$NF"\t"$(NF-2)"\t""defaults,noatime""\t""0 0"}'| sort -k2 >> /etc/fstab 

1.8 其它调优

1. 设置最大可大开文件数
    * soft nofile 10240
    * hard nofile 10240
    * soft nproc 65565
    * hard nproc 65565

2. TCP连接优化
    # 查看连接数(一般默认1024)
    netstat -an|wc -l
    
    # 查看连接数范围
    cat /proc/sys/net/ipv4/ip_local_port_range
    
    # 打开 vi /etc/sysctl.conf 文件后在文件末尾加上如下配置:  
    $. vi /etc/sysctl.conf
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_fin_timeout = 30
    
    # 端口范围
    net.ipv4.ip_local_port_range = 1024 65000
    或者执行:
    echo net.ipv4.ip_local_port_range = 1024 65000 >> /etc/sysctl.conf
                
    echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf
    # 验证, 输入命令: 
    sysctl net.ipv4.ip_forward, 返回为1即可
    
    # 通过命令行设置: 
    sysctl -w net.ipv4.ip_forward=1
    net.ipv4.ip_forward = 1
    # 执行生效即可        
    sysctl -p

# ============================================================ # 
# 永久关闭Swap步骤: 
1. swapoff -a # 临时关闭
2. 永久关闭
    编辑/etc/fstab文件, 使用文本编辑器打开该文件: 
    vi /etc/fstab
    在文件中找到含有swap的行, 并在行首添加#注释符, 以将其注释掉。例如: 
    # /dev/mapper/centos-swap swap               swap    defaults        0 0
    或者是

    # UUID=<swap分区的UUID>       none     swap    sw          0 0
    保存并关闭文件。

    重新启动系统。
    reboot

3. 执行以下命令来验证Swap是否已经被禁用: 
    free -h
    现在, Swap已经被永久关闭了。

2. CDH版本选择

old:
CDH版本选择:建议5.4.8和5.8.0版本,如需要版本较高可以选择5.12版本,目前6.x版本还没有使用过,请注意,千万不要选择5.11.0版本。
这里选择最新版本6.3.2。
在CDH5版本中,JDK一般安装为JDK8,还需要安装python环境,可以选择python2.6.X或者python2.7.x都可以。

now:

最新版本为:Index of cm6/6.3.1/redhat7/yum/RPMS/x86_64/

https://www.cloudera.com/downloads.html

3. CDH的安装方式选择

方式一: rpm包安装:

  • 先离线下载rpm文件,再进行安装,安装过程中会下载相应的依赖,比较稳定,但安装要求较高。
  • 此安装方式开始配置时较麻烦,但之后安装很方便,建议使用,具体安装方式请参考上述相关文章链接中的第五章CDH的安装和部署。

方式二: bin文件安装:

  • 通过bin文件安装一般用于在线安装,对网络要求比较高,如果现在过程中网络中断会造成安装失败,但此方法安装简单,全程傻瓜式安装。
  • bin文件安装参考网址:https://www.cnblogs.com/ljy2013/p/4662191.html   https://www.cnblogs.com/leocook/p/cdh_management.html
  • 此方法为去http://archive.cloudera.com/cm5/installer/latest/cloudera-manager-installer.bin 中下载bin文件,再执行bin文件进行安装。

方式三: tar包安装

不是很了解tar包的安装方式,但使用tar包安装会有依赖未安装而造成安装失败的异常,不建议使用。

4. CDH的下载

4.1. cm的tar包下载

cm6.3.1下载地址:https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/

下载allkeys.asc文件:

4.2. parcels包下载

cdh6.3.2下载地址:https://archive.cloudera.com/cdh6/6.3.2/parcels/

请选择对应的版本,el7,并将后缀.sha1更改为.sha。

5. 配置CDH的离线安装

目的:将上述下载的4个文件上传到centos7服务器中,并配置好离线服务,安装时即可以从该离线服务中下载,不需要再从官网中去下载,防止网络错误。

5.1 在master节点上安装httpd

# 查看该centos7是否存在httpd服务
rpm -qa|grep httpd
 
# 如果不存在该服务就安装
yum install -y httpd
 
# 启动该服务
systemctl start httpd.service #启动
systemctl stop httpd.service #停止
systemctl restart httpd.service #重启
 
# 设置该服务是否开机启动
systemctl enable httpd.service #开机启动
systemctl disable httpd.service #开机不启动
 
# 查看该服务的状态
systemctl status httpd.service

当访问该服务器的80端口出现如下画面即为安装和启动成功

5.2 创建 parcels文件

# 在/var/www/html下创建一个parcels文件夹,并将上述下载的3个文件上传到该目录下
cd /var/www/html/
mkdir cdh6.3.2/parcels -p
# 上传如下3个文件
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
manifest.json
 
# 校验文件下载未损坏
/usr/bin/sha1sum CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
cat CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha

如果2个验证码一样,证明该文件未损坏,可以使用:

在浏览器中能打开如下网址,证明配置成功:

http://10.101.15.229/cdh6.3.2/parcels/

5.3 创建cm文件

# 在/var/www/html创建cm5/redhat/7/x86_64/文件夹(和官网一样的路径)
cd /var/www/html/
mkdir -p cm6/redhat/7/x86_64/cm 
 
# 上传cm6.3.1-redhat7.tar.gz包到/var/www/html目录下,并解压
tar -xf cm6.3.1-redhat7.tar.gz
mv cm6.3.1 6.3.1
 
# 将解压好的文件夹移动到上述创建的文件夹下
mv 6.3.1 /var/www/html/cm6/redhat/7/x86_64/cm
 
!上传allkeys.asc文件到/var/www/html/cm6/redhat/7/x86_64/cm/6.3.1 文件夹下
 
# 配置本地的yum源,cdh集群在安装时会就从本地down包,不会从官网了,
# 注意: 所有节点都要执行!!!
vim /etc/yum.repos.d/cloudera-manager.repo
 
#在该文件下插入如下数据
[cloudera-manager]
name=Cloudera Manager
baseurl= http://10.101.15.229/cm6/redhat/7/x86_64/cm/6.3.1/
gpgkey = http://10.101.15.229/cm6/redhat/7/x86_64/cm/6.3.1/RPM-GPG-KEY-cloudera    
gpgcheck = 1

在浏览器中出现如下界面:

http://10.101.15.229/cm6/redhat/7/x86_64/cm/6.3.1/

5.4 安装CM的server+agent

# 进入上述创建的CM的文件目录下
# cd /var/www/html/cm5/redhat/7/x86_64/cm/5.7.0/RPMS/x86_64/
cd /var/www/html/cm6/redhat/7/x86_64/cm/6.3.1/RPMS/x86_64/
 
# 安装cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
yum install cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
 
# 安装cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm,
# 请注意,不用安装db版本的,那是使用默认数据库的,在生产环境中一般不使用,
# 生产环境中是使用MySQL数据库的
yum -y install cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm

5.5 配置Postgresql数据库

在master节点上安装postgre数据库,安装过程参考:centos7系统下postgresql11离线安装,卸载

数据库安装完成后,创建名称为cdh的数据库实例。

修改 /etc/cloudera-scm-server/db.properties 内容如下:

com.cloudera.cmf.db.type=postgresql
com.cloudera.cmf.db.host=10.101.15.229:5432
com.cloudera.cmf.db.name=cdh
com.cloudera.cmf.db.user=postgres
com.cloudera.cmf.db.password=123456
#com.cloudera.cmf.db.setupType=EXTERNAL 
 
#注意:最后一行要注释掉,否则会报INVALID value is specified for db.setupType的异常

5.6 启动cloudera-scm-server服务并查看日志

#启动
service cloudera-scm-server start
service cloudera-scm-server status
 
service cloudera-scm-server restart
 
# 在启动时有可能碰到The server time zone value 'EDT' is unrecognized异常,
# 这是mysql的时区和系统的时区不匹配,可以参考如下网站解决
https://blog.csdn.net/u010003835/article/details/88974898
 
#查看日志
cd /var/log/cloudera-scm-server/
tail -f cloudera-scm-server.log
# 出现如下7180即证明启动成功
WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180

成功图片如下所示:

此时查看Postgre数据库,会发现cmf数据库下回自动创建表:

5.7 在浏览器的web页面上安装CM

service cloudera-scm-server start启动成功后,即可以在浏览器上服务7180端口(需开放防火墙)。

登录CM的web界面

在浏览器中输入http://10.101.15.229:7180/cmf/login ,登录CM的web界面,账号和密码均为admin

点击同意许可:

点击继续:

选择CM的版本:

欢迎页面,点击继续:

设置集群名称:

使用搜索模式,搜索需要安装CDH的主机:

5.8 在浏览器的web页面上安装CDH集群

选择存储库

点击更多选项,将其他远程Parcel删除,并输入先前配置好的Parcel:

http://10.101.15.229/cm6/redhat/7/x86_64/cm/6.3.1/

http://10.101.15.229/cdh6.3.2/parcels/

是否需要安装JDK

默认不进行安装,直接下一步:

提供 SSH 登录凭据

提供 SSH 登录凭据,可以自由选择,这里直接使用root用户:

点击继续

安装选定Parcel

先前配置的Parcel就作用于此处,如果不进行此配置会去官网进行下载,对网络要求很高,并网络中断后会重新下载,较麻烦,使用此配置可以直接下载成功,并速度很快:

完成安装

5.8 集群设置

5.8.1 选择服务

5.8.2 自定义角色分配

自定义角色分配,一般将主色分配到master节点,所以该节点内存要大,zookeeper需要安装奇数台,这里是只安装了一台,不合理,请安装3台以上的奇数台:

5.8.3 数据库设置

进行数据库设置,这里使用Postgre数据库:

5.8.4 审核更改

此步骤中不管是开发测试还是生产环境,均不需要更改,直接点击继续,进行下一步:

5.8.5 审核更改

首次运行,会自动运行,运行之后点击继续按钮即可:

6. 安装成功:

此状态为主机配置较低,运行不良,对集群无影响,可以正常工作。

7. 安装kerberos(选装)

(一般人不需要安这个玩意儿,到此cdh安装就结束了)

# 安装kerberos,注意要安装1.15.1-50.el7版本左右的,不能太低,不然CDH开启kerberos报错
# kerberos 1.15.1-50.el7版本在CentOS-7-x86_64-DVD-2009.iso镜像的yum源里就有
# 选择一个节点安装kerberos服务端
yum -y install krb5-server openldap-clients
 
# 所有节点安装客户端及相关库
yum install -y krb5-workstation krb5-libs
 
# 所有节点修改krb5.conf
sudo vi /etc/krb5.conf
 
# krb5.conf示例内容如下:
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log
[libdefaults]
 dns_lookup_realm = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
 default_realm = kunlun.test
# default_ccache_name = KEYRING:persistent:%{uid}
[realms]
 kunlun.test = {
  kdc = bjzj1-vbig-tmp02
  admin_server = bjzj1-vbig-tmp02
 }
 
[domain_realm]
 .bjzj1-vbig-tmp02 = kunlun.test
 bjzj1-vbig-tmp02 = kunlun.test
 
 
# kerberos服务节点修改kdc.conf
sudo vi /var/kerberos/krb5kdc/kdc.conf
 
# kdc.conf示例内容如下:
[kdcdefaults]
 kdc_ports = 88
 kdc_tcp_ports = 88
[realms]
 kunlun.test = {
  #master_key_type = aes256-cts
  max_renewable_life = 7d 0h 0m 0s
  default_principal_flags = +renewable
  acl_file = /var/kerberos/krb5kdc/kadm5.acl
  dict_file = /usr/share/dict/words
  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
  supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
 }
  max_life = 24h
 
# kerberos服务节点修改kadm5.acl
sudo vi /var/kerberos/krb5kdc/kadm5.acl
 
# kadm5.acl示例内容如下:
*/admin@kunlun.test     *
 
#创建数据库
kdb5_util create -r kunlun.test -s
 
# 开启kdc、kadmin服务
sudo systemctl start krb5kdc
sudo systemctl start kadmin
systemctl enable krb5kdc 
systemctl enable kadmin
 
# 创建管理员账户,用于CDH开启kerberos时自动创建principal
kadmin.local:
              addprinc admin/admin
# 记得创建完后测试下该用户

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#,数值计算——插值和外推,Powvargram的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// Functor for variogram v(r)ar^b, /// where b is specified, a is fitted from the data. /// </summary> public class Powvargram { private do…

技术分享 | 在 IDE 插件开发中接入 JCEF 框架

项目背景 当前的开发环境存在多种不同语言的 IDE&#xff0c;如 JetBrains 全家桶、Eclipse、Android Studio 和 VS Code 等等。由于每个 IDE 各有其特定的语言和平台要求&#xff0c;因此开发 IDE 插件时&#xff0c;需要投入大量资源才能尽可能覆盖大部分工具。同时&#xf…

【精选】框架初探篇之——MyBatis的CRUD及配置文件

MyBatis增删改查 MyBatis新增 新增用户 持久层接口添加方法 void add(User user);映射文件添加标签 <insert id"add" parameterType"com.mybatis.pojo.User">insert into user(username,sex,address) values(# {username},# {sex},# {address}) <…

SOLIDWORKS 2024新功能之CAM篇

SOLIDWORKS 2024 新功能 CAM篇目录概述 • 附加探测周期参数 • 反转切割的固定循环螺纹加工 • 包含装配体的零件的正确进给/速度数据 • Heidenhain 探测类型 • 2.5 轴特征向导中岛屿的终止条件 • 链接轮廓铣削操作的切入引导和切出引导参数 • 螺纹铣削操作的最小孔…

从0开始学习JavaScript--深入了解JavaScript框架

JavaScript框架在现代Web开发中扮演着关键角色&#xff0c;为开发者提供了丰富的工具和抽象层&#xff0c;使得构建复杂的、高性能的Web应用变得更加容易。本文将深入探讨JavaScript框架的核心概念、常见框架的特点以及它们在实际应用中的使用。 JavaScript框架的作用 JavaSc…

NX二次开发UF_CSYS_edit_matrix_of_object 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_edit_matrix_of_object Defined in: uf_csys.h int UF_CSYS_edit_matrix_of_object(tag_t object_id, tag_t matrix_id ) overview 概述 Updates the specified coordinat…

Matplotlib自定义坐标刻度_Python数据分析与可视化

自定义坐标刻度 主次要刻度隐藏刻度与标签花哨的刻度格式格式生成器与定位器 虽然matplotlib默认的坐标轴定位器与格式生成器可以满足大部分需求&#xff0c;但是并非对每一幅图都合适。 主次要刻度 学习前最好有对matplotlib图形的对象层级较为了解&#xff0c;例如查看前面…

leetcode刷题详解三

2. 两数相加 思路&#xff1a;直接加&#xff0c;注意进位条件不要用if&#xff0c;核心代码在于sum l1->val l2->val carry; ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode* dummy new ListNode();ListNode* dummy_head dummy;int carry 0;int …

Ubuntu 22.04.3编译AOSP13刷机

文章目录 设备信息下载AOSP并切换分支获取设备驱动编译系统编译遇到的问题Cannot allocate memoryUbuntu设置USB调试刷机参考链接 设备信息 手机&#xff1a;Pixel 4XL 下载AOSP并切换分支 在清华大学开源软件镜像站下载初始化包aosp-latest.tar。 解压缩&#xff0c;切换到…

【汉诺塔 —— (经典分治递归)】

汉诺塔 —— &#xff08;经典分治递归&#xff09; 一.汉诺塔介绍二.分治算法解决汉诺塔问题三.汉诺塔问题的代码实现四.主函数测试展示 一.汉诺塔介绍 汉诺塔问题源自印度一个古老的传说&#xff0c;印度教的“创造之神”梵天创造世界时做了 3 根金刚石柱&#xff0c;其中的一…

机器视觉尺寸测量仪 助力打造智能工厂!

摘要&#xff1a;机器视觉系统基本的特点就是提高生产的灵活性和自动化程度&#xff0c;目前机器视觉技术在蓬勃发展中&#xff0c;机器视觉尺寸测量仪是基于机器视觉原理制造而成的在线几何尺寸精密仪器。本文系统介绍一下该类测量设备。 机器视觉是什么&#xff1f; 简单来讲…

从0开始学习JavaScript--JavaScript数据类型与数据结构

JavaScript作为一门动态、弱类型的脚本语言&#xff0c;拥有丰富的数据类型和数据结构&#xff0c;这些构建了语言的基础&#xff0c;为开发者提供了灵活性和表达力。本文将深入探讨JavaScript中的各种数据类型&#xff0c;包括基本数据类型和复杂数据类型&#xff0c;并介绍常…

2023.11.24制作一个常用的登录注册模板(包含密码验证、输出格式验证、验证码等功能)

2023.11.24制作一个常用的登录注册模板&#xff08;包含密码验证、输出格式验证、验证码等功能&#xff09; 1. 简介2. 功能3. 页面效果3.1 登录页面3.2 忘记密码页3.3 注册页面 1. 简介 比较喜欢简洁风&#xff0c;只是用bootstrap进行简单装饰 制作一个模板&#xff0c;日常…

Leetcode---372周赛

题目列表 2937. 使三个字符串相等 2938. 区分黑球与白球 2939. 最大异或乘积 2940. 找到 Alice 和 Bob 可以相遇的建筑 一、使三个字符串相等 这题把题目意思读懂&#xff0c;正常模拟就行&#xff0c;简单来说就是看三个字符串的最长公共前缀有多长&#xff0c; 代码如下…

学习Pandas 二(Pandas缺失值处理、数据离散化、合并、交叉表与透视表、分组与聚合)

文章目录 六、高级处理-缺失值处理6.1 检查是否有缺失值6.2 缺失值处理6.3 不是缺失值NaN&#xff0c;有默认标记的 七、高级处理-数据离散化7.1 什么是数据的离散化7.2 为什么要离散化7.3 如何实现数据的离散化 八、高级处理-合并8.1 pc.concat实现合并&#xff0c;按方向进行…

x-www-form-urlencoded的含义解释,getReader()和getParameter()的区别

1、x-www-form-urlencoded x-www-form-urlencoded是一种编码格式&#xff0c;它是一种常见的编码方式&#xff0c;用于在HTTP请求中 传输表单数据 。在这种编码方式下&#xff0c;表单数据被编码为URL格式&#xff0c;然后作为请求体&#xff08;payload&#xff09;发送。 需要…

前端大厂(腾讯、字节跳动、阿里......)校招面试真题解析,让你面试轻松无压力!

前言 校招很重要&#xff0c;应届生的身份很珍贵&#xff01;在校招的时候与我们竞争的大部分都是没有工作经验的学生&#xff0c;而且校招企业对学生的包容度高&#xff0c;一般对企业来说&#xff0c;社招更看重实际工作经验&#xff0c;而校招更愿意“培养人”&#xff0c;校…

FindMy技术用于旅行箱

旅行箱&#xff0c;那是出门在外的我们不可或缺的伙伴。无论是商务出差&#xff0c;还是短途旅行&#xff0c;亦或是长途度假&#xff0c;旅行箱都以其便捷的方式&#xff0c;陪伴着我们的整个行程。 然而&#xff0c;在旅途中&#xff0c;丢失旅行箱是一件非常棘手的问题&…

【Web】PhpBypassTrick相关例题wp

目录 ①[NSSCTF 2022 Spring Recruit]babyphp ②[鹤城杯 2021]Middle magic ③[WUSTCTF 2020]朴实无华 ④[SWPUCTF 2022 新生赛]funny_php 明天中期考&#xff0c;先整理些小知识点冷静一下 ①[NSSCTF 2022 Spring Recruit]babyphp payload: a[]1&b1[]1&b2[]2&…

【计算机网络笔记】数据链路层——差错编码

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…