centos 7 安装磐维(PanWeiDB)数据库(单机)

前置环境准备

文件系统环境要求

文件系统环境所要求的扇区必须为512bytes,查看方法如下:

[root@devops-core-highapp3-b-32 ~]#df -h /apps/
[root@devops-core-highapp3-b-32 ~]#ll /dev/mapper/vg--docker-lvapp
[root@devops-core-highapp3-b-32 ~]#fdisk -l /dev/dm-2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意:如上图所示,Sector size 为扇区的大小,必须是512 bytes。

系统环境优化

检查root 是否禁止登录

以root 用户执行

vi /etc/ssh/sshd_config
PermitRootLogin yes

如果没有这条参数,请添加,如果 PermitRootLogin 的值不是yes,请改为 yes(请预留其他账号可以登录,否则可能会造成系统无法登录问题)。

检查kernel 版本

注意:BC-Linux 7.6 版本内核建议为3.10.0-957.el7.x86_64,BC-Linux 7.8 版本根据测试也

满足安装要求,内核版本建议为4.19.25-204.el7.bclinux.x86_64。

cat /etc/redhat-release
uname -r

关闭selinux

修改 /etc/selinux/config 文件

vim /etc/selinux/config

修改内容:

SELINUX=disabled
# 关闭selinux
setenforce 0

关闭防火墙

systemctl disable firewalld.service
systemctl stop firewalld.service

设置字符集

修改 /etc/profile 文件

vim /etc/profile

文件中新增一下内容(如果已存在新增的内容请作修改)

export LANG=en_US.UTF-8

关闭swap 交换内存

swapoff -a

内核参数优化

修改文件:/etc/sysctl.conf

vi /etc/sysctl.conf

修改或增加一下内容:

net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1 #根据操作系统内核版本设置,参见如下注意
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_retries2 = 12
vm.overcommit_memory = 0
net.ipv4.tcp_rmem = 8192 250000 16777216
net.ipv4.tcp_wmem = 8192 250000 16777216
net.core.wmem_max = 21299200
net.core.rmem_max = 21299200
net.core.wmem_default = 21299200
net.core.rmem_default = 21299200
net.ipv4.ip_local_port_range = 26000 65535
kernel.sem = 250 6400000 1000 25600
net.core.somaxconn = 65535
net.ipv4.tcp_syncookies = 1
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 60
kernel.shmall = 52805669 #根据实际情况进行计算
kernel.shmmax = 18446744073692774399 #根据实际情况进行计算
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
vm.extfrag_threshold = 500
vm.overcommit_ratio = 90
vm.swappiness = 0

修改完成之后请执行以下命令让其生效

sysctl -p

注意:

1)kernel.shmall 和kernel.shmmax 需根据主机操作系统的内存配置进行自定义调整,一般

shmmax 建议设置为主机物理内存的60%,shmall >= shmmax/4096。例如主机100G 内存,

shmmax=100G60%102410241024= 64424509440 , shmall= 64424509440/4096=

15728640。

2)如果使用BC-Linux 7.6 版本(内核为3.10.0-957.el7.x86_64),net.ipv4.tcp_tw_recycle =

1 参数可以设置;如果使用BC-Linux 7.8 版本(内核为4.19.25-204.el7.bclinux.x86_64),

net.ipv4.tcp_tw_recycle = 1 参数需删除。

配置资源限制

修改文件 /etc/security/limits.conf

vi /etc/security/limits.conf

增加以下内容:

* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft memlock unlimited
* hard memlock unlimited
* soft core unlimited
* hard core unlimited
* soft stack unlimited
* hard stack unlimited

安装CMDB 数据库

安装数据库依赖

安装磐维数据库,需要提前安装依赖库

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意:

1)readline_devel 版本在CentOS7 环境下默认为6.2-11.el7.x86_64 版本,实测也可以使用;

2)bzip2 包必须安装,不安装的话在gs_preinstall 阶段会报如下错

/tmp/script/script/gs_preinstall -U omm -G dbgrp -X /tmp/cluster_config_template.xml

Parsing the configuration file.

