【云计算】Hadoop集群安装

news2024/11/26 21:36:27

文章目录

  • 前言
  • 一、环境
  • 二、安装虚拟机及配置
    • 配置网络
  • 三、安装Ubuntu及配置
    • 下载ISO镜像
    • VMware安装Ubuntu
    • Ubuntu配置:
    • 配置结果IP
    • 免密登录
  • JAVA安装
  • hadoop安装:
    • 文件的作用
      • core-site.xml:
      • core-site.xml
      • yarn-site.xml
      • mapred-site.xml
    • 修改配置:
      • core-site.xml
      • hdfs-site.xml
      • yarn-site.xml
      • mapred-site.xml
      • hadoop-env.sh
      • workers
    • hdfs初始化:
    • 启动 Hadoop
      • 脚本启动:
      • 命令方式启动:
    • 启动
      • 如果出现卷只有一个master:
      • 测试:
  • 总结


前言

Hadoop是一种开源框架,可用于处理大数据集。它基于Google的MapReduce算法和Google文件系统(GFS)的概念而来。Hadoop可在廉价硬件上运行,并能够提供高度可靠性和容错性。

Hadoop主要由两个核心组件组成:

  • HDFS:Hadoop分布式文件系统,用于存储和管理大规模数据集;
  • MapReduce:用于并行处理和生成大规模数据集的分布式算法框架。
    除了这两个核心组件外,Hadoop还包括许多其他工具和应用程序,例如Pig、Hive等。

使用Hadoop进行大数据处理时,需要将数据划分为较小的块,然后将这些块分配给多台机器进行并行处理。每个机器都可以在本地对其分配的块执行MapReduce任务,并将结果上传到主节点进行聚合。整个过程非常复杂,但Hadoop能够自动完成这些工作,使用户只关注业务逻辑即可。

Hadoop最初由Apache基金会开发,现在已成为大数据领域的标准之一。

一、环境

软件及环境版本
VMware17
Ubuntu20.0.4
Hadoop3.3.5

二、安装虚拟机及配置

虚拟机下载网址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
在这里插入图片描述
(安装过程略)
激活:

JU090-6039P-08409-8J0QH-2YR7F 或者  MC60H-DWHD5-H80U9-6V85M-8280D

安装好后界面:
在这里插入图片描述

配置网络

在这里插入图片描述
选择虚拟网络编辑器:
在这里插入图片描述
在这里插入图片描述
这里配置为192.168.200.0/24网段
在这里插入图片描述
网络给DHCP也可:
在这里插入图片描述
到这里我们的网络环境就配置好了,也可以在Ubuntu中配置固定的IP地址,这个我们放到后面。

三、安装Ubuntu及配置

下载ISO镜像

下载Ubuntu镜像文件(清华源):https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/
在这里插入图片描述
我们选择带桌面:
在这里插入图片描述
下载完成后为iso文件

VMware安装Ubuntu

新建虚拟机
在这里插入图片描述
这里我们自定义:
在这里插入图片描述
这里如果选择选项二VMware会自动给你简易安装Ubuntu,推荐向手动安装:
在这里插入图片描述
在这里插入图片描述
选择虚拟机保存位置注意要放在一个比较大的硬盘中:
在这里插入图片描述
存储可以按需设置,注意这里的硬盘是虚拟的硬盘并不会真的将硬盘拆分,VMware是用多少存储多少,并不会影响其他使用:
在这里插入图片描述
在这里插入图片描述
可以向我一样将虚拟机建个文件夹分类:
在这里插入图片描述
在这里插入图片描述
我们设置一个镜像文件:
在这里插入图片描述
网卡选择nat(可以出网):
在这里插入图片描述
其他配置按需,内存和cpu按照电脑配置更改注意内存至少2G,配置好后开机:
在这里插入图片描述
在这里插入图片描述

