当前位置: 首页 > news >正文

Hadoop的概述与安装

Hadoop的概述与安装

  • 一、Hadoop内部的三个核心组件
    • 1、HDFS:分布式文件存储系统
    • 2、YARN:分布式资源调度系统
    • 3、MapReduce:分布式离线计算框架
    • 4、Hadoop Common(了解即可)
  • 二、Hadoop技术诞生的一个生态圈
    • 数据采集存储
    • 数据清洗预处理
    • 数据统计分析
    • 数据迁移
    • 数据可视化
    • zookeeper
  • 三、主要围绕Apache的Hadoop发行版本来学习
  • 四、Hadoop的安装的四种模式
  • 五、Hadoop的伪分布安装流程
  • 六、格式化HDFS集群
  • 七、启动HDFS和YARN
  • 八、Hadoop的完全分布式安装
    • 1、克隆虚拟机
    • 2、安装JDK
    • 3、安装Hadoop完全分布式
    • 4、格式化HDFS
    • 5、启动HDFS和YARN

Hadoop技术 —— 脱自于Google的三篇论文(大数据软件一般都要求7*24小时不宕机)

把大数据中遇到的两个核心问题(海量数据的存储问题和海量数据的计算问题)全部解决了

一、Hadoop内部的三个核心组件

1、HDFS:分布式文件存储系统

分布式思想解决了海量数据的分布式存储问题

三个核心组件组成

  • NameNode:主节点
    • 存储整个HDFS集群的元数据(目录结构)
    • 管理整个HDFS集群
  • DataNode:数据节点/从节点
    • 存储数据的,DataNode以Block块的形式进行文件存储
  • SecondaryNameNode:小秘书
    • 帮助NameNode合并日志数据的(元数据)

2、YARN:分布式资源调度系统

解决分布式计算程序的资源分配以及任务监控问题

Mesos:分布式资源管理系统(YARN的替代品)

两个核心组件组成

  • ResourceManager:主节点
    • 管理整个YARN集群的,同时负责整体的资源分配
  • NodeManager:从节点
    • 真正负责进行资源提供的

3、MapReduce:分布式离线计算框架

分布式思想解决了海量数据的分布式计算问题

4、Hadoop Common(了解即可)

二、Hadoop技术诞生的一个生态圈

数据采集存储

flume、Kafka、hbase、hdfs

数据清洗预处理

MapReduce、Spark

数据统计分析

Hive、Pig

数据迁移

sqoop

数据可视化

ercharts

zookeeper

三、主要围绕Apache的Hadoop发行版本来学习

官网:https://hadoop.apache.org

apache hadoop发行版本

  • hadoop1.x
  • hadoop2.x
  • hadoop3.x
    • hadoop3.1.4

四、Hadoop的安装的四种模式

hadoop软件中HDFS和YARN是一个系统,而且是一个分布式的系统,同时他们还是一种主从架构的软件。

第一种:本地安装模式:只能使用MapReduce,HDFS、YARN均无法使用 —— 基本不用

第二种:伪分布安装模式:hdfs和yarn的主从架构软件全部安装到同一个节点上

第三种:完全分布式安装模式:hdfs和yarn的主从架构组件安装到不同的节点上

第四种:HA高可用安装模式:hdfs和yarn的主从架构组件安装到不同节点上,同时还需要把他们的主节点多安装两三个,但是在同一时刻只能有一个主节点对外提供服务 —— 借助Zookeeper软件才能实现

修改配置文件:hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-env.sh、mapred-site.xml、yarn-site.xml、yarn-env.sh、workers、log4j.properties、capacity-scheduler.xml、dfs.hosts、dfs.hosts.exclude

五、Hadoop的伪分布安装流程

1、需要在Linux上先安装JDK,Hadoop底层是基于Java开发的

  • 环境变量的配置主要有两个地方可以配置
/etc/profile:系统环境变量
~/.bash_profile:用户环境变量
环境变量配置完成必须重新加载配置文件
source  环境变量文件路径

2、配置当前主机的主机映射以及ssh免密登录