Successfully parsed the configuration file.

[GAUSS-50217] : Failed to decompress version.cfg.The cmd is cd /tmp/script/script/…/ &&

tar -xpf ls openGauss*.tar.bz2|tail -1 ./version.cfg ./bin/encrypt &&

mv ./bin/encrypt ./script/gspylib/clib && rm -rf ./bin. The output is ls: cannot access

openGauss*.tar.bz2: No such file or directory

tar: This does not look like a tar archive

tar: ./bin/encrypt: Not found in archive

tar: Exiting with failure status due to previous errors.”

3)expect 包必须安装,不安装的话在gs_preinstall 阶段会直接报错[GAUSS-51405]:You

need to install software:expect

4)libnsl 包在openEuler x86 系统中需要安装,Centos7 环境和BC-Linux7.6、BC-Linux7.8

环境中不用安装。

5)redhat-lsb-core 包为编译部署时需要,二进制安装不需要。此包可以不用安装。

使用 yum 安装依赖库

yum -y install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel python3 expect* bzip2

如果安装过程中出现报错:

yum Could not resolve host

请前往 /etc/resolv.conf 文件中添加以下内容(如果没有报错,直接忽略):

vi /etc/resolv.conf 
nameserver 8.8.8.8

安装python3

检查服务器是否已经安装了 python3

python3 --version

在这里插入图片描述
如果显示已经安装了 python3 ,请查看版本是否高于或等于3.6.9(推荐使用3.6.9),如果不是,请安装 python3。

python-3.6.9文件

将 python-3.6.9.tar 上传到服务器中(python请自行下载),进入当前文件目录下,随后解压当前文件:

tar -zxf Python-3.6.9.tgz

进入解压后的文件目录:

cd Python-3.6.9

**编译 python3 **:

./configure --prefix=/opt/python/Python-3.6.9 --enable-shared --enable-optimizations --with-ssl

注意:/opt/python/Python-3.6.9 是你的 python3 的目录,请切换成自己的目录。

如果在编译过程出现报错(没有请忽略):

configure: error: no acceptable C compiler found in $PATH

出现以上报错是由于服务器缺少 gcc ,使用 yum 安装对应的组件即可。

yum install gcc -y

安装完 gcc 之后继续执行编译 python3流程。

安装python

make -j 12 && make install

设置软链和赋权

ln -s /opt/python/Python-3.6.9/bin/python3 /usr/bin/python3
ln -s /opt/python/Python-3.6.9/bin/python3.6-config /usr/bin/python3-config
cp /opt/python/Python-3.6.9/lib/libpython3.6m.so.1.0 /usr/lib64
chmod -R 755 /usr/lib64/libpython3.6m.so.1.0
ln -s /usr/lib64/libpython3.6m.so.1.0 /usr/lib64/libpython3.6m.so

如果出现文件已存在的话,请将文件重命名为其他名称。

最后设置环境变量

cat >> /etc/profile <<-EOF
export PYTHON_HOME=/opt/python/Python-3.6.9
export PATH=$PYTHON_HOME/bin:$PATH
EOF

PYTHON_HOME=/opt/python/Python-3.6.9:需要修改为自己的python地址。

重新加载环境变量

source /etc/profile

检查python3 是否已经是3.6.69版本

python3 --version

在这里插入图片描述

如果出现以上信息,说明 python3 已经安装成功。

检查openssh 版本

rpm -qa|grep openssh

在这里插入图片描述

注意:

如果OpenSSH 版本是9.0 及以上,需要临时修改脚本,改方式只供临时使用,后续版本将

修复该问题,修改前请备份好源文件。

具体修改方式如下:https://gitee.com/opengauss/openGauss-OM/pulls/343/files,也可参

考附录(CMDB 故障解决指南)第18 条。

配置/etc/hosts 文件

cat >> /etc/hosts <<-ROF
192.168.208.48 hostname1
ROF

创建用户及用户组

groupadd -g 1101 dbgrp
useradd -g dbgrp -u 1101 -m omm
echo 'OKfmyA1!2020R1!'|passwd --stdin omm