语言可以选择中文:
在这里插入图片描述
我们选择汉语拼音:
在这里插入图片描述
这里注意不要安装更新不然下载官方源非常慢:
在这里插入图片描述
这里是在虚拟环境对硬盘没有影响:
在这里插入图片描述
在这里插入图片描述
时区选择上海:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ip a 命令查看网卡是否有ip地址
在这里插入图片描述
ping baidu.com测试网络是否正常:
在这里插入图片描述
在这里插入图片描述

sudo passwd root#给root设置密码
su - #切换到root
apt-get update #更新软件源缓存

Ubuntu配置:

apt-get install vim -y # 安装一下vim,因为版本自带的vi有问题这个一直没有修复过
vim /etc/apt/sources.list #直接输入:200dd然后按i健将下面的url复制进去,复制完成后:wq保存退出
阿里源:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

在这里插入图片描述
如果无法复制到vm虚拟机直接用内置火狐搜索阿里源即可复制进去:这个问题后面解决

apt-get upgrade #更新

在这里插入图片描述

apt-get install ssh -y # 安装ssh服务
vim /etc/ssh/sshd_config #按i健写入配置,:wq保存退出

在这里插入图片描述

systemctl enable ssh #加入开机启动
systemctl start ssh #启动ssh服务
systemctl restart ssh #重启ssh服务

在这里插入图片描述
可以看到我们的服务启动22端口:
在这里插入图片描述
我们使用ssh工具连接这里推荐FinalShell,也可以用其他的ssh工具如CRT
在这里插入图片描述

在这里插入图片描述
输入用户名密码和IP连接:
在这里插入图片描述
然后我们拍个快照(快照可以快速恢复环境):
在这里插入图片描述
快速克隆slave节点:
关机后操作:
在这里插入图片描述
选择完整克隆
在这里插入图片描述

在这里插入图片描述
按照一样的方法克隆slave2:在这里插入图片描述
克隆完成后就有三台服务器了:
修改slave1和2的内存为2G:
在这里插入图片描述

修改slavel1的主机名:
sudo vim /etc/hostname
reboot #重启
slavel2一样操作

在这里插入图片描述
为了区别slavel的用户这里我们创建用户并删除原有的master用户:
在这里插入图片描述
在这里插入图片描述

使用slavel1登录:删除master用户
deluser master
slavel2相同操作

在这里插入图片描述
查看地址:
在这里插入图片描述

在这里插入图片描述
使用ssh工具连接:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置结果IP

主机名IP
Master192.168.200.128
slave1192.168.200.129
slave2192.168.200.130
固定IP地址:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
其他两台一样设置:
在这里插入图片描述
在这里插入图片描述

免密登录

  • Hosts 是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts 文件中寻找对应的 IP 地址,一旦找到,系统会立即打开对应网页,如果没有找到,则 系统会再将网址提交 DNS 域名解析服务器进行 IP 地址的解析。
  • 为了机器能够快速识别自己以及其他机器,我们可以做一下域名和 IP 的 hosts 映射,这样在之后的操作中,我们就可以直接用域名来代替 IP 地址。
修改三台的hosts文件:
vim /etc/hosts
将以下内容键入:
192.168.200.128   master
192.168.200.129   slave1
192.168.200.130   slave2

在这里插入图片描述
注意slave12需要修改127.0.0.1:在这里插入图片描述
修改配置后用命令重启网卡或者重启生效:
测试连通性:
在这里插入图片描述
配置免密登录(普通用户权限):生产环境尽量使用用户权限

生成公钥
ssh-keygen  -t rsa#一直按回车

在这里插入图片描述

其他两台机器一样操作:

我们将公钥进行整合

master:
cp id_rsa.pub  authorized_keys # 复制一个公钥
将其他两个公钥复制到此文件内:

在这里插入图片描述
将公钥分发给其他两台电脑或者将公钥复制过去:
其他两台:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
免密登录成功

在这里插入图片描述

JAVA安装

