Hdoop伪分布式集群搭建
文章目录
- Hadoop安装部署
- 前言
- 1.环境
- 2.步骤
- 3.效果图
- 具体步骤
- (一)前期准备
- (1)ping外网
- (2)配置主机名
- (3)配置时钟同步
- (4)关闭防火墙
- (二)正文
- (1)配置hosts列表
- (2)SSH免密钥登录配置
- ①master虚拟机上
- ②slave01虚拟机上
- ③slave02虚拟机上
- ④验证免密登录
- (3)安装JDK
- (4)安装部署Hadoop集群(chenqi用户)
- 1.解压缩包
- 2.配置文件
- 3.创建Hadoop数据目录
- 4.将配置好的hadoop文件夹复制到从节点
- 5.配置Hadoop环境变量
- 6.格式化Hadoop文件目录
- 7.启动Hadoop集群
- (5)测试
- ①Web UI查看集群是否成功启动
- ②运行PI实例检查集群是否成功
Hadoop安装部署
前言
1.环境
- 虚拟机数量:3个 (1个master,2个slave:slave01,slave02)
- 操作系统:Ubuntu 22.04.2
2.步骤
3.效果图
hadoop集群安装部署后,启动集群,效果如下:
效果图1:master虚拟机上,出现这4个进程表示主节点进程启动成功。
效果图2:slave01虚拟机上,出现这3个进程表示从节点进程启动成功。
效果图3:slave02虚拟机上,出现这3个进程表示从节点进程启动成功。
具体步骤
(一)前期准备
首先要确保各台虚拟机能ping通外网
(1)ping外网
在三台虚拟机中使用ping命令,确保各台虚拟机能ping通外网。
(2)配置主机名
将三台主机名分别设置为master,slave01,slave02,便于后期的操作
说明:此处以界面虚拟机master的操作为例,slave01和slave02的操作如法炮制。
不同操作系统可能操作方法不同,百度对应操作即可
-
以下操作需要root用户权限,所以先切换成root用户。
chenqi@localhost:~$ sudo su
-
使用vi命令编辑主机名(或使用gedit)。
root@localhost:~# vi /etc/hostname
将hostname文件中原来内容替换为master,如果已经是master,可以直接按冒号“:“键,再输入“wq”保存退出
-
临时设置主机名为master。
root@localhost:~# hostname master
-
检测主机名是否修改成功,使用bash命令让上一步操作生效。
root@localhost:~# bash
-
localhost变为master
(3)配置时钟同步
说明:此处以界面虚拟机master的操作为例,slave01和slave02的操作如法炮制。
不同操作系统可能操作方法不同,百度对应操作即可
Linux服务器运行久了,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步
-
使用root用户权限
-
执行命令同步,如果没有ntpdate需要先安装:
apt-get install ntpdate
root@master:~# sudo ntpdate cn.pool.ntp.org
(4)关闭防火墙
说明:此处以界面虚拟机master的操作为例,slave01和slave02的操作如法炮制。
不同操作系统可能操作方法不同,百度对应操作即可
-
查看防火墙状态(默认已经关闭防火墙)
root@master:~# sudo ufw status
-
两条命令分别是打开防火墙和关闭防火墙)
root@master:~# sudo ufw enable root@master:~# sudo ufw disable
(二)正文
(1)配置hosts列表
说明:此处以界面虚拟机master的操作为例,slave01和slave02的操作如法炮制。
不同操作系统可能操作方法不同,百度对应操作即可
-
运行ifconfig命令,获得当前master虚拟机的ip地址,如图6-10所示是master的ip地址。(用相同方法获得当前slave01和slave02虚拟机的ip地址。)
ifconfig没安装可以先安装,也可以使用ip addr
-
编辑主机名列表文件hosts。将下面三行添加到/etc/hosts文件中,保存退出。
root@master:~# vi /etc/hosts
"自己的maser主机地址" master "自己的slave01主机地址" slave01 "自己的slave02主机地址" slave02
-
测试
root@master:~# ping master -c 3 root@master:~# ping slave01 -c 3 root@master:~# ping slave02 -c 3
说明:参数-c 3表示只返回三行响应就中止。ping通就代表成功
(2)SSH免密钥登录配置
①master虚拟机上
-
先从root用户,退回到普通用户
root@master:~# su chenqi
-
在终端生成密钥,命令如下(一路按回车完成密钥生成)
chenqi@master:~$ ssh-keygen -t rsa
-
生成的密钥在用户根目录中的.ssh子目录中,进入.ssh目录查看
-
执行以下命令复制公钥文件
chenqi@master:~/.ssh$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-
修改authorized_keys文件的权限
chenqi@master:~/.ssh$ chmod 600 ~/.ssh/authorized_keys
-
将专用密钥添加到 ssh-agent 的高速缓存中
chenqi@master:~/.ssh$ ssh-add ~/.ssh/id_rsa
Could not open a connection to your authentication agent:
原因:未启动ssh agent
先执行一下ssh-agent bash
-
将authorized_keys文件复制到slave01、slave02虚拟机的zkpk用户的根目录,
chenqi@master:~$ scp ~/.ssh/authorized_keys zkpk@slave01:~/ chenqi@master:~$ scp ~/.ssh/authorized_keys zkpk@slave02:~/
②slave01虚拟机上
-
生成密钥,命令如下(一路点击回车生成密钥)。
chenqi@slave01:~$ ssh-keygen -t rsa
-
将authorized_keys文件移动到.ssh目录,
chenqi@slave01:~$ mv authorized_keys ~/.ssh/
③slave02虚拟机上
-
生成密钥,命令如下(一路点击回车生成密钥)。
chenqi@slave02:~$ ssh-keygen -t rsa
-
将authorized_keys文件移动到.ssh目录,
chenqi@slave02:~$ mv authorized_keys ~/.ssh/
④验证免密登录
-
在master虚拟机上远程登录slave01
chenqi@master:~$ ssh slave01
如果出现如图所示的内容表示免密钥配置成功。
-
退出slave01远程登录
chenqi@slave01:~$ exit
-
slave02同理
(3)安装JDK
说明:此处以界面虚拟机master的操作为例,slave01和slave02的操作如法炮制。
不同操作系统可能操作方法不同,百度对应操作即可
-
删除系统自带的jdk(如若出现如图6-21效果,说明系统自带java,需要先卸载)
chenqi@master:~$ rpm -qa | grep java
-
移除系统自带的jdk
root@master:~# yum remove java-1.*
-
创建存放jdk文件目录
root@master:~# mkdir /usr/java
-
解压JDK压缩包,将/home/chenqi/tgz下的JDK压缩包解压到/usr/java目录下
root@master:~# tar -xzvf /home/chenqi/tar/jdk-8u371-linux-x64.tar.gz -C /usr/java
hdoop和jdk的压缩包去官网上下载一个版本下来即可
slave01和02都要解压jdk
-
退出root用户
root@master:~# exit
-
配置chenqi用户环境变量。
chenqi@master:~$ vi .profile
复制以下内容添加到上面打开的文件.bash_profile中,然后保存退出。
export JAVA_HOME=/usr/java/jdk1.8.0_371/ export PATH=$JAVA_HOME/bin:$PATH
-
使环境变量生效
chenqi@master:~$ source /home/chenqi/.profile
-
测试是否配置成功
chenqi@master:~$ java -version
(4)安装部署Hadoop集群(chenqi用户)
注意:每个虚拟机上的Hadoop配置基本相同,在master虚拟机上操作,然后复制到slave01、slave02两个虚拟机即可。
1.解压缩包
chenqi@master:~$ tar -xzvf /home/chenqi/tar/hadoop-3.3.6.tar.gz -C /home/chenqi
2.配置文件
• workers : 配置从节点( DataNode )有哪些
• hadoop-env.sh : 配置 Hadoop 的相关环境变量
• core-site.xml : Hadoop 核心配置文件
• hdfs-site.xml : HDFS 核心配置文件
①配置hadoop-env.sh文件
chenqi@master:~$ vi /home/chenqi/hadoop-3.3.6/etc/hadoop/hadoop-env.sh
复制以下内容添加到上面打开的文件hadoop-env.sh中,然后保存退出。
export JAVA_HOME=/usr/java/jdk1.8.0_371/
②配置yarn-env.sh文件。
chenqi@master:~$ vi ~/hadoop-3.3.6/etc/hadoop/yarn-env.sh
复制以下内容添加到上面打开的文件yarn-env.sh中,然后保存退出。
export JAVA_HOME=/usr/java/jdk1.8.0_371/
③配置core-site.xml 文件。
chenqi@master:~$ vi ~/hadoop-3.3.6/etc/hadoop/core-site.xml
复制以下内容替换core-site.xml中的内容,然后保存退出。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/chenqi/hadoopdata</value> </property>
</configuration>
fs.defaultFS:HDFS的默认访问路径,也是NameNode的访问地址。
hadoop.tmp.dir:Hadoop数据文件的存放目录。该参数如果不配置默认指向/tmp目录,而/tmp目录在系统重启后会自动清空,从而导致Hadoop的文件系统数据丢失。
最后测试的时候如果没有9000端口,将master改成对应的地址
④配置hdfs-site.xml文件。
chenqi@master:~$ vi ~/hadoop-3.3.6/etc/hadoop/hdfs-site.xml
复制以下内容替换hdfs-site.xml中的内容,然后保存退出。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration> <!-- 测试环境指定HDFS副本的数量1 --><property><name>dfs.replication</name> <value>2</value> </property>
</configuration>
dfs.replication:文件在HDFS系统中的副本数。
dfs.permission.enabled:是否检查用户权限。
dfs.namenoder:NameNode节点数据在本地文件系统的存放位置。
dfs.datanode.data.dir:DataNode节点数据在本地文件系统的存放位置。
⑤配置yarn-site.xml文件。
chenqi@master:~$ vi ~/hadoop-3.3.6/etc/hadoop/yarn-site.xml
6.9.6.2复制以下内容替换yarn-site.xml中的内容,然后保存退出。(如果已经有这样的内容,直接退出。)
<?xml version="1.0"?>
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:18040</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:18030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:18025</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:18141</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:18088</value> </property>
</configuration>
yarn.nodemanager.aux:NodeManager上运行的附属服务,需配置成mapreduce_shuffle才可运行Mapreduce程序。YARN提供了该配置项用于在NodeManager上扩展自定义服务,Mapreduce的Shuffle功能正是一种扩展服务。
yarn.resourcemanager.address:指定ResourceManager所在的节点与访问端口,如果不添加,ResourceManager则默认执行在YARN启动命令的节点上启动。
⑥配置mapred-site.xml文件。
chenqi@master:~$ vi ~/hadoop-3.3.6/etc/hadoop/mapred-site.xml
复制以下内容替换mapred-site.xml中的内容,然后保存退出。
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
</configuration>
mapreduce.framework.name:指定 Mapreduce 程序运行在 YARN上
⑦配置workers文件。
chenqi@master:~$ vi ~/hadoop-3.3.6/etc/hadoop/workers
通过workers文件定义数据节点,根据集群规划,我们将两个节点都要作为数据节点,添上:
slave01
slave02
3.创建Hadoop数据目录
chenqi@master:~$ mkdir hadoopdata
4.将配置好的hadoop文件夹复制到从节点
用scp命令将文件夹复制到slave01、slave02上。
注意:因为之前已经配置了免密钥登录,这里可以直接免密钥远程复制。
chenqi@master:~$ scp -r hadoop-3.3.6 chenqi@slave01:~/chenqi@master:~$ scp -r hadoop-3.3.6 chenqi@slave02:~/
复制完成后,可以在slave01和slave02上检验是否复制成功。在用户主目录下ls一下就行
5.配置Hadoop环境变量
说明:此处以界面虚拟机master的操作为例,slave01和slave02的操作如法炮制。
使用vi命令编辑.bash_profile文件。
chenqi@master:~$ vi .profile
复制以下内容添加到.bash_profile末尾,然后保存退出。(如果已经有这样的内容,直接退出。)
#HADOOP
export HADOOP_HOME=/home/chenqi/hadoop-3.3.6
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
使环境变量生效。
chenqi@master:~$ source ~/.profile
6.格式化Hadoop文件目录
注意:此操作在master虚拟机上执行。
格式化命令如下。
chenqi@master:~$ hdfs namenode –format
图6-45 格式化master虚拟机(1)
图 6-46格式化master虚拟机(2)
7.启动Hadoop集群
在master虚拟机上运行start-all.sh命令。(格式化后首次执行此命令,提示输入yes/no时,输入yes。)
chenqi@master:~$ start-all.sh
查看进程是否启动。
注意:前面那些数字是进程号,可能因为自己的实验环境不同而不同。
在slave01虚拟机上的终端执行jps命令,出现如图 :
在slave02虚拟机上的终端执行jps命令,出现如图:
!
(5)测试
①Web UI查看集群是否成功启动
在浏览器地址栏中输入http://master:50070,检查namenode和 datanode 是否正常,如图6-50、6-51、6-52所示。
netstat -ntpl查看自己的
查看集群namenode 和 datanode情况、检查Yarn是否正常
②运行PI实例检查集群是否成功
执行下面的命令。(Pi后面的第一个参数10是Map任务的数量,第二个10是求圆周率Pi的算法的参数。)
[zkpk@master~]$ hadoop jar ~/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 10 10
最后输出:Estimated value of Pi is 3.20000000000000000000,这个值还不够精确,可以通过调整那两个参数逐渐逼近3.1415926……。
问题描述:Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
解决方法:
第一种:在mapred-site.xml中添加以下配置
<property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=${hadoop-3.3.6}</value> </property> <property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=${hadoop-3.3.6}</value> </property> <property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=${hadoop-3.3.6}</value> </property>
第二种:如果上述方法不行,采用下面方式
执行下面命令
hadoop classpath
拿到运行的类的路径,如下图:
在Hadoop安装目录下找到yarn-site.xml文件($HADOOP_HOME/etc/hadoop/yarn-site.xml),把刚才得到的信息配置进去,如下:
<configuration><property><name>yarn.application.classpath</name><value>复制的Hadoop classpath信息</value></property> </configuration>
在所有的Master和Slave节点进行如上设置,设置完毕后重启Hadoop集群,重新运行刚才程序,成功运行。
相关文章:
Hdoop伪分布式集群搭建
文章目录 Hadoop安装部署前言1.环境2.步骤3.效果图 具体步骤(一)前期准备(1)ping外网(2)配置主机名(3)配置时钟同步(4)关闭防火墙 (二)…...
java临时文件
临时文件 有时候,我们程序运行时需要产生中间文件,但是这些文件只是临时用途,并不做长久保存。 我们可以使用临时文件,不需要长久保存。 public static File createTempFile(String prefix, String suffix)prefix 前缀 suffix …...
C++中的<string>头文件 和 <cstring>头文件简介
C中的<string>头文件 和 <cstring>头文件简介 在C中<string> 和 <cstring> 是两个不同的头文件。 <string> 是C标准库中的头文件,定义了一个名为std::string的类,提供了对字符串的操作如size()、length()、empty() 及字…...
安装MySQL
Centos7下安装MySQL详细步骤_centos7安装mysql教程_欢欢李的博客-CSDN博客...
输入学生成绩,函数返回最大元素的数组下标,求最高分学生成绩(输入负数表示输入结束)
scanfscore()函数用于输入学生的成绩 int scanfscore(int score[N])//输入学生的成绩 {int i -1;do {i;printf("输入学生成绩:");scanf("%d", &score[i]);} while (score[i] > 0);return i; } findmax()用于寻找最大值 int findmax(int score[N…...
常用音频接口:TDM,PDM,I2S,PCM
常用音频接口:TDM,PDM,I2S,PCM_tdm音频_沙漠的甲壳虫的博客-CSDN博客 I2S/PCM接口及音频codec_音频pcm接口模块设计-CSDN博客 2个TDM8功放调试ing_周龙(AI湖湘学派)的博客-CSDN博客 数字音频接口时序----IIS、TDM、PCM、PDM_td…...
git clone报错Failed to connect to github.com port 443 after 21055 ms:
git 设置代理端口号 git config --global http.proxy http://127.0.0.1:10085 和 git config --global https.proxy http://127.0.0.1:10085 然后就可以成功git clone hugging face的数据集了 如果是https://huggingface.co/datasets/shibing624/medical/tree/main 那么…...
【操作系统】深入浅出死锁问题
死锁的概念 在多线程编程中,我们为了防止多线程竞争共享资源而导致数据错乱,都会在操作共享资源而导致数据错乱,都会在操作共享资源之前加上互斥锁,只有成功获得到锁的线程,才能操作共享资源,获取不到锁的…...
springboot实现webSocket服务端和客户端demo
1:pom导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId><version>2.2.7.RELEASE</version></dependency>2:myWebSocketClien…...
代码走读: FFMPEG-ffplayer02
AVFrame int attribute_align_arg avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame) 选取一个音频解码器 和 一个视频解码器分别介绍该解码器功能 音频G722 g722dec.c -> g722_decode_frame 通过 ff_get_buffer 给 传入的 frame 指针分配内存 g722_decode_…...
【数据结构】——排序算法的相关习题
目录 一、选择题题型一 (插入排序)1、直接插入排序2、折半插入排序3、希尔排序 题型二(交换排序)1、冒泡排序2、快速排序 题型三(选择排序)1、简单选择排序~2、堆排序 ~题型四(归并排序…...
C高级day5(Makefile)
一、Xmind整理: 二、上课笔记整理: 1.#----->把带参宏的参数替换成字符串 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX(a,b) a>b?a:b #define STR(n) #n int main(int argc, const char *argv…...
Android 系统中适配OAID获取
一、OAID概念 OAID(Open Anonymous Identification)是一种匿名身份识别标识符, 用于在移动设备上进行广告追踪和个性化广告投放。它是由中国移动通信集 团、中国电信集团和中国联通集团共同推出的一项行业标准 OAID值为一个64位的数字 二、…...
差分数组leetcode 2770 数组的最大美丽值
什么是差分数组 差分数组是一种数据结构,它存储的是一个数组每个相邻元素的差值。换句话说,给定一个数组arr[],其对应的差分数组diff[]将满足: diff[i] arr[i1] - arr[i] 对于所有 0 < i < n-1 差分数组的作用 用于高效…...
请求响应状态码
请求与响应&状态码 Requests部分 请求行、消息报头、请求正文。 Header解释示例Accept指定客户端能够接收的内容类型Accept: text/plain, text/htmlAccept-Chars et浏览器可以接受的字符编码集。Accept-Charset: iso-8859-5Accept-Encodi ng指定浏览器可以支持的web服务…...
安卓机型系统美化 Color.xml文件必备常识 自定义颜色资源
color.xml文件是Android工程中用来进行颜色资源管理的文件.可以在color.xml文件中通过<color>标签来定义颜色资源.我们在布局文件中、代码中、style定义中或者其他资源文件中,都可以引用之前在color.xml文件中定义的颜色资源。 将color.xml文件拷到res/value…...
YOLO物体检测-系列教程1:YOLOV1整体解读(预选框/置信度/分类任/回归任务/损失函数/公式解析/置信度/非极大值抑制)
🎈🎈🎈YOLO 系列教程 总目录 YOLOV1整体解读 YOLOV2整体解读 YOLOV1提出论文:You Only Look Once: Unified, Real-Time Object Detection 1、物体检测经典方法 two-stage(两阶段):Faster-rc…...
2023/9/12 -- C++/QT
作业 实现一个图形类(Shape),包含受保护成员属性:周长、面积, 公共成员函数:特殊成员函数书写 定义一个圆形类(Circle),继承自图形类,包含私有属性…...
【Purple Pi OH RK3566鸿蒙开发板】OpenHarmony音频播放应用,真实体验感爆棚!
本文转载于Purple Pi OH开发爱好者,作者ITMING 。 原文链接:https://bbs.elecfans.com/jishu_2376383_1_1.html 01注意事项 DevEco Studio 4.0 Beta2(Build Version: 4.0.0.400) OpenHarmony SDK API 9 创建工程类型选择Appli…...
Android rom开发:9.0系统上实现4G wifi 以太网共存
framework层修改网络优先级,4G > wifi > eth 修改patch如下: diff --git a/frameworks/base/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/frameworks/base/services/core/java/com/android/server/connectivit…...
高速自动驾驶HMI人机交互
概述 目的 本文档的目的是描述高速自动驾驶功能涉及的HMI显示需求技术规范和设计说明。 范围 术语及缩写 设计与实验标准 设计标准 设计标准-非法规类设计标准-法规类 HMI交互需求 CL4功能界面 HMI显示器[伊1] 中应包含CL4功能设置界面,提供给用户进行设置操作或显…...
【自然语言处理】关系抽取 —— SOLS 讲解
SOLS 论文信息 标题:Speaker-Oriented Latent Structures for Dialogue-Based Relation Extraction 作者:Guoshun Nan, Guoqing Luo, Sicong Leng, Yao Xiao, Wei Lu 发布时间与更新时间:2021.09.11 主题:自然语言处理、关系抽取、对话场景、跨语句、DialogRE、GCN arXiv:…...
周易算卦流程c++实现
代码 #include<iostream> using namespace std; #include<vector> #include<cstdlib> #include<ctime> #include<Windows.h>int huaYiXiangLiang(int all, int& left) {Sleep(3000);srand(time(0));left rand() % all 1;while (true) {if…...
软件架构设计(十三) 构件与中间件技术
中间件的定义 其实中间件是属于构件的一种。是一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同技术之间共享资源。 我们把它定性为一类系统软件,比如我们常说的消息中间件,数据库中间件等等都是中间件的一种体现。一般情况都是给应用系统提供服务,而不是直接…...
PyTorch深度学习实战——基于ResNet模型实现猫狗分类
PyTorch深度学习实战——基于ResNet模型实现猫狗分类 0. 前言1. ResNet 架构2. 基于预训练 ResNet 模型实现猫狗分类相关链接 0. 前言 从 VGG11 到 VGG19,不同之处仅在于网络层数,一般来说,神经网络越深,它的准确率就越高。但并非…...
机器学习第六课--朴素贝叶斯
朴素贝叶斯广泛地应用在文本分类任务中,其中最为经典的场景为垃圾文本分类(如垃圾邮件分类:给定一个邮件,把它自动分类为垃圾或者正常邮件)。这个任务本身是属于文本分析任务,因为对应的数据均为文本类型,所以对于此类任务我们首先…...
基于Java+SpringBoot+Vue的图书借还小程序的设计与实现(亮点:多角色、点赞评论、借书还书、在线支付)
图书借还管理小程序 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序(小蔡coding)2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述 五、系统实现5.1 小…...
【校招VIP】前端计算机网络之UDP相关
考点介绍 UDP是一个简单的面向消息的传输层协议,尽管UDP提供标头和有效负载的完整性验证(通过校验和),但它不保证向上层协议提供消息传递,并且UDP层在发送后不会保留UDP 消息的状态。因此,UDP有时被称为不可…...
前缀和实例4(和可被k整除的子数组)
题目: 给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的(连续、非空) 子数组 的数目。 子数组 是数组的 连续 部分。 示例 1: 输入:nums [4,5,0,-2,-3,1], k 5 输出:7 …...
Android获取系统读取权限
第一步在Androidifest.xml文件中加上授权语句 <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE"/>并且在Application标签下添加 androi…...
做视频解析网站违法不/优化大师 win10下载
示例1: 输入 5 1000000007 2 3 4 5 107输出 2 24 264 3240 736935633题意: 一个森林的代价为内部每个节点度数的平方和。问所有带标号的n 个点的森林的代价和 。 代码: #include <bits/stdc.h> using namespace std; const int N 5…...
国外网站发展建设/优化师
/***************************************************************************** #define | enum(enumerator)* 声明:* 今天突然在Linux内核看到枚举和宏,感觉是一样的功能,于是找了一下他们* 之间差异。** …...
网站推广优化流程/seo投放
解决方法将targetSdkVersion更改为27...
wordpress 商品采集/专业精准网络营销推广
1:在dos下执行jar,根据入参和引用第三方jar的操作 测试类: 打成jar包:encryptPwdForCIP.jar 测试:目录结构如下 lib文件夹下放入jar: 在lib同路径下执行dos 命令: 解释命令:java -cp…...
wordpress分类目录优化/注册一个公司网站需要多少钱
嵌套函数:什么是嵌套函数 使用外部函数中变量 def out():x 5def inn():print("inn函数中 x {}".format(y))print("out函数中 x {}".format(x))inn()out()结果: inn函数中 x 5 out函数中 x 5 内部函数是可以引用外部函数的变量…...
青岛知名网站建设公司/百度推广登录平台网址
导读:一直以来,众多学校教学以及公司开发环境所使用Visual Studio .NET Framework版本多不相同,本文作者比较了.NET Framework多个版本之间的区别,方便各位选择和切换.NET Framework。 版本号发布日期Visual Studio的版本Windows上…...