创建安装目录

安装磐维目录

mkdir -p /apps/apps-express
mkdir -p /apps/apps-express/soft

上传安装包,并进行解压

下载磐维数据库安装包:

链接: https://pan.baidu.com/s/1wkRpQlPCnfBOZAqhEArhZA 提取码: v7w9
复制这段内容后打开百度网盘手机App,操作更方便哦

将安装包上传到 /apps/apps-express/soft 目录下
在这里插入图片描述
解压 PanWeiDB_1.0.0_CentOS7_x86.tar.gz

tar -zxvf PanWeiDB_1.0.0_CentOS7_x86.tar.gz

在这里插入图片描述

解压完 PanWeiDB_1.0.0_BCLinux7_x86.tar.gz 之后会在当前目录下看到 8 个文件,其中有一个CMDB-1.0.1-CentOS-64bit-om.tar.gz,千万不要挪动,就继续在原地解压,又会解压出来script、lib、simpleInstall 三个文件夹和version.cfg 文件,这些都不要挪动位置,全都继续存放在/apps/apps-express/soft 目录下。

tar -zxvf PanWeiDB-1.0.0-CentOS-64bit-om.tar.gz

编写 XML 文件(单机)

在 /apps/apps-express/soft 目录下新建 xml文件:cmdb1m2s_cm.xml

vi cmdb1m2s_cm.xml

xml内容如下所示:

<?xml version="1.0" encoding="utf-8"?>
<ROOT><!-- 整体信息 --><CLUSTER><!-- 数据库集群名称 --><PARAM name="clusterName" value="panweinode" /><!-- 数据库节点名称(hostname) --><PARAM name="nodeNames" value="localhost.localdomain"/><!-- 数据库安装目录--><PARAM name="gaussdbAppPath" value="/apps/apps-express/app" /><!-- 日志目录--><PARAM name="gaussdbLogPath" value="/apps/apps-express/log" /><PARAM name="tmpMppdbPath" value="/apps/apps-express/tmp"/><PARAM name="gaussdbToolPath" value="/apps/apps-express/tool" /><!--数据库 core 文件目录--><PARAM name="corePath" value="/apps/apps-express/corefile"/><!-- 节点 IP,与数据库节点名称列表一一对应 --><PARAM name="backIp1s" value="192.168.208.48"/></CLUSTER><DEVICELIST><!-- 节点 1 上的部署信息 --><DEVICE sn="hostname1"><PARAM name="name" value="localhost.localdomain"/><!-- 节点 1 所在的 AZ 及 AZ 优先级 --><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><!-- 节点 1 的 IP,如果服务器只有一个网卡可用,将 backIP1 和 sshIP1 配置成同一个IP --><PARAM name="backIp1" value="192.168.208.48"/><PARAM name="sshIp1" value="192.168.208.48"/><!-- dn 数据节点 --><PARAM name="dataNum" value="1"/><PARAM name="dataPortBase" value="17700"/><PARAM name="dataNode1" value="/apps/apps-express/data"/><PARAM name="dataNode1_syncNum" value="0"/></DEVICE></DEVICELIST>
</ROOT>

如果安装磐维的文件目录是:/apps/apps-express,那么这里面的文件目录不需要调整,否者请调整为你上面创建的文件目录地址。

  • :请填写当前服务器的内网 ip地址
  • :请填写当前服务器的内网 ip地址
  • :请填写当前服务器的内网 ip地址
  • :磐维数据库的端口,尽量不要改动,如果17700 端口被占用,那么请修改此字段

注意::以上配置文件内定义的文件目录,包括/apps/apps-express/log、/apps/apps-express/tmp、/apps/apps-express/app 、/apps/apps-express/tool 、/apps/apps-express/corefile 、/apps/apps-express/cmdata/data, 均无需手动创建,但是 /apps/apps-express 目录必须要存在。

将安装目录进行授权

设置磐维目录的用户组

chown -R omm:dbgrp /apps/apps-express

设置磐维目录权限

chmod -R 755 /apps/apps-express

执行CMDB 数据库的预安装

进入预安装目录