https://adoptium.net/zh-CN/temurin/releases/?version=8
在这里插入图片描述
将java上传给master节点:
在这里插入图片描述
以下配置只在master上操作:

tar -zxvf OpenJDK8U-jdk_x64_linux_hotspot_8u372b07.tar.gz #解压
chmod  755 jdk8u372-b07/ -R #加个权限
vim /root/.bashrc #编辑系统环境变量
最后一行添加:
# JAVA
export JAVA_HOME=/opt/jdk8u372-b07
export PATH=${JAVA_HOME}/bin:$PATH

在这里插入图片描述

 source  /root/.bashrc #更新环境变量

在这里插入图片描述

hadoop安装:

官网下载:https://hadoop.apache.org/releases.html
在这里插入图片描述
点击下载最好使用迅雷:
在这里插入图片描述

这里使用master配置后用scp传输给其他两台:

上传hadoop上传到master的/opt
tar -zxvf hadoop-3.3.5.tar.gz  #解压
配置环境变量:
vim  /root/.bashrc #添加下面内容
cd /opt
chmod	 755 hadoop-3.3.5 -R
# HADOOP
export HADOOP_HOME=/opt/hadoop-3.3.5
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH
source  /root/.bashrc #更新环境变量

在这里插入图片描述
修改hadoop配置文件:
hadoop配置存在与/opt/hadoop-3.3.5/etc/hadoop/目录下:
在这里插入图片描述

文件的作用

core-site.xml:

  1. 是Hadoop的一个配置文件,用于配置Hadoop分布式系统中的核心参数。
  2. 此配置文件定义了Hadoop集群中所有节点共享的属性和变量,如文件系统名称(fs.default.name)、Hadoop运行环境的I/O设置(hadoop.tmp.dir)、RPC服务器的地址(hadoop.rpc.socket.factory.class.default)等。
  3. 同时,该配置文件还可以包含其他一些重要的属性和变量,比如数据块的大小、JobTracker和TaskTracker之间的通信端口等。通过修改core-site.xml文件,可以对Hadoop集群进行全局性的参数调整和优化。

core-site.xml

  1. 是Hadoop分布式系统中的一个配置文件,其主要作用是定义一个或多个全局属性和变量,以便在整个集群中使用。
  2. 定义文件系统:通过定义fs.defaultFS属性,可以指定Hadoop分布式文件系统的名称,默认情况下为hdfs://localhost:9000/。
  3. 配置Hadoop运行环境的I/O设置:可以通过指定hadoop.tmp.dir属性来定义Hadoop本地文件系统(LocalFileSystem)的临时目录。
  4. 包含其他重要参数:core-site.xml还包含了其他一些重要的属性和变量,如数据块的大小、JobTracker和TaskTracker之间的通信端口等。
  5. 配置安全性:通过设置hadoop.security.authentication属性可以启用Hadoop的安全功能。同时也可以使用SASL协议对Hadoop进行加密通信。
  6. 配置其他服务:core-site.xml还可以用于配置其他服务的连接信息,比如HBase和Hive。

yarn-site.xml

  1. 是Hadoop中的一个配置文件,用于配置YARN(Yet Another Resource Negotiator)资源管理器。该配置文件主要用于定义各种YARN服务和组件的配置参数和属性。
  2. 配置资源管理器:可以通过指定yarn.resourcemanager.address属性来设置ResourceManager的地址。此外,还可以通过属性yarn.resourcemanager.scheduler.class来设置使用哪种调度程序。
  3. 分配容器资源:yarn-site.xml也包含了多个与容器资源分配相关的参数,如yarn.scheduler.minimum-allocation-vcores、yarn.scheduler.maximum-allocation-mb等,这些参数用于控制YARN在执行应用程序时如何分配资源。
  4. 配置节点管理器:可以使用yarn.nodemanager.local-dirs属性设置本地目录,以存储节点管理器运行时使用的临时文件。
  5. 安全性配置:yarn-site.xml还包含了一些有关安全性的参数,如yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users属性,可以限制非特权用户运行任务的数量。
  6. 其他配置:除上述功能外,yarn-site.xml还包括其他一些配置,如NodeManager的最大重试次数、队列调度程序的特权级别和容忍度等。

