应用商场的搭建

news2024/9/22 11:37:37

前言:

使用mysql做主从设置,redis数据库做热门访问数据库。mycat读写分离,zookeeper+kafka做数据收集,使用三台虚拟机

关掉防火墙和selinux,做时间同步

192.168.121.11    node1   mycat.example.com

192.168.121.21  node2    db1

192.168.121.31  node3  db2

还要一台做网络源使用,192.168.121.200做网络源使用,主要使用的是mycat192.168.121.11那一台

#curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo

#yum -y install epel-release     //安装epel源

#yum -y install bash-completion   //安装自动补齐

[root@localhost ~]# nmcli connection modify ens33 connection.autoconnect yes    //设置网络连接

[root@localhost ~]# yum -y install chrony

[root@localhost ~]# systemctl restart chronyd;systemctl enable chronyd;hwclock -w;timedatectl

时间同步

一、前提环境准备

1、第一台192.168.121.11的前期设置

[root@localhost ~]# hostnamectl set-hostname mycat
[root@localhost ~]# bash

三台互相做ssh连接

[root@mycat ~]# ssh-keygen   一直回车,然后敲yes就行了

[root@mycat ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.121.21

[root@mycat ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.121.31

2、192.168.121.21的设置

[root@localhost ~]# hostnamectl set-hostname db1
[root@localhost ~]# bash
[root@db1 ~]# ssh-keygen

[root@db1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.121.31

[root@db1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.121.11

3、192.168.121.30的设置

[root@localhost ~]# hostnamectl set-hostname db2
[root@localhost ~]# bash
[root@db2 ~]# ssh-keygen 

[root@db2 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.121.11

[root@db2 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.121.21

4、安装网络源,在192.168.121.200的主机上,方便实验下载所需要的安装包

[root@localhost ~]# yum -y install httpd

[root@localhost ~]#  cd /var/www/html/

[root@localhost html]# mkdir project4

使用fz将文件传到/var/www/html/project4里面

主要是下载mariabd数据库,在网络源下载也是一样,为什么我要用本地源腻,我就是想麻烦。

[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# systemctl enable httpd

分别在三台写入本地源

[root@mycat ~]# vim /etc/yum.repos.d/CentOS-Base.repo

最后写入按G跳到最后,再小写的o下面插入一行

[mariadb]
name=aa
baseurl=http://192.168.121.200/project4/gpmall-repo
enabled=1
gpgcheck=0
[root@mycat ~]# yum -y install mariadb mariadb-server

scp传到对应的两台

[root@mycat yum.repos.d]# scp CentOS-Base.repo root@192.168.121.21:/etc/yum.repos.d

[root@mycat yum.repos.d]# scp CentOS-Base.repo root@192.168.121.31:/etc/yum.repos.d

三台都安装java java-devel

# yum -y install java java-devel

#java -version

[root@db1 ~]# java -version
openjdk version "1.8.0_412"  可以看到版本,安装成功

二、192.168.121.21和192.168.121.31做主从

[root@db1 ~]# yum -y install mariabd mariadb-server

[root@db2 ~]# yum -y install mariadb mariadb-server

[root@db2 ~]# systemctl restart mariadb;systemctl enable mariadb

[root@db1 ~]# systemctl restart mariadb;systemctl enable mariadb

[root@db2 ~]# mysql_secure_installation 初始化数据库

回车yyny,设置密码为123

[root@db1 ~]# mysql_secure_installation 

[root@db1 ~]# vim /etc/my.cnf   开启日志和命令功能,mysql数据库跟mariadb的写入的内容是不一样的,下面是mariadb的主从设置配置。两台都写上。

其中主库的id小于从库的,这里主库20,从库30

[mysqld]
log_bin=mysql-bin
binlog_ignore_db=mysql
server_id=20
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

[root@db2 ~]# vim /etc/my.cnf
[root@db2 ~]# cat /etc/my.cnf
[mysqld]
log_bin=mysql-bin
binlog_ignore_db=mysql
server_id=30
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

# systemctl restart mariadb   两台都重启

1、mariadb主库的设置

[root@db1 ~]# mysql -uroot -p123

MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by "123";

设置用户,跟从库保持相同内容

MariaDB [(none)]> grant replication slave on *.* to 'user'@'192.168.121.31' identified by '123';

创建从库登录的用户,因为我没有写host文件,所以用IP地址就行了

2、从库的设置

[root@db2 ~]# mysql -uroot -p123

MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by "123";

跟主库保持一致

MariaDB [(none)]> change master to master_host='192.168.121.21',master_user='user',master_password='123';

设置主库为db1,从库为db2

MariaDB [(none)]> start slave;

MariaDB [(none)]> show slave status \G;

查看状态

3、测试主库和丛库

[root@db1 ~]# mysql -uroot -p123

create database test;
use test
create table company(id int not null primary key,name varchar(50),addr varchar(255));
insert into company values(1,"facebook","usa");

[root@db2~]# mysql -uroot -p123

MariaDB [(none)]> use test;

MariaDB [test]> select * from company;

三、mariadb数据库的读写分离,使用mycat

1、环境,软件安装

[root@mycat ~]# yum -y install lrzsz

[root@mycat ~]# tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/

[root@mycat ~]# echo export MYCAT_HOME=/usr/local/mycat/ >> /etc/profile
[root@mycat ~]# source /etc/profile   写入环境变量

编辑mycat用户的/usr/local/mycat/conf/目录下的server.xml,修改root用户的密码123456,访问mycat的逻辑库为USERDB,注意删除后几行
 vi /usr/local/mycat/conf/server.xml  

在配置文件的最后部分,
<user name="root">
        <property name="password">123456</property>
        <property name="schemas">USERDB</property>
然后删除如下几行:
<user name="root">
        <property name="password">user</property>
        <property name="schemas">TESTDB</property>
        <property name="readOnly">true</property>

2、修改两个配置文件

[root@mycat ~]# vim /usr/local/mycat/conf/schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="USERDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1"></schema> 
<dataNode name="dn1" dataHost="localhost1" database="test" />  
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" dbType="mysql" dbDriver="native" writeType="0" switchType="1"  slaveThreshold="100">  
    <heartbeat>select user()</heartbeat>
    <writeHost host="hostM1" url="192.168.121.21:3306" user="root" password="123">
        <readHost host="hostS1" url="192.168.121.31:3306" user="root" password="123" />
    </writeHost>
</dataHost>
</mycat:schema>

[root@mycat ~]# vim /usr/local/mycat/conf/server.xml 两个文件对应,前面写过,不想做了

[root@mycat ~]# /bin/bash /usr/local/mycat/bin/mycat stop

[root@mycat ~]# /bin/bash /usr/local/mycat/bin/mycat start

3、测试主从分离

[root@mycat ~]# mysql -h127.0.0.1 -P8066 -uroot -p123;

大写的P后面接端口号

[root@mycat ~]# mysql -h127.0.0.1 -P9066 -uroot -p123 -e 'show @@datasource;'

-e后面接mysql可以使用的命令,查看到主从分离

四、集群的设置,zookeeper+kafka设置

[root@mycat ~]# vim /etc/hosts

写入六行数据吧,其实不写也没事,反正是同一张网卡,只不过要只要ip地址。

192.168.121.11 mycat
192.168.121.21 db1
192.168.121.31 db2
192.168.121.11 zookeeper1
192.168.121.21 zookeeper2
192.168.121.31 zookeeper3

[root@mycat ~]# scp /etc/hosts root@192.168.121.31:/etc/hosts

[root@mycat ~]# scp /etc/hosts root@192.168.121.21:/etc/hosts

1、安装zookeeper集群收集

在mycat主机上

#tar -xzvf zookeeper-3.4.8.tar.gz

# cd /root/zookeeper-3.4.8/conf

[root@mycat conf]#mv zoo_sample.cfg zoo.cfg
 [root@mycat conf]# vim zoo.cfg   添加三行,用与启用zookeeper

server.1=192.168.121.11:2888:3888
server.2=192.168.121.21:2888:3888
server.3=192.168.121.31:2888:3888

 [root@mycat conf]#mkdir /tmp/zookeeper
[root@mycat conf]# echo 1 > /tmp/zookeeper/myid

[root@mycat conf]#scp -r zookeeper-3.4.8 root@192.168.121.21:/root/
[root@mycat conf]# scp -r zookeeper-3.4.8 root@192.168.121.31:/root/

1.2修改其他两台主机的参数

[root@db1 ~]#mkdir /tmp/zookeeper
[root@db1 ~]#echo 2 > /tmp/zookeeper/myid

[root@db2 ~]#mkdir /tmp/zookeeper   创建尊放的数据目录,三台主机都创建
[root@db2~]#echo 3 > /tmp/zookeeper/myid

[root@mycat]# ./zookeeper-3.4.8/bin/zkServer.sh start   当前目录使用zookeeper的脚本文件启用zoop
[root@db1 ~]# ./zookeeper-3.4.8/bin/zkServer.sh start

[root@db2 ~]# ./zookeeper-3.4.8/bin/zkServer.sh start    三台都启用zoop
[root@mycat]#./zookeeper-3.4.8/bin/zkServer.sh status  查看状态,一般是db2是learder

2、安装kafka,大型吞吐量日志收集反应工具

[root@mycat conf]#tar -zxvf kafka_2.11-2.4.0.tgz 

[root@mycat]#vim kafka_2.11-2.4.0/config/server.properties

broker.id=1  对应上面的myid

listeners=PLAINTEXT://192.168.121.11:9092    //填写本机的ip地址

zookeeper.connect=192.168.121.11:2181,192.168.121.21:2181,192.168.121.31:2181

[root@mycat conf]#scp -r kafka_2.11-2.4.0 root@192.168.121.21:/root/
[root@mycat conf]# scp -r kafka_2.11-2.4.0 root@192.168.121.31:/root/

[root@db1 ~]#vim kafka_2.11-2.4.0/config/server.properties

broker.id=2

listeners=PLAINTEXT://192.168.121.21:9092 

[root@db2~]#vim kafka_2.11-2.4.0/config/server.properties

broker.id=3

listeners=PLAINTEXT://192.168.121.31:9092 

[root@mycat conf]#./kafka_2.11-2.4.0/bin/kafka-server-start.sh -daemon ./kafka_2.11-2.4.0/config/server.properties   启用kafka,三台都启用

[root@db1 ~]# ./kafka_2.11-2.4.0/bin/kafka-server-start.sh -daemon ./kafka_2.11-2.4.0/config/server.properties

[root@db2 ~]# ./kafka_2.11-2.4.0/bin/kafka-server-start.sh -daemon ./kafka_2.11-2.4.0/config/server.properties
 [root@mycat conf]# jps
[root@mycat conf]#./kafka_2.11-2.4.0/bin/kafka-topics.sh --create --zookeeper 192.168.121.11:2181  --replication-factor 1 --partitions 1 --topic test

[root@db1 ~]#./kafka_2.11-2.4.0/bin/kafka-topics.sh --list --zookeeper 192.168.121.21:2181

[root@db2 ~]#./kafka_2.11-2.4.0/bin/kafka-topics.sh --list --zookeeper 192.168.121.31:2181

五、主库安装对应的数据库数据和前端网页的安装

就是网页对应的数据库数据,提前下载好了,

1、数据库的配置

[root@db1 ~]# mysql -uroot -p123

MariaDB [(none)]> create database gpmall;

MariaDB [(none)]> use gpmall;

MariaDB [gpmall]> source /root/gpmall.sql

[root@mycat ~]# vim /usr/local/mycat/conf/schema.xml 
[root@mycat ~]# vim /usr/local/mycat/conf/server.xml 
[root@mycat ~]# /bin/bash /usr/local/mycat/bin/mycat start

[root@mycat ~]# vim /etc/hosts   加上redis缓存数据库的信息

192.168.121.11 redis

[root@mycat ~]# scp /etc/hosts root@192.168.121.21:/etc/hosts
[root@mycat ~]# scp /etc/hosts root@192.168.121.31:/etc/hosts

[root@mycat ~]# vim /etc/redis.conf 

#bind 127.0.0.1   //本地注释掉
protect-mode no  //关掉保护模式
[root@mycat ~]# systemctl restart redis
[root@mycat ~]# systemctl enable redis

2、hosts文件的配置

[root@mycat ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.121.11 mycat
192.168.121.21 db1
192.168.121.31 db2
192.168.121.11 zookeeper1
192.168.121.21 zookeeper2
192.168.121.31 zookeeper3
192.168.121.11 redis
192.168.121.21    mysql.mall
192.168.121.11    zk1.mall
192.168.121.21    zk2.mall
192.168.121.31    zk3.mall
192.168.121.11    kafka1.mall
192.168.121.21    kafka2.mall
192.168.121.31    kafka3.mall
192.168.121.11    redis.mall



[root@mycat ~]# scp /etc/hosts root@192.168.121.21:/etc/hosts

[root@mycat ~]# scp /etc/hosts root@192.168.121.31:/etc/hosts

3、安装ningx和js文件

将四个文件闯到db1,做主库的那台

后台运行四个文件

[root@db1 ~]# nohup java -jar user-provider-0.0.1-SNAPSHOT.jar &
[root@db1 ~]# nohup java -jar shopping-provider-0.0.1-SNAPSHOT.jar &

[root@db1 ~]# nohup java -jar gpmall-user-0.0.1-SNAPSHOT.jar &
[root@db1 ~]# nohup java -jar gpmall-shopping-0.0.1-SNAPSHOT.jar &

多运行几次

3、主从都运行js文件

#nohup java -jar user-provider-0.0.1-SNAPSHOT.jar &
#nohup java -jar shopping-provider-0.0.1-SNAPSHOT.jar &
#nohup java -jar gpmall-user-0.0.1-SNAPSHOT.jar &
#nohup java -jar gpmall-shopping-0.0.1-SNAPSHOT.jar &

[root@db2 ~]# jobs -l
 

[root@mycat ~]# yum -y install nginx

[root@mycat ~]# cat /etc/nginx/conf.d/default.conf 

upstream myuser {
        server 192.168.121.21:8082;
            server 192.168.121.31:8082;
        ip_hash;
    }

        upstream myshopping {
        server 192.168.121.21:8081;
            server 192.168.121.31:8081;
            ip_hash;
        }
        upstream mycashier {
        server 192.168.121.21:8083;
            server 192.168.121.31:8083; 
            ip_hash;
        }

server {
    location /user {
        proxy_pass http://myuser;
        }

        location /shopping {
        proxy_pass http://myshopping;
        }
        location /cashier {
        proxy_pass http://mycashier;
        }

}
[root@mycat ~]# systemctl restart nginx

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

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

相关文章

提高LabVIEW电机控制速度

在LabVIEW中执行绝对位移命令时&#xff0c;其运行时间主要与以下电机参数有关&#xff1a; 电机加速度和减速度&#xff1a; 加速度和减速度参数决定了电机从静止到达到目标速度&#xff0c;以及从高速到停止的时间。这些参数直接影响电机响应的迅速程度。如果加速度和减速度设…

如何使用ssm实现基于bs模式的医院在线挂号预约系统的设计与实现

TOC ssm072基于bs模式的医院在线挂号预约系统的设计与实现jsp 第1章 绪论 1.1 课题背景 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人…

B/S架构和C/S架构的区别

B/S架构、C/S架构区别 1. B/S架构 1.1 什么是B/S架构 B/S架构的全称为Browser/Server&#xff0c;即浏览器/服务器结构。Browser指的是Web浏览器&#xff0c;极少数事务逻辑在前端实现&#xff0c;但主要事务逻辑在服务器端实现。B/S架构的系统无须特别安装&#xff0c;只需要…

实战OpenCV之绘制图形

基础入门 OpenCV除了用于图像显示之外&#xff0c;还提供了一系列接口和工具&#xff0c;以帮助开发者在图像上绘制各种图形。这里的图形包括&#xff1a;直线、矩形、圆形、椭圆、多边形等。另外&#xff0c;OpenCV还支持在图像上添加文字&#xff0c;对多张图像进行叠加操作。…

NACOS 2.4.1如何开启账号密码登录功能

Nacos Server 2.4.0+已正式发布取消管理员用户 nacos 的默认密码支持初始化指定密码。 本章教程,主要介绍如何给nacos加上鉴权,支持通过用户名和密码的方式进行访问nacos页面。 NACOS 2.4.1版本下载地址:https://github.com/alibaba/nacos/releases/tag/2.4.1 1、开启认证功…

驱动:insmod

一、驱动模块的加载 1. 静态 编译进内核2. 动态 编译成模块 如下&#xff1a; 解决方法 结果 led电灯例子 创建一个led.c 修改Makefile、Kconfigmake modulescp drivers/char/led.ko /home/linux/nfs/rootfs开发板 insmod led.ko去 /home/linux/nfs/rootfs 上 写程序.carm-l…

每日掌握一个科研绘图|区域图·24-08-23

小罗碎碎念 为了方便大家获取对应的代码和源数据&#xff0c;从本期推文开始&#xff0c;我将把对应的文件上传至Github仓库&#xff0c;感兴趣的同学自行获取。 仓库地址 https://github.com/Lxltxpku/Share 一、区域图 区域图是一种数据可视化工具&#xff0c;它通过在坐标…

嵌入式人工智能ESP32(7-OLED显示中英文)

1、OLED显示英文 我们之前通过树莓派开发板做过OLED显示&#xff0c;这里就不再赘述OLED显示屏了。直接上接线图与代码。 &#xff08;1&#xff09;Adafruit Adafruit是一家成立于2005年的私营企业&#xff0c;主要业务是设计和制造开源电子硬件。Adafruit在美国设计和制造其…

全栈杂谈第一期:什么是计算机中的并发

什么是计算机中的并发 计算机中的“并发”是一个听起来很复杂的词汇&#xff0c;但我们可以把它简单理解为“同时做很多事情”。想象一下你正在做晚饭&#xff1a;你可以在等水烧开的时候切菜&#xff0c;还可以在等待炖汤时洗碗。尽管你只有一双手&#xff0c;但通过合理安排…

芋道cloud v2.2.0发布,支持模块选配,丢弃简易版

大家知道&#xff0c;芋道cloud拥有商城、CRM、ERP、微信相关等模块&#xff0c;很显然我们在日常开发中不可能一个项目同时拥有这么多模块。但是从gitee上获取代码的时候&#xff0c;只提供了简易版和完整版。简易版本只有最基础的功能&#xff0c;如果想要微信相关的模块&…

浅谈Llama3.1,从结构、训练过程、影响到数据合成

Llama3.1系列模型的开源&#xff0c;真让大模型格局大震&#xff0c;指标上堪比最好的闭源模型比如GPT 4o和Claude3.5&#xff0c;让开源追赶闭源成为现实。 这里给大家分享一篇俊林兄&#xff08;知乎张俊林&#xff09;的一篇解读&#xff0c;主要对LLaMA3.1的模型结构、训练…

RM双轴云台控制

RM机器人上最复杂的控制计构就是双轴云台了&#xff0c;赛场上的情况对双轴云台的控制稳定度与响应灵敏度双方面都提出了很高的要求&#xff0c;云台控制的好坏在一定程度上就能够代表一支队伍的实力。 双轴云台采用的控制算法依然是PID控制算法&#xff0c;关于PID控制算法的…

自动操作一键数据恢复/电子取证

对磁盘模拟扫描修复丢失数据的实验。 先挂载题目磁盘VHD。 Windows系统中打开磁盘管理&#xff0c;-操作&#xff0c;-附加VHD 可以看到已经加载出题目磁盘&#xff0c;接下来打开RStudio数据恢复软件&#xff0c;对其进行扫描。 操作找回丢失/被删除的数据 可以看到已经加载出…

Java入门:06.Java中的方法--进阶04

4方法递归 简而言之就是方法的自身调用。 也可以是方法组自身的调用 递归类似循环&#xff0c;可以实现功能的反复执行。在某些(算法)环境下&#xff0c;比使用循环更轻松。 递归的本质就是方法的不同调用&#xff0c;就会不同的产生栈帧压栈&#xff0c;栈空间有限&#xff…

一个可以搜索页面内超链接的HTML页面

页面效果如上&#xff0c;含有标题&#xff0c;搜索框和一些超链接&#xff0c;在搜索框输入一些文字可以在下方显示含有这些文字的超链接。这里的搜索不仅可以中文&#xff0c;还可以是英文&#xff0c;数字 HTML代码如下 <!DOCTYPE html> <html lang"en&qu…

笔记小结:《利用pytthon进行数据分析》之使用pandas和seaborn绘图

matplotlib实际上是一种比较低级的工具。要绘制一张图表&#xff0c;你组装一些基本组件就行&#xff1a;数据展示&#xff08;即图表类型&#xff1a;线型图、柱状图、盒形图、散布图、等值线图等&#xff09;、图例、标题、刻度标签以及其他注解型信息。 在pandas中&#xf…

polarctf靶场[CRYPTO]显而易见的密码、[CRYPTO]夏多的梦、[CRYPTO]再这么说话我揍你了、[CRYPTO]神秘组织M

[CRYPTO]显而易见的密码 考点&#xff1a;ntlm编码 打开文件&#xff0c;显示内容就是ntlm格式 ntlm解密 在线网站&#xff1a; https://www.cmd5.com/便可得到flag [CRYPTO]夏多的梦 根据题目提示可以猜测为夏多密码 考点&#xff1a;夏多密码 在线加密原理网站&#x…

如何使用ssm实现应急资源管理系统

TOC ssm074应急资源管理系统jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。…

WEB渗透Win提权篇-RDPFirewall

爆破RDP Hydra爆破RDP >hydra -l admin -P /root/Desktop/passwords -S 192.168.0.0 rdpNlbrute MSF开启 >run post/windows/manage/enable_rdp多用户登陆 Mimikatz设置允许多用户登录 >privilege::debug >ts::multirdprdpwrap GitHub - stascorp/rdpwrap: RD…

用5点结构标定3点结构的顺序

在行列可自由变换的条件下&#xff0c;5点结构有34个 (A,B)---6*30*2---(0,1)(1,0) 让A分别是5a1&#xff0c;2&#xff0c;…&#xff0c;34&#xff0c;让B全是0。当收敛误差为7e-4&#xff0c;收敛199次取迭代次数平均值&#xff0c;得到 迭代次数 搜索难度 1 3683.965 …