3、安装本地版本的Hadoop

  • 上传 —— 使用xftp将Windows下载好的hadoop-3.1.4.tar.gz传输到/opt/software目录下
  • 解压 —— tar -zxvf hadoop-3.1.4.tar.gz -C /opt/app
  • 配置环境变量
    • vim /etc/profile
    • export HADOOP_HOME=/opt/app/hadoop-3.1.4
      export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    • source /etc/profile

4、安装伪分布式版本的Hadoop

修改各种各样的hadoop配置文件即可

  • hadoop-env.sh 配置Java的路径
vim hadoop-env.sh
#第54行
export JAVA_HOME=/opt/app/jdk1.8.0_371
#第58行
export HADOOP_HOME=/opt/app/hadoop-3.1.4
#第68行
export HADOOP_CONF_DIR=/opt/app/hadoop-3.1.4/etc/hadoop
#最后一行
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

image-20230718210944383

  • core-site.xml 配置HDFS和YARN的一些共同的配置项
    • 配置HDFS的NameNode路径
    • 配置HDFS集群存储的文件路径
vim core-site.xml
<!--在configuration标签中增加如下配置-->
<configuration><!-- 指定HDFS中NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://single:9000</value></property><!-- 指定hadoop运行时产生文件的存储目录  HDFS相关文件存放地址--><property><name>hadoop.tmp.dir</name><value>/opt/app/hadoop-3.1.4/metaData</value></property><!-- 整合hive 用户代理设置 --><property><name>hadoop.proxyuser.root.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property></configuration>

image-20230822161902347

  • hdfs-site.xml 配置HDFS的相关组件
    • 配置NameNode的web访问路径、DN的web访问网站,SNN的web访问路径等等
vim hdfs-site.xml
<configuration><!-- 指定HDFS副本的数量 --><property><name>dfs.replication</name><!-- hdfs的dn存储的block的备份数--><value>1</value></property><!--hdfs取消用户权限校验--><property><name>dfs.permissions.enabled</name><value>false</value></property><property><name>dfs.namenode.http-address</name><value>0.0.0.0:9870</value>
<!-- 50070,9870--> </property><property><name>dfs.datanode.http-address</name><value>0.0.0.0:9864</value>
<!-- 50075,9864--> </property><property><name>dfs.secondary.http-address</name><value>0.0.0.0:9868</value>
<!-- 50090,9868--> </property><!--用于指定NameNode的元数据存储目录--><property><name>dfs.namenode.name.dir</name><value>/opt/app/hadoop-3.1.4/metaData/dfs/name1,/opt/app/hadoop-3.1.4/metaData/dfs/name2</value></property>
</configuration>

image-20230822192047054

  • mapred-env.sh 配置MR程序运行时的关联的软件(Java YARN)路径
vim mapred-env.sh
#最后一行
export JAVA_HOME=/opt/app/jdk1.8.0_371

image-20230718212027604

  • mapred-site.xml 配置MR程序运行环境
    • 配置将MR程序在YARN上运行
vim mapred-site.xml
<!-- 指定mr运行在yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property><!-- 指定MR APP Master需要用的环境变量  hadoop3.x版本必须指定--><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property><!-- 指定MR 程序 map阶段需要用的环境变量 hadoop3.x版本必须指定--><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property><!-- 指定MR程序 reduce阶段需要用的环境变量 hadoop3.x版本必须指定--><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property>
<property><name>mapreduce.map.memory.mb</name><value>250</value>
</property>
<property><name>mapreduce.map.java.opts</name><value>-Xmx250M</value>
</property>
<property><name>mapreduce.reduce.memory.mb</name><value>300</value>
</property>
<property><name>mapreduce.reduce.java.opts</name><value>-Xmx300M</value>
</property><property><name>mapreduce.jobhistory.address</name><value>single:10020</value>
</property>
<property><name>mapreduce.jobhistory.webapp.address</name><value>single:19888</value>
</property>

image-20230718212347926

image-20230822192150660

  • yarn-env.sh 配置YARN关联的组件路径
vim  yarn-env.sh
#最后一行
export JAVA_HOME=/opt/app/jdk1.8.0_371