/apps/apps-express/soft/script

执行预安装

./gs_preinstall -U omm -G dbgrp -X /apps/apps-express/soft/cmdb1m2s_cm.xml

安装中如果出现以下报错:

Failed to obtain local instance information. It is not a host name localhost.localdomain.

请修改 hostname

查看hostname

hostname

在这里插入图片描述
修改hostname

hostnamectl set-hostname localhost.localdomain

修改完成之后重新执行预安装命令。

正确的预安装日志:

Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
Successfully installed the tools on the local node.
Setting host ip env
Successfully set host ip env.
Are you sure you want to create the user[omm] (yes/no)? yea
Please type 'yes' or 'no': yes
Preparing SSH service.
Successfully prepared SSH service.
Checking OS software.
Successfully check os software.
Checking OS version.
Successfully checked OS version.
Creating cluster's path.
Successfully created cluster's path.
Set and check OS parameter.
Setting OS parameters.
Successfully set OS parameters.
Warning: Installation environment contains some warning messages.
Please get more details by "/apps/apps-express/soft/script/gs_checkos -i A -h localhost.localdomain --detail".
Set and check OS parameter completed.
Preparing CRON service.
Successfully prepared CRON service.
Setting user environmental variables.
Successfully set user environmental variables.
Setting the dynamic link library.
Successfully set the dynamic link library.
Setting Core file
Successfully set core path.
Setting pssh path
Successfully set pssh path.
Setting Cgroup.
Successfully set Cgroup.
Set ARM Optimization.
No need to set ARM Optimization.
Fixing server package owner.
Setting finish flag.
Successfully set finish flag.
Preinstallation succeeded.

进入omm 用户进行安装

进入 omm 用户

su - omm

在这里插入图片描述
执行安装命令

gs_install -X /apps/apps-express/soft/cmdb1m2s_cm.xml

安装日志

[omm@localhost ~]$ gs_install -X /apps/apps-express/soft/cmdb1m2s_cm.xml
Parsing the configuration file.
Check preinstall on every node.
Successfully checked preinstall on every node.
Creating the backup directory.
Last time end with Install cluster.
Continue this step.
Successfully created the backup directory.
begin deploy..
Rolling back.
Rollback succeeded.
Installing the cluster.
begin prepare Install Cluster..
Checking the installation environment on all nodes.
begin install Cluster..
Installing applications on all nodes.
Successfully installed APP.
begin init Instance..
encrypt cipher and rand files for database.
Please enter password for database:
Please repeat for database:
begin to create CA cert files
The sslcert will be generated in /apps/apps-express/app/share/sslcert/om
NO cm_server instance, no need to create CA for CM.
Cluster installation is completed.
Configuring.
Deleting instances from all nodes.
Successfully deleted instances from all nodes.
Checking node configuration on all nodes.
Initializing instances on all nodes.
Updating instance configuration on all nodes.
Check consistence of memCheck and coresCheck on database nodes.
Configuring pg_hba on all nodes.
Configuration is completed.
Successfully started cluster.
Successfully installed application.
end deploy..

安装过程中需要输入数据库的密码,密码不能出现特殊字符。

检查安装后的数据库状态

gs_om -t status --detail

在这里插入图片描述
出现以上界面,说明磐维数据库安装成功。

进入磐维用户

su - omm

设置远程连接

修改加密算法类型

如果想让磐维数据库支持多种客户端连接,需要修改磐维密码的加密类型

将 修改ChinaMobildDB的postgresql.conf文件 中的 password_encryption_type 设置为 1。

password_encryption_type = 1           #Password storage type, 0 is md5 for PG, 1 is sha256 + md5, 2 is sha256 only

设置白名单

gs_guc reload -N all -I all -h "host all all  10.12.3.0/24 md5"

在这里插入图片描述
10.12.3.0/24:ip段,请填写真实的ip段。

创建远程连接账号

进入磐维数据库

gsql -d postgres -p 17700 -r

创建远程连接账号

CREATE USER  cipherPlatform  WITH PASSWORD 'q7SREqPxTTDZ6ZZ$';