mapred-site.xml

  1. 是Hadoop中的一个配置文件,用于配置MapReduce框架的一些参数和属性。MapReduce是Hadoop的一个核心组件,它主要用于处理大规模数据集的并行计算,提供了分布式计算的能力。
  2. 配置JobTracker:可以使用mapred.job.tracker属性指定JobTracker的地址。此外,还可以通过属性mapred.job.tracker.http.address来设置JobTracker Web UI的地址。
  3. 优化任务执行:mapred-site.xml包含了多个与任务执行相关的参数,如mapred.map.tasks、mapred.reduce.tasks等,这些参数用于控制MapReduce框架在执行任务时的并行度。
  4. 设置输入输出格式:可以通过属性mapreduce.inputformat.class来设置输入格式,通过属性mapreduce.outputformat.class来设置输出格式。
  5. 调整内存和磁盘限制:mapred-site.xml还包括一些与内存和磁盘限制相关的参数,如mapreduce.map.memory.mb、mapreduce.reduce.memory.mb等,这些参数用于调整MapReduce任务在执行时所能使用的内存和磁盘资源。
  6. 安全性配置:mapred-site.xml还包含了一些有关安全性的参数,如mapreduce.job.credentials.binary和mapreduce.job.acl-view-job等,这些参数用于对MapReduce作业的访问进行限制和管理。

修改配置:

core-site.xml

cd /opt/hadoop-3.3.5/etc/hadoop #进入目录
vim core-site.xml #修改
<configuration>
        <property>
                <name>fs.defaultFS</name>
                #这里可以修改为hdfs://master:9000
                <value>hdfs://192.168.200.128:9000</value>
        </property>
                # 配置hadoop运行时产生数据的存储目录,不是临时目录
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/hadoop-3.3.5/tmp</value>
        </property>
</configuration>
保存退出:

在这里插入图片描述

hdfs-site.xml

vim hdfs-site.xml
修改以下配置:
<configuration>
# 配置在hdfs中,一份文件存几份,默认是3份,一台机器只能存一份,小于datanode数量
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
                # 是否打开权限检查系统
        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>
                # 命名空间和事务在本地文件系统永久存储的路径
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/opt/hadoop-3.3.5/data/namenode</value>
        </property>
                # DataNode在本地文件系统中存放块的路径
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/opt/hadoop-3.3.5/data/datanode</value>
        </property>
</configuration>
修改完配置后需要创建以下文件夹用于数据存放:
mkdir -p /opt/hadoop-3.3.5/data/namenode
mkdir -p /opt/hadoop-3.3.5/data/datanode
mkdir -p /opt/hadoop-3.3.5/tmp

在这里插入图片描述

yarn-site.xml

vim yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->
# 指定yarn的resourcemanager的地址(该地址是resourcemanager的主机地址
,即主机名或该主机的ip地址
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
                # 指定mapreduce执行shuffle时获取数据的方式
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

在这里插入图片描述

mapred-site.xml

vim mapred-site.xml 
<configuration>
# 指定mapreduce运行在yarn上
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>yarn.app.mapreduce.am.env</name>
                <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.3.5</value>
        </property>
        <property>
                <name>mapreduce.map.env</name>
                <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.3.5</value>
        </property>
        <property>
                <name>mapreduce.reduce.env</name>
                <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.3.5</value>
        </property>
</configuration>

在这里插入图片描述

hadoop-env.sh

在任意地方添加 JAVA_HOME和系统运行环境:

vim hadoop-env.sh
export JAVA_HOME=/home/hadoop/jdk8u362-b09
export JAVA_HOME=/opt/jdk8u372-b07
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root

在这里插入图片描述

workers

vim workers
master
slave1
slave2

