Apache Doris 2.0.2 安装步骤 Centos8
Linux 操作系统版本需求
Linux 系统 | 版本 | 当前系统版本 |
---|---|---|
CentOS | 7.1 及以上 | CentOS8 |
Ubuntu | 16.04 及以上 | - |
软件需求
软件 | 版本 | 当前版本 |
---|---|---|
Java | 1.8 | 1.8.0_391 |
GCC | 4.8.2 及以上 | gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) |
1、查看操作系统版本
方法 1:使用命令行
- 打开终端或命令行窗口。
- 运行以下命令来查看 CentOS 版本信息:
cat /etc/centos-release
如果你看到输出中含有 CentOS 7 或 CentOS 8 的版本号,则可以确定当前系统的 CentOS 版本。
方法 2:使用运行版本命令
- 同样需要打开终端或命令行窗口。
- 运行以下命令来检查 CentOS 系统中
/etc/os-release
文件的内容:
cat /etc/os-release
这个命令会显示包含 CentOS 版本信息的输出。在 VERSION_ID
一行中,你将能够看到版本号,从而确定是 CentOS 7 还是 CentOS 8。
无论使用哪种方法,你都将能够确定当前系统运行的是 CentOS 7 还是 CentOS 8。
2、查看GCC版本
要查看 CentOS 8 上安装的 GCC 版本,你可以按照以下方法进行操作:
- 打开终端或命令行窗口。
- 运行以下命令来查看 GCC 版本信息:
gcc --version
该命令将输出 GCC 的版本信息,包括主版本号、次版本号等详细信息。
注意:如果你的系统中未安装 GCC,需要先通过以下命令安装:
sudo dnf install gcc
使用上述步骤,你将能够在 CentOS 8 上查看到安装的 GCC 版本。
3、集群做时钟同步
在 CentOS 8 上,你可以使用 chronyd
服务来进行时钟同步。以下是设置时钟同步的步骤:
-
确保
chronyd
服务已安装:sudo dnf install chrony
如果你已安装了
chrony
,则会显示已安装的版本号。 -
编辑
/etc/chrony.conf
文件:sudo vim /etc/chrony.conf
打开文件后,你可以根据需要进行配置更改。
-
添加或更改时间服务器: 在
/etc/chrony.conf
文件中,你可以找到一些种类为server
的行。你可以编辑这些行来添加或更改时间服务器。通常,你可以在互联网上找到公共的时间服务器。例如,你可以在chrony.conf
文件中添加以下行:## 注释掉这个一行 # pool 2.centos.pool.ntp.org iburst # FE 同步授时中心cn.ntp.org.cn server cn.ntp.org.cn iburst# BE 同步FE的时间 # server 10.10.8.156 iburst
请将
time.example.com
替换为你选择的时间服务器。例如:cn.ntp.org.cn -
启动并启用
chronyd
服务:sudo systemctl start chronyd sudo systemctl enable chronyd
-
检查时钟同步状态:
chronyc sources
这将显示与
chronyd
同步的时间服务器列表以及同步状态。
通过按照上述步骤设置 chronyd
服务,你将在 CentOS 8 上实现时钟同步。如果你修改了 chrony.conf
配置文件,请确保重新启动 chronyd
服务以使更改生效。
4、设置系统最大打开文件句柄数
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
# 重启服务器生效 reboot
# 通过ulimit 查看是否生效
ulimit -n
5、安装Java环境
# Oracle官网下载,上传JDK jdk-8u391-linux-x64.tar.gz
[root@localhost ~]# cd /u01/
[root@localhost u01]# tar -zxf jdk-8u391-linux-x64.tar.gz
[root@localhost u01]# vim /etc/profile
export JAVA_HOME=/u01/jdk1.8.0_391
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH# 重新加载资源
[root@localhost u01]# source /etc/profile
[root@localhost u01]# java -version
java version "1.8.0_391"
Java(TM) SE Runtime Environment (build 1.8.0_391-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)
6、Doris 配置 FE
6.1、查看操作系统是否支持avx2指令集,没有则下载noavx2的安装包。
要检查你的 CentOS 8 系统是否支持 AVX2 指令集,可以使用以下命令来检查 CPU 的功能:
grep avx2 /proc/cpuinfo
如果你看到类似下面的输出,说明你的 CPU 支持 AVX2 指令集:
flags : ... avx2 ...
其中 flags
列表中包含了支持的 CPU 功能标记。如果你在其中找到了 avx2
,则表示你的系统 CPU 支持 AVX2 指令集。
如果你的 CPU 不支持 AVX2 指令集,那么在上述输出中将找不到 avx2
标记。
请注意,要确保你的 CPU 支持 AVX2 指令集,你的 CPU 和主板必须支持该功能。虽然 CentOS 8 是一个 64 位操作系统,但该操作系统本身并不影响 CPU 功能。因此,支持 AVX2 指令集取决于你的 CPU 硬件。
6.2 解压缩,修改配置
# 这里没有avx2指令集 下载apache-doris-2.0.2-bin-x64-noavx2.tar.gz
# 上传到服务器 /u01目录下
# 1、解压缩包
[root@localhost u01]# tar -zxf apache-doris-2.0.2-bin-x64-noavx2.tar.gz
# 2、这里把FE的文件夹,单独拿到/u01 方便后面出问题后,删除重新复制一份
[root@localhost u01]# cp -r apache-doris-2.0.2-bin-x64-noavx2/fe/ /u01/
修改 FE 配置文件 conf/fe.conf
,这里我们主要修改两个参数:priority_networks
及 meta_dir
,如果你需要更多优化配置,请参考 FE 参数配置说明,进行调整。
-
添加 priority_networks 参数
[root@localhost u01]# vim fe/conf/fe.conf# 修改内容如下 priority_networks=x.x.x.0/24
注意:
这个参数我们在安装的时候是必须要配置的,特别是当一台机器拥有多个IP地址的时候,我们要为 FE 指定唯一的IP地址。
这里假设你的节点 IP 是
172.23.16.32
,那么我们可以通过掩码的方式配置为172.23.16.0/24
。 -
添加元数据目录
# 单独配置元数据目录,需要你提前创建好你指定的目录 meta_dir=/u01/fe/doris-meta # 注意:生产环境强烈建议单独指定目录不要放在Doris安装目录下,最好是单独的磁盘(如果有SSD最好),测试开发环境可以使用默认配置(默认是在你的Doris FE 安装目录下的 doris-meta)
6.3 后台启动FE
在 FE 安装目录下执行下面的命令,来完成 FE 的启动。
[root@localhost fe]# ./bin/start_fe.sh --daemon
6.4查看 FE 运行状态
你可以通过下面的命令来检查 Doris 是否启动成功
root@narada:/u01/apache-doris-2.0.2-bin-x64/fe# curl http://127.0.0.1:8030/api/bootstrap
{"msg":"success","code":0,"data":{"replayedJournalId":0,"queryPort":0,"rpcPort":0,"version":""},"count":0}
这里 IP 和 端口分别是 FE 的 IP 和 http_port(默认8030),如果是你在 FE 节点执行,直接运行上面的命令即可。
如果返回结果中带有 "msg":"success"
字样,则说明启动成功。
你也可以通过 Doris FE 提供的Web UI 来检查,在浏览器里输入地址
http:// fe_ip:8030 即:http://x.x.x.x:8030/
可以看到下面的界面,说明 FE 启动成功
注意:
- 这里我们使用 Doris 内置的默认用户 root 进行登录,密码是空
- 这是一个 Doris 的管理界面,只能拥有管理权限的用户才能登录,普通用户不能登录。
6.5连接 FE
我们下面通过 MySQL 客户端来连接 Doris FE,下载免安装的 MySQL 客户端
解压刚才下载的 MySQL 客户端,在 bin/
目录下可以找到 mysql
命令行工具。然后执行下面的命令连接 Doris。
[root@localhost bin]# pwd
/u01/mysql-5.7.22/bin
[root@localhost bin]# ./mysql -uroot -P9030 -h127.0.0.1# 设置登录密码
SET PASSWORD FOR 'root' = PASSWORD('narada2023');
注意:
- 这里使用的 root 用户是 doris 内置的默认用户,也是超级管理员用户,具体的用户权限查看 权限管理
- -P :这里是我们连接 Doris 的查询端口,默认端口是 9030,对应的是fe.conf里的
query_port
- -h : 这里是我们连接的 FE IP地址,如果你的客户端和 FE 安装在同一个节点可以使用127.0.0.1。
- mysql 无法运行的话,要先解决对应报错。
执行下面的命令查看 FE 运行状态
show frontends\G;
然后你可以看到类似下面的结果:
mysql> show frontends\G
*************************** 1. row ***************************Name: fe_cd86c1da_3c70_4ebe_add6_70c7e39b3827Host: x.x.x.xEditLogPort: 9010HttpPort: 8030QueryPort: 9030RpcPort: 9020Role: FOLLOWERIsMaster: trueClusterId: 1027578203Join: trueAlive: true
ReplayedJournalId: 3379LastHeartbeat: 2023-12-06 14:29:20IsHelper: trueErrMsg: Version: doris-2.0.2-rc05-ae923f7CurrentConnected: Yes
1 row in set (0.04 sec)
- 如果 IsMaster、Join 和 Alive 三列均为true,则表示节点正常。
7 Doris配置 BE
7.1 同样解压缩,复制be到/u01
[root@localhost u01]# tar -zxf apache-doris-2.0.2-bin-x64-noavx2.tar.gz
[root@localhost u01]# cp -r apache-doris-2.0.2-bin-x64-noavx2/be/ /u01
我们进入到 be
目录
修改 BE 配置文件 conf/be.conf
,这里我们主要修改两个参数:priority_networks
及 storage_root
,如果你需要更多优化配置,请参考 BE 参数配置说明,进行调整。
-
添加 priority_networks 参数
[root@localhost u01]# cd be/conf/ [root@localhost conf]# vim be.conf priority_networks=x.x.x.0/24
注意:
这个参数我们在安装的时候是必须要配置的,特别是当一台机器拥有多个IP地址的时候,我们要为 BE 指定唯一的IP地址。
-
配置 BE 数据存储目录
修改 be/conf/be.conf。主要是配置
storage_root_path
:数据存放目录。默认在be/storage下,若需要指定目录的话,需要预创建目录。多个路径之间使用英文状态的分号;
分隔。
可以通过路径区别节点内的冷热数据存储目录,HDD(冷数据目录)或 SSD(热数据目录)。如果不需要 BE 节点内的冷热机制,那么只需要配置路径即可,无需指定 medium 类型;也不需要修改FE的默认存储介质配置注意:
- 如果未指定存储路径的存储类型,则默认全部为 HDD(冷数据目录)。
- 这里的 HDD 和 SSD 与物理存储介质无关,只为了区分存储路径的存储类型,即可以在 HDD 介质的盘上标记某个目录为 SSD(热数据目录)。
示例1如下:
storage_root_path=/home/disk1/doris;/home/disk2/doris;/home/disk2/doris
示例2如下:
使用 storage_root_path 参数里指定 medium
storage_root_path=/home/disk1/doris,medium:HDD;/home/disk2/doris,medium:SSD
说明
- /home/disk1/doris,medium:HDD: 表示该目录存储冷数据;
- /home/disk2/doris,medium:SSD: 表示该目录存储热数据;
实际操作: centos这边先不动了,直接用默认目录
# 这里是测试环境没有多余的磁盘 用disk1 disk2 区分,生产环境:挂不同的地址可以用 u01 u02区分 # 预创建目录:/u01/disk1/doris /u01/disk2/doris storage_root_path=/u01/disk1/doris,medium:HDD;/u01/disk2/doris,medium:SSD
-
配置 JAVA_HOME 环境变量
由于从 1.2 版本开始支持 Java UDF 函数,BE 依赖于 Java 环境。所以要预先配置
JAVA_HOME
环境变量,也可以在start_be.sh
启动脚本第一行添加export JAVA_HOME=your_java_home_path
来添加环境变量。**注意:**最开始安装JDK的时候,已经把环境变量配置好了,所有这里不用管
-
安装 Java UDF 函数
安装Java UDF 函数因为从1.2 版本开始支持Java UDF 函数,需要从官网下载 Java UDF 函数的 JAR 包放到 BE 的 lib 目录下,否则可能会启动失败。
**注意:**发现lib下面已经有 java_extensions/java-udf 。这里把他复制到lib下面
[root@localhost lib]# pwd /u01/be/lib [root@localhost lib]# cp java_extensions/java-udf/java-udf-jar-with-dependencies.jar .
7.2 启动 BE
在 BE 安装目录下执行下面的命令,来完成 BE 的启动。
[root@localhost bin]# pwd /u01/be/bin [root@localhost bin]# ./start_be.sh --daemon
提示报错1:
Please set vm.max_map_count to be 2000000 under root using 'sysctl -w vm.max_map_count=2000000'.
解决方案:
# 临时修改:使用sysctl命令临时修改参数的值 sysctl -w vm.max_map_count=2000000 # 永久修改:编辑/etc/sysctl.conf文件,并增加或修改以下行: root@narada:/u01/apache-doris-2.0.2-bin-x64/be# vim /etc/sysctl.conf vm.max_map_count=2000000# 保持文件后,使用一下命令更改生效 root@narada:/u01/apache-doris-2.0.2-bin-x64/be# sysctl -p vm.max_map_count = 2000000
提示报错2:
Please disable swap memory before installation.
解决方案:
# 关闭交换分区(swap) # 使用swapoff -a命令可以关闭所有已启用的交换分区。在执行此命令之前,应仔细检查已启用的交换分区,并确保关闭它们不会对系统产生不利影响。 swapoff -a
7.3添加 BE 节点到集群
通过MySQL 客户端连接到 FE 之后执行下面的 SQL,将 BE 添加到集群中
-- 实例:ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port"; ALTER SYSTEM ADD BACKEND "be1_ip:9050"; ALTER SYSTEM ADD BACKEND "be2_ip:9050"; ALTER SYSTEM ADD BACKEND "be3_ip:9050";
- be_host_ip:这里是你 BE 的 IP 地址,和你在
be.conf
里的priority_networks
匹配 - heartbeat_service_port:这里是你 BE 的心跳上报端口,和你在
be.conf
里的heartbeat_service_port
匹配,默认是9050
。
查看 BE 运行状态
你可以在 MySQL 命令行下执行下面的命令查看 BE 的运行状态。
SHOW BACKENDS\G
- Alive : true表示节点运行正常
- be_host_ip:这里是你 BE 的 IP 地址,和你在
常见问题
1、MySQL连接报错
./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
解决方案:
这个错误通常是由于缺少 libncurses.so.5 库文件引起的。要解决这个问题,你可以尝试以下方法:
-
安装 libncurses.so.5 库文件:
sudo dnf install ncurses-compat-libs
这个命令将安装 ncurses-compat-libs 软件包,它提供了 libncurses.so.5 库文件。
-
创建软链接: 如果安装了 ncurses-compat-libs 软件包但问题仍存在,可以尝试创建一个软链接来解决:
# 安装以后没有,就再建一个软连接。如果已经有了 就不用管了 sudo ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
这个命令将在
/usr/lib64
目录下创建一个 libncurses.so.5 的软链接指向 libncurses.so.6。
尝试以上解决方法后,再次运行 ./mysql
命令,应该可以成功加载 libncurses.so.5 库文件并启动 MySQL 服务器。
2、导入数据时 max_allowed_packet 值过小
com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (1,347,330 > 1,048,576). You can change this value on the server by setting the 'max_allowed_packet' variable.# 查询原来的大小是多少,默认是1G
select @@max_allowed_packet; -- 1048576
# 重新设置大小20*1024*1024; 20代表:20G
set global max_allowed_packet = 20*1024*1024;
3、centos8 查看CPU使用情况
在CentOS中,你可以使用 top
命令来查看 CPU 的使用情况。请按照以下步骤进行操作:
-
打开终端或 SSH 连接到 CentOS 服务器。
-
在终端中输入以下命令并按下回车运行:
top
-
在顶部的信息栏中,你将看到类似下面的 CPU 使用情况:
top - 08:45:23 up 1 day, 3:25, 1 user, load average: 0.00, 0.01, 0.05 Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 2047812 total, 196180 free, 1192144 used, 653488 buff/cache KiB Swap: 0 total, 0 free, 0 used. 659280 avail Mem
%Cpu(s)
行列出了 CPU 的使用情况。其中,us
代表用户进程占用 CPU 的百分比,sy
代表系统进程占用 CPU 的百分比,ni
代表改变过优先级的进程占用 CPU 的百分比,id
代表空闲 CPU 的百分比,wa
代表等待 I/O 的进程占用 CPU 的百分比,hi
代表硬件中断占用 CPU 的百分比,si
代表软件中断占用 CPU 的百分比,st
代表虚拟机被强制获取 CPU 时间的百分比。在该信息栏中,你还可以看到系统的负载情况和内存使用情况等。你可以使用箭头键来上下滚动查看更多进程和信息。
除了 top
命令之外,你还可以使用其他一些命令来查看 CPU 使用情况,例如 htop
和 mpstat
。这些工具提供了更详细和交互式的 CPU 监控信息。你可以使用 yum
或 dnf
命令安装这些工具。
4、centos8 查看IO使用情况
4.1 使用 iotop
,安装命令 sudo dnf install iotop
在 CentOS 8 中,你可以使用 iotop
命令来查看磁盘 I/O 使用情况。请按照以下步骤进行操作:
-
打开终端或通过 SSH 连接到 CentOS 8 服务器。
-
在终端中输入以下命令并按下回车运行:
iotop
-
当命令运行后,你将看到类似下面的实时磁盘 I/O 使用情况的统计信息:
该输出显示了每个活动的进程以及它们的磁盘 I/O 使用情况,包括磁盘读取速度(DISK READ)、磁盘写入速度(DISK WRITE)以及进程的资源占用情况。你可以根据需要来查看特定进程的 I/O 使用情况和排名。
iotop
命令提供了实时的磁盘 I/O 统计信息,可以帮助你监控磁盘活动,找到可能引起性能问题的进程。请注意,你可能需要以 root 用户身份运行 iotop
命令或具有相应权限的用户。如果系统中没有安装 iotop
,你可以使用 yum
或 dnf
命令来安装它。
4.2 使用 iostat
,安装命令 sudo dnf install sysstat
iostat
命令可以提供关于磁盘 I/O 统计信息的详细报告。请按照以下步骤进行操作:
-
打开终端或通过 SSH 连接到 CentOS 8 服务器。
-
在终端中输入以下命令并按下回车运行:
iostat
-
你将看到类似下面的输出,其中包含了磁盘 I/O 使用情况的统计信息:
Linux 4.18.0-80.11.2.el8_0.x86_64 (centos) 08/25/20 _x86_64_ (1 CPU)avg-cpu: %user %nice %system %iowait %steal %idle0.10 0.00 0.48 1.13 0.00 98.29Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.83 2.36 2.82 161343 198840 sdb 0.00 0.00 0.00 10 20
在输出中,
kB_read/s
表示每秒的读取速度(单位为 kB),kB_wrtn/s
表示每秒的写入速度(单位为 kB),tps
表示每秒的 I/O 操作次数。
4.3 使用 dstat
,安装命令 sudo dnf install dstat
dstat
命令可以提供实时的系统资源监视器,其中包括磁盘 I/O 使用情况。请按照以下步骤进行操作:
-
打开终端或通过 SSH 连接到 CentOS 8 服务器。
-
在终端中输入以下命令并按下回车运行:
dstat -d
-
你将看到类似下面的输出,其中包含了磁盘 I/O 使用情况及其他资源的统计信息:
----total-cpu-usage---- --dsk/total- --dsk/sda-- --dsk/sdb-- --net/total- --paging-- ---system-- usr sys idl wai hiq siq| read writ | read writ | read writ | recv send | in out | int csw ...
输出中的
read
和writ
列分别表示读取和写入的数据量。
0.00 10 20
在输出中,`kB_read/s` 表示每秒的读取速度(单位为 kB),`kB_wrtn/s` 表示每秒的写入速度(单位为 kB),`tps` 表示每秒的 I/O 操作次数。### 4.3 使用 `dstat ` ,安装命令 `sudo dnf install dstat``dstat` 命令可以提供实时的系统资源监视器,其中包括磁盘 I/O 使用情况。请按照以下步骤进行操作:1. 打开终端或通过 SSH 连接到 CentOS 8 服务器。2. 在终端中输入以下命令并按下回车运行:
dstat -d
3. 你将看到类似下面的输出,其中包含了磁盘 I/O 使用情况及其他资源的统计信息:
----total-cpu-usage---- --dsk/total- --dsk/sda-- --dsk/sdb-- --net/total- --paging-- —system–
usr sys idl wai hiq siq| read writ | read writ | read writ | recv send | in out | int csw
…
输出中的`read`和`writ`列分别表示读取和写入的数据量。这些工具可以帮助你监控磁盘 I/O 使用情况,以便了解系统的性能和负载情况。你可以根据需要来选择使用其中的一个工具。如果系统中没有安装这些工具,你可以使用 `yum` 或 `dnf` 命令来安装它们。
相关文章:
Apache Doris 2.0.2 安装步骤 Centos8
Linux 操作系统版本需求 Linux 系统版本当前系统版本CentOS7.1 及以上CentOS8Ubuntu16.04 及以上- 软件需求 软件版本当前版本Java1.81.8.0_391GCC4.8.2 及以上gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) 1、查看操作系统版本 方法 1:使用命令行 打开终端或…...
Java学习苦旅(二十五)——哈希表
本篇博客将详细讲解哈希表。 文章目录 哈希表概念冲突概念避免冲突哈希函数设计常见哈希函数 负载因子调节解决冲突闭散列开散列(哈希桶) 和java类集的关系 结尾 哈希表 概念 顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关…...
性能分析与调优: Linux 实现 CPU剖析与火焰图
目录 一、实验 1.环境 2.CPU 剖析 3.CPU火焰图 一、实验 1.环境 (1)主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测GUIgrafana192.168.204.19agent 监测 主机 node_exporter192…...
leetcode动态规划问题总结 Python
目录 一、基础理论 二、例题 1. 青蛙跳台阶 2. 解密数字 3. 最长不含重复字符的子字符串 4. 连续子数组的最大和 5. 最长递增子序列 6. 最长回文字符串 7. 机器人路径条数 8. 礼物的最大价值 一、基础理论 动态规划其实是一种空间换时间的基于历史数据的递推算法&…...
strtok函数的介绍
_str指被分解的字符串 delim指分隔符字符串 返回类型是指针 strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符…...
CF1909_C. Heavy Intervals题解
CF1909_C. Heavy Intervals题解 题目传送门(Problem - C - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1909/problem/C)。 题目翻译如下:(图片来源&a…...
【Python机器学习】理论知识:决策树
决策树是广泛用于分类和回归任务的模型,本质上是从一层层if/else问题中进行学习,并得出结论。这些问题类似于“是不是”中可能问到的问题。 决策树的每个结点代表一个问题或一个包含答案的终结点(叶结点)。树的边奖问题的答案与将…...
天软特色因子看板 (2024.01 第2期)
该因子看板跟踪天软特色因子A04001(当日趋势强度),该因子为反映股价走势趋势强弱,用以反映股价走势趋势强弱,abs(值)越接近1,趋势 性越强,符号代表涨跌方向 今日为该因子跟踪第2期,跟踪其在SH000905 (中证5…...
java智慧医院互联网智慧3D导诊系统源码,经由智慧导诊系统多维度计算,准确推荐科室
什么是智慧导诊系统? 简单地说,智慧导诊系统是一种利用人工智能技术,为医生提供帮助的系统。它可以通过分析患者的症状和病史为医生提供疾病诊断和治疗方案的建议。 系统介绍: 医院智慧导诊系统是在医院中使用的引导患者自助就诊挂号&…...
WiFi7: MLD寻址
原文:MLD使用MLD MAC address唯一的标识本MLD。 MLD下的STA(s)使用与之不同的MAC address。 NOTE MLD MAC address可以和其下的某个STA的MAC address相同或者不同于任一MAC Address。 原文:对于individually addressed 帧。以下规则适用: Address 2(TA)设置为STA的MAC Add…...
laravel-admin之 浏览器自动填充密码(如果需要渲染数据库密码的话,首先确认数据库密码是否可以逆向解密)
参考 https://blog.51cto.com/u_10401840/5180106 为什么浏览器端保存的密码一直自动写入到$form->password 解决办法 2、在页面进入的时候,默认表单的type值为text;推荐指数:2颗星 5、设置表单的readonly属性;推荐指数:4颗…...
jquery图形验证码
效果展示 js图形随机验证码(表单验证) html代码片段 <form class"formwrap"><div class"item"><input type"text" id"code_input" value"" placeholder"请输入验证码"/>…...
dp专题10 目标和
本题链接:. - 力扣(LeetCode) 题目: 思路: 根据这道题,可以通过暴力的方法进行取 号或者 - 号 两个操作,通过当刚好得到 target 的时候 答案 1,但是通过长度是 20 ,操…...
详解 docker 镜像制作的两种方式
概要 制作Docker镜像一般有2种方法: 通过Dockerfile,完成镜像的创建使用仓库中已有的镜像,安装自己使用的软件环境后完成新镜像创建 docker 常用命令 docker build: 用于构建 Docker 镜像。该命令可以从 Dockerfile 构建镜像,…...
selenium元素单击不稳定解决方法
selenium自动化测试过程中,经常会发现某一元素单击,很不稳定,有时候执行了点击没有反映。 以下总结两种解决方法:都是通过js注入的方式去点击。 1.F12查一看,要点击的按钮,或连接,有没有οncl…...
vue3中vite使用sass
引用:https://blog.csdn.net/weiliang_66/article/details/132469597 npm install sass -d配置vite.config.js: css: {preprocessorOptions: {scss: {additionalData:import "/assets/styles/main.scss";}}}创建对应的 main.sass...
centos 8.0 安装sysbench 1.0.17
序号步骤说明执行命令执行结果备注1 下载并解压sysbench-1.0.17.zip sysbench-1.0.17.zip2安装依赖文件 yum install automake libtool -y yum install /usr/include/libpq-fe.h 3安装sysbench cd sysbench-1.0.17 ./autogen.sh ./configure \ --prefix/sysbench \ --with-pgsq…...
LabVIEW开发分布式光纤油气管道泄漏检测及预警系统
LabVIEW开发分布式光纤油气管道泄漏检测及预警系统 随着油气工业的发展,管道泄漏成为一个严峻的安全问题。本文介绍了一种基于LabVIEW的分布式光纤油气管道泄漏检测及预警系统的设计思路和组成结构。系统包括硬件和软件两部分,其中硬件部分详细阐述了分…...
Go后端开发 -- Go Modules
Go后端开发 – Go Modules 文章目录 Go后端开发 -- Go Modules一、什么是Go Modules?二、GOPATH的工作模式1.GOPATH模式2.GOPATH模式的弊端 三、Go Modules模式创建项目1.go mod命令2.go mod环境变量3.使用Go Modules初始化项目4.修改模块的版本依赖关系 四、Go Modules下impo…...
基于det_keypoint_unite的ROS功能包(jetson部署)
文章目录 硬件软件FastDeploy编译CMakeLists.txt头文件源代码硬件 Jetson AGX Orin 64GB 软件 gcc/g++ >= 5.4(推荐8.2)cmake >= 3.10.0jetpack >= 4.6.1opencv=4.2.0FastDeploy编译 git clone https://github.com/PaddlePaddle/FastDeploy.git cd FastDeploy mkdi…...
TS 36.211 V12.0.0-下行(8)-调制和上变频
本文的内容主要涉及TS 36.211,版本是C00,也就是V12.0.0。...
基于SSM酒店后台管理系统【源码】【最详细运行文档】
基于SSM酒店后台管理系统【源码】【最详细运行文档】 功能简介技术描述运行准备♝项目运行访问项目 演示图✅源码获取 💡 「分享」 大家好,最近几年在酒店后台管理系统非常流行,无论是上课的项目或者是一些毕设都会以酒店后台管理系统举例说…...
利用Python实现每日新闻早报推送
本文将介绍如何使用Python编写简单的逻辑,通过调用API接口实现每日新闻推送功能。 步骤: 导入所需的库: 在代码的开头,我们需要导入所需的库。通常,我们会使用requests库来发送HTTP请求,以获取新闻数据。 …...
图像分割-Grabcut法
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本文的C#版本请访问:图像分割-Grabcut法(C#)-CSDN博客 GrabCut是一种基于图像分割的技术,它可以用于将图像…...
性能测试浅谈
早期的性能测试更关注后端服务的处理能力。 一个用户去访问一个页面的请求过程,如上图。 数据传输时间 当你从浏览器输入网址,敲下回车,开始... 真实的用户场景请不要忽视数据传输时间,想想你给远方的朋友写信,信件需…...
媒体运营常用的ChatGPT通用提示词模板
媒体平台选择:如何选择合适的媒体平台,确保内容的有效传播? 内容策划与创作:如何策划和创作高质量的内容,吸引和留住目标受众? 内容发布与推广:如何有效地发布和推广内容,提高内容…...
Java学习苦旅(二十一)——泛型
本篇博客将详细讲解Java中的泛型。 文章目录 泛型的定义语法示例 泛型类语法示例类型边界语法示例 类型擦除通配符语法示例上界语法示例 下界语法示例 裸类型泛型方法语法示例 泛型的限制结尾 泛型的定义 语法 class 泛型类名称<类型形参列表> {//这里可以使用类型参数…...
具备闭环思维的测试才更充分
测试工作的终极目标是为了保障产品的质量。如果用同一个维度衡量测试人员的业务水平,简单粗暴一些:那就是针对同一款产品,哪个测试人员发现的bug多,哪个测试人员的测试理论与实践水平相对来说还是高一些。 前两天组长在群里分析了…...
flask web学习之模板(一)
文章目录 一、模板基本用法1.1 定界符1.2 模板语法1.3 渲染模板 二、模板辅助工具2.1 上下文2.2 全局对象2.3 过滤器2.4 测试器2.5 模板环境对象 在动态web程序中,视图函数返回的HTML数据往往需要根据相应的变量(比如查询参数)动态生成。当HT…...
RedisInsight - Redis官方可视化工具
一、RedisInsight 简介 RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,并且可以在界面上使用 CLI 和连接的 Redis 进行交互(RedisInsight 内置对 Redis 模块支持&#…...
网站建设记在哪个科目/电商网站网址
前端验证与后端验证 前端验证一般指通过JS方式实现的,友好的,而后端验证是指从表单提交过来,要进行入库之前的,数据有效性的验证,它不需要有美丽的外表,它需要有的仅仅是“有效”。 …...
架设网站 自己购买服务器/宁波seo怎么做推广渠道
Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业…...
wordpress 内部标签/seo店铺描述
在网上看了几篇关于生成日历的js 教程于是自己也整理了一个想法思路 大家有什么建议欢迎提出首先这个项目里面本人认为的几个难点:1、如何定义每一个月的第一天位置每个月的第一天都不是固定的星期几,所以第一天的输出需要动动脑筋把它放到对应的星期里面…...
个人做加盟商机网站如何盈利/google chrome网页版
实验原理:内核:内核是整个操作系统的最底层,它负责了整个硬件的驱动以及提供了各种系统所需的内核功能,包括防火墙机制,是否支持LVM或Quota文件系统,以及进程和内存管理和通信功能。其实内核就是系统上面的…...
wordpress微博图床/域名查询备案
2019独角兽企业重金招聘Python工程师标准>>> 朴素贝叶斯分类器 一,生成词向量(词集模型)第一,假设这里有两个参数vocabList, inputSet。vocabList代表着包含很多无重复的词,词量足够大,inputSet…...
网页设计教程pdf/seo外链建设方法
题库来源:安全生产模拟考试一点通公众号小程序 C证(安全员)免费试题是安全生产模拟考试一点通总题库中随机出的一套C证(安全员),在公众号安全生产模拟考试一点通上点击C证(安全员)作业手机同步练习。2021年C证(安全员)免费试题及C证(安全员) 1、【判断题…...