赋予 admin 权限

grant ALL PRIVILEGE to cipherPlatform;

所有数据修改完成之后,重启磐维数据库/启动磐维数据库

gs_om -t stop && gs_om -t start
\q   退出数据库

在这里插入图片描述

一定要重启,否者可能会导致远程无法连接。

还原 /etc/ssh/sshd_config 的参数配置

vi /etc/ssh/sshd_config

修改内容,将 注释 PermitRootLogin 注释

#PermitRootLogin yes

这一步一定要执行,否则可能会导致 root 账号无法正常登录。

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

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

相关文章

EfficientNetV2:谷歌又来了,最小的模型,最高的准确率,最快的训练速度 | ICML 2021

论文基于training-aware NAS和模型缩放得到EfficientNetV2系列&#xff0c;性能远优于目前的模型。另外&#xff0c;为了进一步提升训练速度&#xff0c;论文提出progressive learning训练方法&#xff0c;在训练过程中同时增加输入图片尺寸和正则化强度。从实验结果来看&#…

【docker】nexus 本地 maven配置

1、这篇文章中说明了如何搭建私服 【docker】搭建Nexus私服-CSDN博客文章浏览阅读2次。4、点击登陆&#xff08;账号&#xff1a;admin 秘密&#xff1a;在容器内 /nexus-data/admin.password 文件中)注意我的端口号是 10002&#xff0c;注意你的端口号。7、设置maven-central…

MSTP环路避免实验(华为)

思科设备参考&#xff1a;MSTP环路避免实验&#xff08;思科&#xff09; 一&#xff0c;技术简介 MSTP&#xff08;多生成树协议&#xff09;&#xff0c;MSTP解决了STP和RSTP没有考虑vlan的问题&#xff0c;STP和RSTP将所有的vlan共享为一个生成树实例&#xff0c;无法实现…

获取电商数据的几种方法分享

在数字化时代&#xff0c;电商数据已经成为企业决策的重要依据。无论是市场趋势的洞察、用户行为的分析&#xff0c;还是产品优化和营销策略的制定&#xff0c;都离不开电商数据的支持。本文将分享几种获取电商数据的有效方法&#xff0c;力求在干货满满的同时&#xff0c;也不…

Linux系统网络的实时性评估

目录 1.使用 cyclictest 测试系统实时性2.测试系统通信实时性2.1 PingPlotter2.2 使用 ping 测试通讯实时性 3. 使用 iperf 测试带宽4.网络性能测试 1.使用 cyclictest 测试系统实时性 安装cyclictest sudo apt-get update sudo apt-get install rt-testscyclictest -p 99 -i…

代码第三十六天:需要添加的硬币的最小数量

需要添加的硬币的最小数量 题目要求&#xff1a; 解题思路 为方便描述&#xff0c;把 0 也算作可以得到的数。 假设现在得到了区间 [ 0 , s − 1 ] [0,s−1] [0,s−1] 中的所有整数&#xff0c;如果此时遍历到整数 x c o i n s [ i ] xcoins[i] xcoins[i]&#xff0c;那么…

win10 安装kubectl,配置config连接k8s集群

安装kubectl 按照官方文档安装&#xff1a;https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/ curl安装 &#xff08;1&#xff09;下载curl安装压缩包: curl for Windows &#xff08;2&#xff09;配置环境变量&#xff1a; 用户变量&#xff1a; Path变…

Python之Opencv教程(2):图像边缘检测

1、什么是边缘检测 OpenCV中的边缘检测是一种常见的图像处理技术&#xff0c;用于检测图像中物体边缘的位置。常用的边缘检测算法包括Sobel算子、Scharr算子、Laplacian算子和Canny边缘检测算法等。下面将介绍使用OpenCV实现这些边缘检测算法的方法。 2、边缘检测的作用 边缘…

STM32 字符数组结束符 “\0”

STM32 字符数组结束符 “\0” 使用字符数组使用printf&#xff0c;string参考 使用字符数组 使用STM32的串口发送数据&#xff0c;核心代码如下&#xff1a; char str[] "hello world!\n\r";while(1) {HAL_UART_Transmit(&huart2, str, sizeof (str), 10);HAL…