在这里插入图片描述
配置完成后将hadoop和java发送给slave1和2:

scp /opt/hadoop-3.3.5 slave1:/opt
scp /opt/hadoop-3.3.5 slave2:/opt
scp /opt/jdk8u372-b07 slave1:/opt
scp /opt/jdk8u372-b07 slave2:/opt
scp /root/.bashrc slave1:/root/
scp /root/.bashrc slave2:/root/
在slave1和2执行:
source /root/.bashrc

使用java -version查看是否配置成功
在这里插入图片描述

hdfs初始化:

三台执行:
hdfs namenode -format

如果初始化失败,需要用下面的命令手动清空 namenode 和 datanode 文件夹,调整配置后,重新初始化

启动 Hadoop

脚本启动:

脚本位置为:/opt/hadoop-3.3.5/sbin
在这里插入图片描述

./start-all.sh #启动所有进程
./start-dfs.sh #启动hdfs进程
./start-yarn.sh #启动yarn进程
./stop-all.sh #关闭所有进程
./stop-dfs.sh #关闭hdfs进程
./stop-yarn.sh #关闭yarn进程

命令方式启动:

Namenode:

hdfs --daemon start namenode
hdfs --daemon stop namenode
hdfs --daemon restart namenode

Datanode:

hdfs --daemon start datanode
hdfs --daemon stop datanode
hdfs --daemon restart datanode

ResourceManager:

yarn --daemon start resourcemanager
yarn --daemon stop resourcemanager
yarn --daemon restart resourcemanager

NodeManager:

yarn --daemon start nodemanager
yarn --daemon stop nodemanager
yarn --daemon restart nodemanager

启动

./start-all.sh
启动完毕后可以使用 jps 命令查看启动的 hadoop 进程
在这里插入图片描述
在这里插入图片描述
可以访问 http://192.168.200.128:9870或http://master:9870 ,查看 HDFS 运行情况
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以访问http://192.168.200.128:8088或 http://master:8088 查看所有 Yarn 任务的运行情况

在这里插入图片描述

如果出现卷只有一个master:

修改hosts文件:将127.0.0.1 master注释掉,重启即可
在这里插入图片描述

测试:

cd /opt/hadoop-3.3.5/share/hadoop/mapreduce #进入mapreduce目录
hadoop jar hadoop-mapreduce-examples-*.jar pi 10 10#我们可以使用一个简单的例子来测试一下 hadoop 是否能够正常运行我们从 hadoop 安装文件夹,启动一个终端,使用下面的命令,计算 pi 值。

在这里插入图片描述

在这里插入图片描述
到这里我们的hadoop就能正常使用了

总结

安装到这里就结束了,这里用的root用户安装的,在生产环境中建议使用普通用户进行安装,总结以下步骤
在安装Hadoop之后,需要完成以下几个步骤才能开始使用:

  1. 配置环境变量
    将Hadoop的bin和sbin目录加入PATH环境变量中,以便直接使用Hadoop命令。

  2. 修改配置文件
    根据实际情况修改Hadoop的配置文件,特别是core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml等。

  3. 格式化HDFS
    在第一次启动Hadoop之前,需要格式化HDFS来创建默认的目录结构。

  4. 启动Hadoop
    使用start-all.sh脚本或手动启动各个组件的进程,开始运行Hadoop集群。

  5. 测试Hadoop
    可以使用Hadoop自带的示例程序,如WordCount和PiEstimator等,来测试Hadoop集群是否正确运行。

总的来说,在安装和配置Hadoop之后,需要对其进行一些基础设置和测试,以确保其正常运行。如果出现问题,需要逐一排查相关的错误,并及时解决。

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

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

相关文章

【Linux网络】网络层IP和数据链路层

文章目录 1、网络层IP1.1 认识网络层1.2 IP报文格式和IP报文切片1.3 网段划分以及路由 2、数据链路层2.1 以太网帧格式2.2 ARP协议 3、其它重要协议或技术3.1 DNS技术3.2 ICMP协议3.3 NAT技术3.4 NAT和代理服务器 1、网络层IP 1.1 认识网络层 浅谈一下各层 应用层&#xff1a;…

JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)复现

文章目录 一.前言二.影响版本三.环境搭建四.漏洞复现1.编写反弹shell的命令2.序列化数据生成3.发送POC 一.前言 该漏洞为 Java反序列化错误类型&#xff0c;存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试…

基于AT89C51单片机的温度计设计

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87773445 源码获取 主要内容&#xff1a; 设计一个简易温度计&#xff1b;要求电路实现如下功能&#xff1a; 设计通过单片机和数码管、led灯等组成&#xff0c;可…

巧用千寻位置GNSS软件| 一文学会曲线样

曲线放样是圆曲线形放样工具&#xff0c;在线路初堪、临时设计、临时放样采集坐标等作业过程中&#xff0c;曲线放样更加简单和方便。千寻位置GNSS软件提供了三种线型文件编辑放&#xff0c;分别是直线、圆曲线 和缓曲线。圆曲线说明:线型上任意一点的曲率、半径都相同;缓曲线说…

【剧前爆米花--爪哇岛寻宝】网络编程一些概念以及Java实现网络编程流程

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaEE初阶》 文章分布&#xff1a;这是一篇关于网络初识的文章&#xff0c;在这篇文章中剖析了网络编程的一些概念以及用Java实现网络编程的一些流程&#xff0c;希望对你有所帮助&#xff01; 目录 网络编程 含义和一些概念 …

sysMaster: 全新1号进程实现方案,秒级自愈,保障系统全天在线

认识 1 号进程和 sysMaster 在 Linux 操作系统中&#xff0c;1 号进程是 init 进程&#xff0c;它是所有其他进程的祖先进程。init 进程是系统启动时第一个被创建的进程&#xff0c;它负责启动和管理其他所有进程&#xff0c;并在系统关机时关闭它们。在现代 Linux 系统中&…

数组--part 4--长度最小的子数组(力扣299/904/76)

文章目录 算法基本思想leetcode 209 长度最小的子数组leetcode 904 水果成篮leetcode 76 最小覆盖子串 算法基本思想 首先对于滑动窗口&#xff0c;题目可以先去看看leetcode 209 进行相关的了解后&#xff0c;再来书写代码。 首先我们的第一想法肯定就是暴力解法&#xff1a…

html实现汉诺塔小游戏

文章目录 1.设计来源汉诺塔由来1.1 主界面1.2 游戏规则1.3 游戏完成界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/130606736 html实现汉诺塔小游戏源码 汉诺塔&…

数据结构-链表(详解)

前言&#xff1a;内容包括&#xff1a;链表的分类&#xff0c;无头单向非循环链表的增删查改的实现&#xff0c;带头双向循环链表的增删查改的实现 目录 链表的分类 1. 单向或者双向 ​编辑 2. 带头或者不带头 3. 循环或者非循环 无头单向非循环链表&#xff1a; ​编辑…

造梦日记 Printidea 用户手册

*Hi 造梦日记* 欢迎来到造梦日记的空间&#xff5e; 造梦日记Printidea是一款基于AI算法、输入文字或图片即可生成高质量图片的工具&#xff0c;由西湖大学深度学习实验室和西湖心辰联合出品&#xff0c;超强算力&#xff0c;0.8秒出图&#xff0c;目前支持微信小程序、网页端…

边缘计算盒子的特点?边缘计算盒子适用于什么场景

边缘计算盒子&#xff08;Edge Computing Box&#xff09;是一种用于边缘计算的硬件设备&#xff0c;它通常是一个小型的计算设备&#xff0c;具备一定的计算能力和存储资源&#xff0c;并且能够连接到网络。边缘计算盒子的主要目的是在物联网&#xff08;IoT&#xff09;和分布…