image-20230718212518831

  • yarn-site.xml 配置YARN的相关组件
    • 配置RM、NM的web访问路径等等
vim yarn-site.xml
<!-- reducer获取数据的方式 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定YARN的ResourceManager的地址 --><property><name>yarn.resourcemanager.hostname</name><!-- 指定yarn的RM组件安装到哪个主机上--><value>single</value></property><property><name>yarn.application.classpath</name><!-- 指定yarn软件在运行时需要的一些环境路径--><value>/opt/app/hadoop-3.1.4/etc/hadoop,/opt/app/hadoop-3.1.4/share/hadoop/common/*,/opt/app/hadoop-3.1.4/share/hadoop/common/lib/*,/opt/app/hadoop-3.1.4/share/hadoop/hdfs/*,/opt/app/hadoop-3.1.4/share/hadoop/hdfs/lib/*,/opt/app/hadoop-3.1.4/share/hadoop/mapreduce/*,/opt/app/hadoop-3.1.4/share/hadoop/mapreduce/lib/*,/opt/app/hadoop-3.1.4/share/hadoop/yarn/*,/opt/app/hadoop-3.1.4/share/hadoop/yarn/lib/*</value></property>
<!-- yarn.resourcemanager.webapp.address:指的是RM的web访问路径-->
<!-- 日志聚集功能启动 -->
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property><property><name>yarn.log.server.url</name><value>http://single:19888/jobhistory/logs</value>
</property>
<!--关闭yarn对虚拟内存的限制检查 -->
<property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
</property>

image-20230718212909109

image-20230822192349611

  • workers/slaves 配置HDFS和YARN的从节点的主机
    • 配置DN和NM在哪些节点上需要安装
vim workers
<!-- 将localhost改为single -->
single

image-20230718213001560

  • log4j.properties —— 配置Hadoop运行过程中日志输出目录
vim log4j.properties
#第19行
hadoop.log.dir=/opt/app/hadoop-3.1.4/logs 
#指定Hadoop运行过程中日志输出目录

image-20230719092759757

六、格式化HDFS集群

hdfs namenode -format

七、启动HDFS和YARN

  • HDFS

    • start-dfs.sh

    报错

    image-20230718213604928

    解决方案:

    vim /etc/profile
    #在最后一行加入以下内容
    # HADOOP 3.X版本还需要增加如下配置
    export HDFS_NAMENODE_USER=root
    export HDFS_DATANODE_USER=root
    export HDFS_SECONDARYNAMENODE_USER=root
    export YARN_RESOURCEMANAGER_USER=root
    export YARN_NODEMANAGER_USER=root
    #然后使配置文件生效
    source /etc/profile
    

    image-20230718213809936

    image-20230718214052308

    • stop-dfs.sh
    • 提供了一个web访问网站,可以监控整个HDFS集群的状态信息
      http://ip:9870 hadoop3.x
      ip:50070 hadoop2.x
  • yarn

    • start-yarn.sh

    image-20230718214130649

    • stop-yarn.sh
    • 提供了一个web网站,可以监控整个YARN集群的状态:
      http://ip:8088

八、Hadoop的完全分布式安装

1、克隆虚拟机

三台虚拟机需要配置IP、主机名、主机IP映射、ssh免密登录、时间服务器的安装同步、yum数据仓库更换为国内镜像源

image-20230719095947238

image-20230719095813819

image-20230719100610519

image-20230719101920020

时间服务器chrony的安装同步

yum install -y chrony

image-20230719103934985

先配置主服务器

vim /etc/chrony.conf

在第7行添加allow 192.168.31.0/24

image-20230719104240688

再配置两台从服务器

vim /etc/chrony.conf

就将3 - 6行的server删除后,添加一行server node1 iburst

image-20230719104606877

开启服务

image-20230719104959143

2、安装JDK

此处省略,如需请查看之前博客

3、安装Hadoop完全分布式

  • hdfs.site.xml
<configuration><property><name>dfs.replication</name><value>3</value></property><!--secondary namenode地址--><property><name>dfs.namenode.secondary.http-address</name><value>node3:9868</value></property><!--hdfs取消用户权限校验--><property><name>dfs.permissions.enabled</name><value>false</value>      </property><property><name>dfs.namenode.datanode.registration.ip-hostname-check</name><value>true</value></property>
</configuration>

image-20230719112153586

  • yarn.site.xml
<configuration>
<!-- reducer获取数据的方式 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定YARN的ResourceManager的地址 --><property><name>yarn.resourcemanager.hostname</name><value>node2</value></property><property><name>yarn.application.classpath</name><value>/opt/app/hadoop-3.1.4/etc/hadoop,/opt/app/hadoop-3.1.4/share/hadoop/common/*,/opt/app/hadoop-3.1.4/share/hadoop/common/lib/*,/opt/app/hadoop-3.1.4/share/hadoop/hdfs/*,/opt/app/hadoop-3.1.4/share/hadoop/hdfs/lib/*,/opt/app/hadoop-3.1.4/share/hadoop/mapreduce/*,/opt/app/hadoop-3.1.4/share/hadoop/mapreduce/lib/*,/opt/app/hadoop-3.1.4/share/hadoop/yarn/*,/opt/app/hadoop-3.1.4/share/hadoop/yarn/lib/*</value></property>
</configuration>

image-20230719112649613

  • mapred-site.xml
 <!-- 指定mr运行在yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property>

image-20230719112903402

共需配置九个相关文件

image-20230719113122255

然后将node1上的/opt/app发送到node2和node3节点上的/opt上

scp -r /opt/app root@node2:/opt

4、格式化HDFS

namenode所在节点格式化

hdfs namenode -format

5、启动HDFS和YARN

1、 HDFS是在namenode所在节点启动(node1)

2、YARN是在RM所在节点启动(node2)

相关文章:

Hadoop的概述与安装

Hadoop的概述与安装 一、Hadoop内部的三个核心组件1、HDFS&#xff1a;分布式文件存储系统2、YARN&#xff1a;分布式资源调度系统3、MapReduce&#xff1a;分布式离线计算框架4、Hadoop Common&#xff08;了解即可&#xff09; 二、Hadoop技术诞生的一个生态圈数据采集存储数…...

进程、线程与构造方法

进程、线程与构造方法 目录 一&#xff0e; 进程与线程1. 通俗解释2. 代码实现3. 线程生命周期&#xff08;图解&#xff09; 二&#xff0e; 构造方法 一&#xff0e; 进程与线程 1. 通俗解释 进程&#xff1a;就像电脑上运行的软件&#xff0c;例如QQ等。 线程&#xff1a;…...

04 Linux补充|C/C++

目录 Linux补充 C语⾔ C语言中puts和printf的区别&#xff1f; Linux补充 (1)ubuntu安装ssh服务端openssh-server命令&#xff1a; ubuntu安装后默认只有ssh客户端&#xff0c;只能去连其它ssh服务器&#xff1b;其它客户端想要连接这个ubuntu系统&#xff0c;需要安装部署…...

利用python制作AI图片优化工具

将模糊图片4K高清化效果如下&#xff1a; 优化前的图片 优化后如下图&#xff1a; 优化后图片变大变清晰了效果很明显 软件界面如下&#xff1a; 所用工具和代码&#xff1a; 1、所需软件包 网盘链接&#xff1a;https://pan.baidu.com/s/1CMvn4Y7edDTR4COfu4FviA提取码&…...

React v6(仅支持函数组件,不支持类组件)与v5版本路由使用详情和区别(详细版)

1.路由安装(默认安装最新版本6.15.0) npm i react-router-dom 2.路由模式 有常用两种路由模式可选&#xff1a;HashRouter 和 BrowserRouter。 ①HashRouter&#xff1a;URL中采用的是hash(#)部分去创建路由。 ②BrowserRouter&#xff1a;URL采用真实的URL资源&#xff0c;…...

(数字图像处理MATLAB+Python)第十二章图像编码-第一、二节:图像编码基本理论和无损编码

文章目录 一&#xff1a;图像编码基本理论&#xff08;1&#xff09;图像压缩的必要性&#xff08;2&#xff09;图像压缩的可能性A&#xff1a;编码冗余B&#xff1a;像素间冗余C&#xff1a;心理视觉冗余 &#xff08;3&#xff09;图像压缩方法分类A&#xff1a;基于编码前后…...

【Unity编辑器扩展】| 顶部菜单栏扩展 MenuItem

前言【Unity编辑器扩展】 | 顶部菜单栏扩展 MenuItem一、创建多级菜单二、创建可使用快捷键的菜单项三、调节菜单显示顺序和可选择性四、创建可被勾选的菜单项五、右键菜单扩展5.1 Hierarchy 右键菜单5.2 Project 右键菜单5.3 Inspector 组件右键菜单六、AddComponentMenu 特性…...

golang读取键盘功能按键输入

golang读取键盘功能按键输入 需求 最近业务上需要做一个终端工具&#xff0c;能够直接连到docker容器中进行交互。 技术选型 docker官方提供了python sdk、go sdk和remote api。 https://docs.docker.com/engine/api/sdk/ 因为我们需要提供命令行工具&#xff0c;因此采用g…...

用sklearn实现线性回归和岭回归

此文为ai创作&#xff0c;今天写文章的时候发现创作助手限时免费&#xff0c;想测试一下&#xff0c;于是就有了这篇文章&#xff0c;看的出来&#xff0c;效果还可以&#xff0c;一行没改。 线性回归 在sklearn中&#xff0c;可以使用线性回归模型做多变量回归。下面是一个示…...

结构型模式-桥接模式

用于把抽象化与实现化解耦&#xff0c;使得二者可以独立变化。这种类型的设计模式属于结构型模式&#xff0c;它通过提供抽象化和实现化之间的桥接结构&#xff0c;来实现二者的解耦。 这种模式涉及到一个作为桥接的接口&#xff0c;使得实体类的功能独立于接口实现类&#xf…...

缓存的放置时间和删除时间

缓存的放置时间和删除时间是指缓存中存储的数据的生命周期。这两个时间点非常重要&#xff0c;因为它们决定了缓存数据的有效期和何时应该从缓存中删除。 缓存的放置时间&#xff08;Cache Put Time&#xff09;&#xff1a;这是指数据首次放入缓存的时间点。当数据被放入缓存时…...

内网穿透实战应用-如何通过内网穿透实现远程发送个人本地搭建的hMailServer的邮件服务

文章目录 1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网映射工…...

ensp基础命令大全(华为设备命令)

路漫漫其修远兮&#xff0c;吾将上下而求索 今天写一些曾经学习过的网络笔记&#xff0c;希望对您的学习有所帮助。 OSPF,BGP,IS-IS的命令笔记没有写上来&#xff0c;计划单独写&#xff0c;敬请期待&#xff0c;或者您可以在这个网站查查 &#xff1a; 万能查询网站 …...

thinkphp6 入门(4)--数据库操作 增删改查

一、设计数据库表 比如我新建了一个数据库表&#xff0c;名为test 二、配置数据库连接信息 本地测试 直接在.env中修改&#xff0c;不用去config/database.php中修改 正式环境 三、增删改查 引入Db库 use think\facade\Db; 假设新增的控制器路径为 app\test\control…...

MyBatisPlus 基础实现(一)

说明 创建一个最基本的MyBatisPlus项目&#xff0c;参考官网。 依赖 MyBatisPlus 依赖&#xff0c;最新版是&#xff1a;3.5.3.2 &#xff08;截止2023-9-4&#xff09;。 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-bo…...

jmeter 计数器Counter

计数器可以用于生成动态的数值或字符串&#xff0c;以模拟不同的用户或数据。 计数器通常与用户线程组结合使用&#xff0c;以生成不同的变量值并在测试中应用。以下是计数器的几个常用属性&#xff1a; 变量前缀&#xff08;Variable Name Prefix&#xff09;&#xff1a;定义…...

OpenCV(十九):模板匹配

1.模板匹配&#xff1a; OpenCV提供了一个模板匹配函数&#xff0c;用于在图像中寻找给定模板的匹配位置。 2.图像模板匹配函数matchTemplate void matchTemplate( InputArray image, InputArray templ, OutputArray result, int method, InputArray mask noArray() ); image…...

【iOS】Category、Extension和关联对象

Category分类 Category 是 比继承更为简洁 的方法来对Class进行扩展,无需创建子类就可以为现有的类动态添加方法。 可以给项目内任何已经存在的类 添加 Category甚至可以是系统库/闭源库等只暴露了声明文件的类 添加 Category (看不到.m 文件的类)通过 Category 可以添加 实例…...

支持向量机(一)

文章目录 前言分析数据集线性可分情况下的支持向量机原始问题凸优化包解法对偶问题凸优化包解法 数据集线性不可分情况下的线性支持向量机与软间隔最大化 前言 在支持向量机中&#xff0c;理论逻辑很简单&#xff1a;最大化最小的几何间隔。但是实际编写代码过程中有一个小点需…...

MyBatis中至关重要的关系映射----全方面介绍

目录 一 对于映射的概念 1.1 三种关系映射 1.2 resultType与resultMap的区别 resultType&#xff1a; resultMap&#xff1a; 二&#xff0c;一对一关联查询 2.1 嵌套结果集编写 2.2 案例演示 三&#xff0c;一对多关联查询 3.1 嵌套结果集编写 3.3 案例演示 四&…...

47、TCP的流量控制

从这一节开始&#xff0c;我们学习通信双方应用进程建立TCP连接之后&#xff0c;数据传输过程中&#xff0c;TCP有哪些机制保证传输可靠性的。本节先学习第一种机制&#xff1a;流量控制。 窗口与流量控制 首先&#xff0c;我们要知道的是&#xff1a;什么是流量控制&#xff…...

密码学入门——环游密码世界

文章目录 参考书目一、基本概念1.1 本书主要角色1.2 加密与解密 二、对称密码与公钥密码2.1 密钥2.2 对称密码和公钥密码2.3 混合密码技术 三、其他密码技术 参考书目 图解密码技术 第三版 一、基本概念 1.1 本书主要角色 1.2 加密与解密 加密 解密 密码破译 二、对称密…...

笔记本家庭版本win11上win+r,运行cmd默认没有管理员权限,如何调整为有管理员权限的

华为matebookeGo 笔记本之前有段时间不知怎么回事&#xff0c;打开运行框&#xff0c;没有了那一行“使用管理权限创建此任务”&#xff0c;而且cmd也不再是默认的管理员下的&#xff0c;这很不方便,虽然每次winr &#xff0c;输入cmd后可以按ctrlshitenter以管理员权限运行&am…...

MavenCentral库发布记录

最近发布了 Android 路由库 URouter&#xff0c;支持 AGP8、ActivityResult启动等特性。 把提交到 Maven Central 过程记录一下。 一、注册 Sonatype 账号&#xff0c;新建项目 注册 https://​​issues.sonatype.org 登录后&#xff0c;新建项目&#xff1a; 相关选项&…...

小程序进阶-env(safe-area-inset-bottom)的使用

一、简介 env(safe-area-inset-bottom)和env(safe-area-inset-top)是CSS中的变量&#xff0c;用于获取设备底部和顶部安全区域的大小。 所谓的安全区域就是指在iPhone X及以上的设备中&#xff0c;为避免被屏幕的“刘海”和“Home Indicator”所遮挡或者覆盖的有效区域区域&am…...

移动端App持续集成体系构建实战

这里写目录标题 一、目标1、前言2、优势&#xff1a;3、涉及技术点4、目标 二、测试app构建、打包过程1、安卓打包的环境要求 三、演示安卓源码打包四、演示安卓App部署1、前提条件2、命令控制apk安装与卸载 五、安卓UI自动化测试1、Appium app自动化测试-Python2、实现的验证点…...

Mybatis的关联关系配置一对一,一对多,多对多的映射关系

目录 关联关系映射 一对一关联&#xff1a; 一对多关联&#xff1a; 多对多关联&#xff1a; 导入数据库表 一对多 一对一 多对多 关联关系映射 关联关系映射在Mybatis中主要通过三种方式实现&#xff1a;一对一关联和一对多关联及多对多关联。 一对一关联&#xff1a;…...

计算机竞赛 基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类

文章目录 1 前言2 情感文本分类2.1 参考论文2.2 输入层2.3 第一层卷积层&#xff1a;2.4 池化层&#xff1a;2.5 全连接softmax层&#xff1a;2.6 训练方案 3 实现3.1 sentence部分3.2 filters部分3.3 featuremaps部分3.4 1max部分3.5 concat1max部分3.6 关键代码 4 实现效果4.…...

时序预测 | MATLAB实现CNN-BiGRU卷积双向门控循环单元时间序列预测

时序预测 | MATLAB实现CNN-BiGRU卷积双向门控循环单元时间序列预测 目录 时序预测 | MATLAB实现CNN-BiGRU卷积双向门控循环单元时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现CNN-BiGRU卷积双向门控循环单元时间序列预测&#xff1b; 2.运行环境…...

[Rust GUI]0.10.0版本iced代码示例 - progress_bar

-1 字体支持 iced0.10.0 仅支持指定系统内置字体(iced默认字体中文会乱码) iced0.10.0 手动加载字体的功能已经砍了&#xff0c;想手动加载就用0.9.0版本&#xff0c;文档0.9.0版本 想显示中文则需要运行在一个自带字体的Windows系统上。而且这个字体最好不要钱。 (Windows闲着…...

南宁网站开发企业/宜兴百度推广公司

编者按&#xff1a;本文作者为Alexander Haislip&#xff0c;他是云服务器管理公司ScaleXtreme的市场经理。其代表作有 Essentials of Venture Capital&#xff08;《风险投资概要》&#xff09;。 云的出现确实为科技生活带来了很多便利&#xff0c;但随着使用时间越来越多&a…...

深圳商城网站开发/沈阳今日新闻头条

1.编写一个方法&#xff0c;使用以上算法生成指定数目的随机整数 2.请看以下代码&#xff0c;你发现有什么特殊之处吗&#xff1f; 两个计算的方法的方法名只有参数类型和返回值类型不一样&#xff0c;仍然能输出结果&#xff0c;进行了方法的重载。 3.查看一下JDK中System.out…...

南昌哪里网站建设专业/如何在百度发布短视频

Photon是一个由s0md3v开源的情报搜集爬虫&#xff0c;其主要功能有&#xff1a;1.爬取链接(内链、外链)。2.爬取带参数的链接&#xff0c;如(pythondict.com/test?id2)。3.文件(pdf, png, xml)。4.密钥(在前端代码中不小心被释放出来的)。5.js文件和Endpoint(spring中比较重要…...

网站开发工具选择/百度seo关键词优化市场

51单片机是可以输出PWM的&#xff0c;比较的麻烦。此时需要用到内部定时器来实现&#xff0c;可用两个定时器实现&#xff0c;也可以用一个定时器实现。用两个定时器的方法是用定时器T0来控制频率&#xff0c;定时器T1来控制占空比。大致的的编程思路是这样的&#xff1a;T0定时…...

新乡做网站的多吗/广东东莞今日最新消息

对前几行的手算可以得出&#xff1a; 从&#xff08;0,0&#xff09;连接到&#xff08;n&#xff0c;0&#xff09;到&#xff08;n&#xff0c;n&#xff09;&#xff0c;斜率为&#xff1a;1 / n , 2 / n ...( n - 1 ) / n 也就是说&#xff0c;凡是分子和分母能够约分的&am…...

wordpress下载最新版本/天津疫情最新情况

➊平列复合句 平行复合句&#xff0c;即两个以上同等性质的分句依次排列&#xff0c;之间无任何语法标志相连&#xff0c;共同构成的一个概念完整的组句。它又被称为la partage或lhypotaxe&#xff08;平行句&#xff09; ⒶJe lai vu, jai veng mon honneur et mon pre ;je le…...