【力扣刷题日记】1173.即时食物配送I

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1173.即时食物配送I 表&#xff1a;Delivery 列名类型delivery_idintcustomer_idintorder_datedatecustomer…

Java学生管理系统(附完整代码)两个版本

目录 学生管理系统 需求&#xff1a; 分析&#xff1a; 初始菜单&#xff1a; 学生类&#xff1a; 添加功能&#xff1a; 删除功能&#xff1a; 修改功能&#xff1a; 查询功能&#xff1a; 设计图 学生管理系统(基础版)独立开发 所用方法 代码: Student类: Stud…

LabVIEW双通道太阳射电频谱观测系统

LabVIEW双通道太阳射电频谱观测系统 开发了一个基于LabVIEW平台开发的双通道高速太阳射电频谱观测系统。该系统实时监测太阳射电爆发&#xff0c;具有随机性、持续时间短、变化快等特点。通过高速信号采集卡实现1.5 GS/s的信号采集&#xff0c;时间分辨率可达4ms&#xff0c;频…

类的新功能

类的新功能 默认成员函数 在C11之前&#xff0c;一个类中有如下六个默认成员函数&#xff1a; 构造函数。拷贝构造函数赋值重载析构函数取地址重载函数const取地址函数 其中前四个默认成员函数最重要&#xff0c;后面两个默认成员函数一般不会用到&#xff0c;这里默认成员…

PHPCMS v9城市分站插件

PHPCMS自带的有多站点功能&#xff0c;但是用过的朋友都知道&#xff0c;自带的多站点功能有很多的不方便之处&#xff0c;例如站点栏目没法公用&#xff0c;每个站点都需要创建模型、每个站点都需要单独添加内容&#xff0c;还有站点必须静态化。如果你内容很多这些功能当然无…

虚函数和纯虚函数

虚函数 被virtual修饰的成员函数称为虚函数 定义一个函数为虚函数&#xff0c;是为了使用基类指针调用子类函数。虚函数&#xff0c;不代表函数不被实现。只有纯虚函数才不被实现&#xff0c;纯虚函数定义了一个接口&#xff0c;起到规范的作用。 #include <iostream>…

【AXIS】AXI-Stream FIFO设计实现(四)——异步时钟

前文介绍了几种同步时钟情况下的AXI Stream FIFO实现方式&#xff0c;一般来说&#xff0c;FIFO也需要承担异步时钟域模块间数据传输的功能&#xff0c;本文介绍异步AXIS FIFO的实现方式。 如前文所说&#xff0c;AXI-Stream FIFO十分类似于FWFT异步FIFO&#xff0c;推荐参考前…

B201-SpringBoot整合Shiro

目录 ShiroShiro核心组件SpringBoot整合Shiro1.创建新SpringBoot项目和导包2.自定义Shiro过滤器Realm3.配置类ShiroConfig编写认证和授权规则案例&#xff1a;案例思路改造ShiroConfigAccountController配置视图解析器templates下新建3个页面启动测试 登录认证设置自定义登录页…

【C++庖丁解牛】自平衡二叉搜索树--AVL树

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 前言1 AVL树的概念2. AVL…

探索未来的视觉智能:AI视频分析系统的崭新时代

随着人工智能技术的飞速发展&#xff0c;AI视频分析系统正逐渐成为各行业的关注焦点。这些系统不仅可以帮助安防领域实现更智能化的监控&#xff0c;还能在零售、交通、医疗等领域发挥重要作用。本文将深入探讨AI视频分析系统的崭新时代&#xff0c;揭示其未来发展的无限可能。…

2-HDFS常用命令及上传下载流程

HDFS NameNode 安全模式(safemode) 当NameNode被重启的时候&#xff0c;自动进入安全模式 在安全模式中&#xff0c;NameNode首先会触发edits_inprogress文件的滚动。滚动完成之后&#xff0c;更新fsimage文件 更新完成之后&#xff0c;NameNode会将fsimage文件中的元数据加…