续ShaderEditor、Inspector之后又一成功爆品,2周260+单!

01 前言 大家好&#xff0c;我是98K&#xff01;五一前&#xff0c;我上架 Cocos Store 的『高性能割草框架』增加 Cocos Creator 2.4.x 引擎&#xff0c;已经支持的老铁可免费更新&#xff01; 后续的更新计划是&#xff1a;完善2D游戏案例、增加3D案例、支持RVO和群聚&#…

Android WebView 长按弹出的文本选择器如何监听滑动和如何弹出完全自定义的菜单栏

在这次改版中&#xff0c;h5小伙伴与我沟通说要把长按选择改用成原生的拉选框&#xff0c;之前我也没搞过呀&#xff0c;开始研究吧。 怎么研究呀&#xff0c;当然是百度一下了。 百度了一天总结如下&#xff1a; 好多文章都是告诉你如何在系统的基础上来修改自己的文字和点…

vue2 框架运行原理剖析系列(二)之 组件挂载$mount神秘之旅!!!

一、vue组件挂载 1.1 上一篇文章中&#xff0c;介绍到组件执行 mountComponent 函数&#xff0c;本文对此展开详细的讲解。 1.2 调用改方法的位置在于entry-runtime-with-compiler.js 的Vue.prototype.$mount&#xff0c;具体代码如下&#xff1a; 其中&#xff0c; &#xff…

【图像融合】Dif-Fusion:基于扩散模型的红外/可见图像融合方法

文章目录 摘要一、前言二、相关工作1.红外线和可见光的图像融合2.扩散模型&#xff08;可见博主之前的博客&#xff09; 三、方法1.红外线和可见光图像的联合扩散2*.多通道扩散特征的融合 四、实验1.实验设置2.融合性能分析&#xff08;效果展示&#xff09;3.泛化实验 总结 摘…

通知短信 API 技术细节以及发送流程机制原理解析

引言 短信是一种简单、直接、高效的通信方式&#xff0c;被广泛应用于各个领域。在移动互联网时代&#xff0c;短信成为了客户服务、政府通知、公共服务等方面的重要工具。为了更好地利用短信这种通信方式&#xff0c;通知短信 API应运而生。短信API可以帮助企业、政府和应用程…

RK3588旗舰32T人工智能多网口边缘智能网关交换机

32T边缘智能网关发布&#xff0c;助力多行业数字化升级&#xff0c;运维降本增效&#xff0c;搭载RK3588旗舰芯 搭载瑞芯微RK3588芯片的边缘智能网关XM-RK3588&#xff0c;算力可扩展至32T&#xff0c;适用于电力能源、智慧交通、智慧城市、智慧安防、智慧医疗、工业互联网等领…

前端的加密和解密,crypto-js的应用,AES / RSA / md5

每日鸡汤&#xff1a;每个你想学习的瞬间&#xff0c;都是未来你的向自己求救 内容预警*****新手内容&#xff0c;自己学习总结用****大佬请绕道 之前看https原理&#xff0c;看到对称加密和非对称加密&#xff0c;各种加密方法&#xff0c;看得云里雾里&#xff0c;即便是总结…

报错main.py: error: unrecognized arguments: stack_size 4 1001,770,123

运行从GitHub上面下载下来的代码时&#xff0c;按照作者提供的输入命令输入后报错&#xff1a; main.py: error: unrecognized arguments: stack_size 4 1001,770,123 将报错的部分在网上百度&#xff0c;找到部分方法&#xff0c;得出理解&#xff1a;输入的命令是出错的&am…

【RS专题】怎么知道你遇到的是rs风控

本文属于技术分享、如有侵权可联系本人下架 最简单的方法就是查看cookie,在控制台输入【document.cookie】 如果出现如上图中有【xxxxxxT】或者【xxxxxxP】的,并且它的值都为英文数字和下滑线加点,那么基本可以确定这个网站用了rs反爬 什么是rs反爬,下面抄一段内容 瑞数动…