搭建zookeeper高可用集群详细步骤
目录
一、虚拟机设置
1.新建一台虚拟机并克隆三台,配置自定义
2.修改四台虚拟机的主机名并立即生效
3.修改四台虚拟机的网络信息
4.重启四台虚拟机的网络服务并测试网络连接
5.重启四台虚拟机,启动后关闭四台虚拟机的防火墙
6.在第一台虚拟机的/etc/hosts下面配置这四台主机映射
7.将/etc/hosts安全分发到另外三台虚拟机
8.配置四台虚拟机免密登录
9.设置四台虚拟机时间同步
二、自动安装JDK和zookeeper
1.在第一台虚拟机的/opt/目录下新建install、soft和shell三个文件
2.上传jdk、zoookeeper压缩包到第一台虚拟机/opt/install/目录下
3.编写自动安装jdk和zookeeper脚本并赋予执行权限
4.执行/opt/shell/autoinstall.sh脚本
5.重启环境变量查看是否安装成功
6.来到/opt/soft/zk345/conf目录下,修改zoo.cfg文件,添加下面的内容
7.来到/opt/soft/zk345目录下,删除datas目录下所有的文件
8.将JDK和环境变量分发给三台虚拟机,将zookeeper分发给两台虚拟机
9.删除三台虚拟机的/opt/soft/zk345/datas目录下的所有文件,配置myid
10.编辑zookeeper集群开启脚本——zkop.sh
11.编写查询集群启动状态信息批量展示脚本——showjps.sh
12.执行zkop.sh和showjps.sh脚本,开启zookeeper集群
13.查看zookeeper集群状态
14.关闭zookeeper集群
一、虚拟机设置
1.新建一台虚拟机并克隆三台,配置自定义
也可以新建好一个,然后导出ovf,再打开
2.修改四台虚拟机的主机名并立即生效
[root@localhost ~]# hostnamectl set-hostname 主机名[root@localhost ~]#bash[root@主机名~]# hostname
主机名
3.修改四台虚拟机的网络信息
vim /etc/sysconfig/network-script/ifcfg-ens33
4.重启四台虚拟机的网络服务并测试网络连接
systemctl restart network.service
# 或者
service network restart
5.重启四台虚拟机,启动后关闭四台虚拟机的防火墙
[root@ant165 ~]# systemctl stop firewalld
[root@ant165 ~]# systemctl disable firewalld.service
6.在第一台虚拟机的/etc/hosts下面配置这四台主机映射
[root@ant165 ~]# vim /etc/hosts
7.将/etc/hosts安全分发到另外三台虚拟机
[root@ant165 .ssh]# scp /etc/hosts root@ant166:/etc/
hosts 100% 250 18.3KB/s 00:00
[root@ant165 .ssh]# scp /etc/hosts root@ant167:/etc/
hosts 100% 250 162.4KB/s 00:00
[root@ant165 .ssh]# scp /etc/hosts root@ant168:/etc/
hosts 100% 250 169.3KB/s 00:00
8.配置四台虚拟机免密登录
[root@ant165 ~]# ssh ant165
The authenticity of host 'ant165 (192.168.180.165)' can't be established.
ECDSA key fingerprint is SHA256:hQzFzPZt1T9MooVcHRLOnmC4hYlNsaG28J65Ovi10uc.
ECDSA key fingerprint is MD5:46:97:1a:6c:02:8d:17:d6:98:d9:81:85:0e:a8:ca:5e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ant165,192.168.180.165' (ECDSA) to the list of known hosts.
root@ant165's password:
Last login: Wed Feb 15 00:01:20 2023 from 192.168.180.1
[root@ant165 ~]# ll -al
total 32
dr-xr-x---. 3 root root 163 Feb 15 00:04 .
dr-xr-xr-x. 17 root root 224 Feb 14 23:13 ..
-rw-------. 1 root root 1419 Feb 14 23:14 anaconda-ks.cfg
-rw-------. 1 root root 312 Feb 15 00:01 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
drwx------. 2 root root 25 Feb 15 00:04 .ssh
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
-rw-------. 1 root root 575 Feb 15 00:04 .viminfo
[root@ant165 ~]# cd .ssh
[root@ant165 .ssh]# ll
total 4
-rw-r--r--. 1 root root 184 Feb 15 00:04 known_hosts
配置四台虚拟机免密登录:
[root@ant165 .ssh]# ssh-keygen -t rsa -P ''[root@ant165 .ssh]# ssh-copy-id ant165#免密登录,两个命令都可以
[root@ant165 .ssh]# ssh ant165 | ssh -p22 root@ant165
在其他三台虚拟机上重复上面的命令
[root@ant165 .ssh]# ssh-keygen -t rsa -P ''[root@ant165 .ssh]# ssh-copy-id ant165
[root@ant165 .ssh]# ssh-copy-id ant166
[root@ant165 .ssh]# ssh-copy-id ant167
[root@ant165 .ssh]# ssh-copy-id ant168
9.设置四台虚拟机时间同步
[root@ant165 ~]# yum -y install ntpdate[root@ant165 ~]# ntpdate time.windows.com
14 Feb 16:33:52 ntpdate[11365]: step time server 40.81.94.65 offset -28800.832564 sec[root@ant165 ~]# date
Tue Feb 14 16:33:54 CST 2023[root@ant165 ~]# crontab -e
*/10 * * * * /usr/sbin/ntpdate time.windows.com# 重新加载脚本
[root@ant165 ~]# systemctl reload crond# 重启脚本
[root@ant165 ~]# systemctl restart crond# 查看脚本状态
[root@ant165 ~]# systemctl status crond
● crond.service - Command SchedulerLoaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)Active: active (running) since Tue 2023-02-14 16:36:13 CST; 8s agoProcess: 11376 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)Main PID: 11386 (crond)CGroup: /system.slice/crond.service└─11386 /usr/sbin/crond -nFeb 14 16:36:13 ant165 systemd[1]: Started Command Scheduler.
Feb 14 16:36:13 ant165 systemd[1]: Starting Command Scheduler...
Feb 14 16:36:13 ant165 crond[11386]: (CRON) INFO (RANDOM_DELAY will be s...)
Feb 14 16:36:13 ant165 crond[11386]: (CRON) INFO (running with inotify s...)
Feb 14 16:36:13 ant165 crond[11386]: (CRON) INFO (@reboot jobs will be r...)
Hint: Some lines were ellipsized, use -l to show in full.
二、自动安装JDK和zookeeper
1.在第一台虚拟机的/opt/目录下新建install、soft和shell三个文件
[root@ant165 opt]# mkdir install
[root@ant165 opt]# mkdir soft
[root@ant165 opt]# mkdir shell
2.上传jdk、zoookeeper压缩包到第一台虚拟机/opt/install/目录下
3.编写自动安装jdk和zookeeper脚本并赋予执行权限
[root@ant165 shell]# vim autoinstall.sh#! /bin/bash
echo 'auto install begining...'# global var
jdk=trueif [ "$jdk" = true ];thenecho 'jkd install set true'echo 'setup jdk 8'tar -zxf /opt/install/jdk-8u321-linux-x64.tar.gz -C /opt/softmv /opt/soft/jdk1.8.0_321 /opt/soft/jdk180sed -i '73a\export PATH=$PATH:$JAVA_HOME/bin' /etc/profilesed -i '73a\export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' /etc/profilesed -i '73a\export JAVA_HOME=/opt/soft/jdk180' /etc/profilesed -i '73a\# JAVA_HOME' /etc/profileecho 'setup jdk8 success!!!'
fi
# global var
zk=truehostname=`hostname`
if [ "$zk" = true ];thenecho 'zookeeper install set true'echo 'setup zookeeper-3.4.5-cdh5.14.2.tar.gz'tar -zxf /opt/install/zookeeper-3.4.5-cdh5.14.2.tar.gz -C /opt/soft/mv /opt/soft/zookeeper-3.4.5-cdh5.14.2 /opt/soft/zk345cp /opt/soft/zk345/conf/zoo_sample.cfg /opt/soft/zk345/conf/zoo.cfgmkdir -p /opt/soft/zk345/datassed -i '12c dataDir=/opt/soft/zk345/datas' /opt/soft/zk345/conf/zoo.cfgecho "server.0=$hostname:2287:3387" >> /opt/soft/zk345/conf/zoo.cfgecho "0" > /opt/soft/zk345/datas/myidsed -i '73a\export PATH=$PATH:$ZOOKEEPER_HOME/bin' /etc/profilesed -i '73a\export ZOOKEEPER_HOME=/opt/soft/zk345' /etc/profilesed -i '73a\#ZOOKEEPER_HOME' /etc/profileecho 'setup zookeeper success!!!'
fi
赋予执行权限
[root@ant165 shell]# chmod 777 ./autoinstall.sh
4.执行/opt/shell/autoinstall.sh脚本
5.重启环境变量查看是否安装成功
[root@ant165 shell]# source /etc/profile[root@ant165 shell]# javac[root@ant165 shell]# zkServer.s
-bash: zkServer.s: command not found
[root@ant165 shell]# zkServer.sh start
JMX enabled by default
Using config: /opt/soft/zk345/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED[root@ant165 shell]# jps
11731 QuorumPeerMain
11753 Jps[root@ant165 shell]# zkServer.sh status
JMX enabled by default
Using config: /opt/soft/zk345/bin/../conf/zoo.cfg
Mode: standalone
出现上面的信息就说明zookeeper单机版安装成功
6.来到/opt/soft/zk345/conf目录下,修改zoo.cfg文件,添加下面的内容
7.来到/opt/soft/zk345目录下,删除datas目录下所有的文件
[root@ant165 zk345]# rm -rf ./datas/*
8.将JDK和环境变量分发给三台虚拟机,将zookeeper分发给两台虚拟机
# 分发/opt下的soft目录:
[root@ant165 ~]# scp -r /opt/soft/ root@ant166:/opt/[root@ant165 ~]# scp -r /opt/soft/ root@ant167:/opt/[root@ant165 ~]# scp -r /opt/soft/ root@ant168:/opt/
profile # 分发JDK:
[root@ant165 datas]# scp -r /opt/soft/jdk180/ root@ant166:/opt/soft/[root@ant165 datas]# scp -r /opt/soft/jdk180/ root@ant167:/opt/soft/[root@ant165 datas]# scp -r /opt/soft/jdk180/ root@ant168:/opt/soft/# 分发zookeeper:
[root@ant165 datas]# scp -r /opt/soft/zk345/ root@ant166:/opt/soft/[root@ant165 datas]# scp -r /opt/soft/zk345/ root@ant167:/opt/soft/# 分发环境变量:
[root@ant165 datas]# scp /etc/profile root@ant166:/etc/
profile 100% 2032 200.1KB/s 00:00 [root@ant165 datas]# scp /etc/profile root@ant167:/etc/
profile 100% 2032 1.3MB/s 00:00 [root@ant165 shell]# scp /etc/profile root@ant168:/etc/
profile 100% 2032 1.6MB/s 00:00
[root@ant165 shell]# ./showjps.sh
9.删除三台虚拟机的/opt/soft/zk345/datas目录下的所有文件,配置myid
[root@ant165 datas]# rm -rf /opt/soft/zk345/datas/*
[root@ant165 datas]# echo "0" > myid[root@ant166 datas]# rm -rf /opt/soft/zk345/datas/*
[root@ant166 datas]# echo "1" > myid[root@ant167 datas]# rm -rf /opt/soft/zk345/datas/*
[root@ant167 datas]# echo "2" > myid
10.编辑zookeeper集群开启脚本——zkop.sh
#! /bin/bash
case $1 in
"start"){for i in ant165 ant166 ant167dossh $i "source /etc/profile; /opt/soft/zk345/bin/zkServer.sh start"done};;
"stop"){for i in ant165 ant166 ant167dossh $i "source /etc/profile; /opt/soft/zk345/bin/zkServer.sh stop"done};;"status"){for i in ant165 ant166 ant167dossh $i "source /etc/profile; /opt/soft/zk345/bin/zkServer.sh status"done
};;
esac
赋予执行权限
[root@ant165 shell]# chmod 777 ./zkop.sh
11.编写查询集群启动状态信息批量展示脚本——showjps.sh
#! /bin/bash
for i in ant165 ant166 ant167 ant168
doecho ---------------- $i 服务启动状态 -----------------ssh $i "source /etc/profile; /opt/soft/jdk180/bin/jps "
done
赋予执行权限
[root@ant165 shell]# chmod 777 ./showjps.sh
12.执行zkop.sh和showjps.sh脚本,开启zookeeper集群
zookeeper集群成功开启!!!
13.查看zookeeper集群状态
14.关闭zookeeper集群
后续搭建Hadoop集群参考博文《基于zookeeper的Hadoop集群搭建详细步骤》
相关文章:
搭建zookeeper高可用集群详细步骤
目录 一、虚拟机设置 1.新建一台虚拟机并克隆三台,配置自定义 2.修改四台虚拟机的主机名并立即生效 3.修改四台虚拟机的网络信息 4.重启四台虚拟机的网络服务并测试网络连接 5.重启四台虚拟机,启动后关闭四台虚拟机的防火墙 6.在第一台虚拟机的/e…...
Scala 变量和数据类型(第二章)
第二章、变量和数据类型2.1 注释2.2 变量和常量(重点)2.3 标识符的命名规范2.4 字符串输出2.5 键盘输入2.6 数据类型(重点)回顾:Java数据类型Scala数据类型2.7 整数类型(Byte、Short、Int、Long)…...
【JVM基础内容速查表】JVM基础知识 默认参数 GC命令 工具使用 JVM参数设置、说明、使用方法、注意事项等(持续更新)
目录一、JVM前置知识1. -X、-XX含义2. JVM参数值的类型和设置方式3. 查看GC时用到的命令和JVM参数4. 查看JVM默认参数二、垃圾收集器选择-XX:UseSerialGC-XX:UseParallelGC-XX:UseParallelOldGC-XX:UseParNewGC-XX:UseConcMarkSweepGC-XX:UseG1GC三、垃圾收集器特有参数1. ParN…...
C语言经典编程题100例(61~80)
目录61、练习7-7 矩阵运算62、练习7-8 方阵循环右移63、习题6-1 分类统计字符个数64、习题6-2 使用函数求特殊a串数列和65、习题6-4 使用函数输出指定范围内的Fibonacci数66、习题6-5 使用函数验证哥德巴赫猜想67、习题6-6 使用函数输出一个整数的逆序数68、练习8-2 计算两数的…...
toxssin:一款功能强大的XSS漏洞扫描利用和Payload生成工具
关于toxssin toxssin是一款功能强大的XSS漏洞扫描利用和Payload生成工具,这款渗透测试工具能够帮助广大研究人员自动扫描、检测和利用跨站脚本XSS漏洞。该工具由一台HTTPS服务器组成,这台服务器将充当一个解释器,用于处理恶意JavaScript Pay…...
Keepalived与HaProxy的协调合作原理分析
Keepalived与HaProxy的协调合作原理分析keepalived与haproxy合作场景更好的理解方式协调合作中考虑的问题一、Keepalived以TCP/IP模型角度来分析:二、HaProxy总结:协调合作中考虑的问题的答案虚拟ip:虚拟IP技术,就是一个未分配给客…...
抖音如何找到博主视频推广?筛选博主要看那些数据
近年来抖音视频推广越来越成为企业宣传的热门选择,今天就来和大家聊聊抖音如何找到博主视频推广,以及几种主流的对接方式。一、什么是抖音博主视频推广?抖音博主视频推广就是通过博主的影响力和粉丝量,吸引用户到短视频平台进行观看相关合作…...
Win11的两个实用技巧系列之如何关闭登录密码?
Win11如何关闭登录密码?Win11关闭登录密码的两种解决方法win11是电脑更新后的全新系统,每次开启需要输入密码。有的用户嫌麻烦想要关闭,下面小编就为大家带来了关闭的方法,一起来看看吧有不少用户在升级或者第一次使用Win11系统的时候&#…...
润普挂卷失败之老卷宗对接NP无法获取案件信息问题排查
润普挂卷失败之老卷宗对接NP无法获取案件信息问题排查 写在最前面 根因:NP的dzjzzzfw与老卷宗dzjz服务用的zookeeper不是同一个,且老卷宗指向的zookeeper没有任何一个匹配的dzjzzzfw。仅有消费者,没有任何生产者,导致老卷宗通过…...
产品经理面试题思考及回答思路(一)
求职产品助理/经理岗位,转行产品岗面试真题 关于产品经理岗位能力的思考: 什么是产品经理?为什么要当/选择做产品经理?怎么理解产品经理?如何理解产品经理的价值?产品日常工作有哪些?工作流程…...
Routability-Driven Macro Placement with Embedded CNN-Based Prediction Model
Routability-Driven Macro Placement with Embedded CNN-Based Prediction Model 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE) DOI: 10.23919/DATE.2019.8715126 目录Abstract一、Introduction二、PROBLEM FORMULATION AND PRELIMINARIE…...
论一个上班族如何一次性通过PMP考试
PMP是我工作后考取的一个证书。从准备到通过,花了大约三个月的时间。我之前在某家互联网公司从事程序员的工作,工作一段时间后,天天敲着代码,改着bug,感觉比较迷茫,不知道未来的发展在哪里,都说…...
Web前端:使用Angular CLI时的最佳实践和专业技巧
在web开发业务中,构建高性能的应用程序是首要因素。此外,用开发人员最流行的语言开发一个健壮的网站将始终为构建高功能的网站提供适当的基础网站。相比之下,不可否认,Angular CLI是建立得最好且正在成长的框架之一。Angular CLI简…...
从0到1一步一步玩转openEuler--15 openEuler使用DNF管理软件包
文章目录15.1 搜索软件包15.2 列出软件包清单15.3 显示RPM包信息15.4 安装RPM包15.5 下载软件包15.6 删除软件包DNF是一款Linux软件包管理工具,用于管理RPM软件包。DNF可以查询软件包信息,从指定软件库获取软件包,自动处理依赖关系以安装或卸…...
【java】Spring Boot --spring boot项目整合xxl-job
文章目录1、源码下载地址2.文档地址3.源码结构4.初始化数据库脚本5.配置调度中心xxl-job-admin5.1 修改调度中心配置文件:/xxl-job/xxl-job-admin/src/main/resources/application.properties5.2 启动调度中心5.3 访问调度中心管理界面6.创建执行器项目6.3 载入配置…...
视图、索引、存储过程、触发器
视图、索引、存储过程、触发器 group by补充: 规范来说,分组查询中,select后的字段只能是group by的字段或者是聚合函数。mysql在这有一个小优化,分组后如果某个字段的所有记录相同,同样可以select。 视图 视图是虚拟…...
ImportError: cannot import name ‘FlattenObservation‘ from ‘gym.wrappers‘ 解决方案
问题描述 今天在运行openai给出的ppo2的baseline的时候遇到了以下bug: File "/root/code/baselines_openai/baselines/common/cmd_util.py", line 12, in <module> from gym.wrappers import FlattenObservation, FilterObservation ImportErr…...
大件传输的9种方法
不知道你有没有试过用电子邮件进行大文件传输,由于文件大小的限制,往往会发送失败。同时,一些文件共享服务对传输的文件有大小限制,使得你无法与朋友分享电影片段或向客户展示你的工作样本。还有一些要求你注册一个账户࿰…...
将vue2的项目《后台管理模式》转变为vue3版本 (一)
本篇主要讲了将v2项目转变为v3版本,以本人经验愿于各位分享 希望大家可以一起交流!!!! 文章目录一、app 出口位置二 、 index.js 路由配置三、package.json 文件四、 main.js 既然安装插件那就需要引入五、 跨域问题总…...
苹果手机怎么下载手机铃声?图文教程,快速学会
很多小伙伴喜欢使用苹果手机,可是苹果手机里的铃声自己并不是很喜欢听,想要下载一些好听的歌曲更换自己的手机铃声。苹果手机怎么下载手机铃声?别着急,今天小编以图文的方式,教教大家如何使用苹果手机下载手机铃声。 苹…...
AJAX笔记(二)Fetch和axios
1、Fetch 1.1、XMLHttpRequest的缺陷 1.2、fetch的get写法 1.3、fetch的post写法 1.4、fetch的put写法 1.5、fetch的patch写法 1.6、fetch的delete写法 2、axios 2.1、axios的介绍 2.2、axios的get写法 2.3、axios的post写法(图一json写法和图二三form写法&#x…...
TOTOLINK NR1800X 系列 CVE 分析
漏洞简介 TOTOLINK NR1800X最近报了一些cve,现主要对其命令注入进行具体分析,以及对其登录绕过进行分析。 固件下载地址:https://www.totolink.net/home/menu/detail/menu_listtpl/download/id/225/ids/36.html 环境搭建 固件提取 binwa…...
IDEA如何将代码进行上下左右移动,改变位置
鼠标光标定位快捷键 1.ctrl Home:定位到一页代码的行头 2.ctrl end :定位到一页代码的行末 3.home:定位到一行的行头 4.end:定位到一行的行末 有的小键盘可能没有home和end键,就需要自行修改IDEA中的快捷键或者使用键盘映射的方法修改。 将…...
【Java 面试合集】HashMap中为什么引入红黑树,而不是AVL树呢
HashMap中为什么引入红黑树,而不是AVL树呢1. 概述 开始学习这个知识点之前我们需要知道,在JDK1.8 以及之前,针对HashMap有什么不同。 JDK 1.7的时候,HashMap的底层实现是数组 链表JDK1.8的时候,HashMap的底层实现是数…...
深度学习Week15-common.py文件解读(YOLOv5)
目录 简介 一.基本组件 1.1autopad 1.2Conv 1.3 Focus 1.4Bottleneck 1.5BottleneckCSP 1.6 C3 1.7 SPP 1.8Concat 1.9Contract、Expand 二、重要类 2.1非极大值抑制(NMS) 2.2AutoShape 2.3 Detections 2.4 Classify 三、实验 …...
qemu的snapshot快照功能的详细使用介绍
快照功能还是蛮有趣的,就是资料比较少,这边万能菜道人特意整理了一下。参考内容:QEMU checkpoint(snapshot) 使用-pudn.comKVM&QEMU学习笔记(二)-蒲公英云 (dandelioncloud.cn)在线迁移存储 - 爱码网 (likecs.com)…...
谷歌关键词优化多少钱【2023年调研】
本文主要分享Google关键词排名优化的一些成本调研,方便大家参考。 本文由光算创作,有可能会被剽窃和修改,我们佛系对待这种行为吧。 今年2023年了,谷歌关键词优化到底要多少钱? 答案是:价格在2w~25w左右…...
凸包及其算法
概念 凸包:一个能够将所有给定点围住的最小周长封闭图形。 稳定凸包:在当前组成凸包的点集 V0V_0V0 中新增一个不在凸包上的点,形成新点集 V1V_1V1,若可以使 V1V_1V1 中所有点都在 V1V_1V1 的点的凸包上,则这…...
计算机网络学习笔记(二)物理层
物理层(传输比特0/1)基本概念 物理层下的传输媒体 1. 导引型 同轴电缆,双绞线(绞合可抵御干扰),光纤,电力线 2. 非导引型(调制振幅 频率 相位) 无线电波,微…...
为什么职称要提前准备?
职称反映专业技术人员的学术和技术水平、工作能力的工作成就,具有学衔、岗位两种性质。目前中国现状下,职称主要代表社会地位,就业经验,职称等级越高,越容易得到更高的社会经济和福利待遇。 职称通过申报、评审的形式…...
网站开发建设收费标准/优化营商环境建议
本文共2900余字,预计阅读时间8分钟,本文知乎连接:Python操作Excel文件(0):盘点,本文同步发布于silaoA的博客和微信公众号平台。 关注学习了解更多的Cygwin、Linux、Python技术。目 录0x00 xlrd/…...
最安全的网站语言/活动策划方案
ZooKeeper CAP定理: 一个分布式系统不可能同时满足以下三种,一致性(C:Consistency),可用性(A:Available),分区容错性(P:Partition Tolerance).在此ZooKeeper保证的是CP,ZooKeeper不…...
天猫网站什么时候建设/前端seo主要优化哪些
PIL库是一个具有强大图像处理能力的第三方库 在命令行下的安装方法:pip install pillow 在使用过程中的引入方法:from PIL import Image Image 是PIL 库中代表一个图像的类(对象)...
网站设计原则的第三要素/公司网站首页设计
在异步清除中,利用vue 中data存放setTimeout的标识进行清除时,无法清除。则需要在函数前加上window.即可如window.setTimeout与window.clearTimeout具体代码如下精简后的代码。环境为electron-vue 渲染进程异步获取主进程上html并渲染到页面、过程中需要…...
中国建材建设网站/谷歌浏览器 安卓下载2023版
FTP服务器是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 IIS7服务器管理工具可以批量管理、定时上传下载、同步操作、数据备份、到期提醒、自动更新。IIS7服务器管理工具适用于Windows操作系统和liunx操作系统;支持Ftp客户端批…...
网络服务器无响应原因/爱站seo工具包
何为协程 协程,又称微线程。英文名Coroutine。 协程最大的优势就是协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协…...