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

news2024/12/26 10:34:04

前置环境准备

文件系统环境要求

文件系统环境所要求的扇区必须为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.coloradmin.cn/o/1547316.html

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

相关文章

Apache ActiveMQ OpenWire 协议反序列化命令执行漏洞分析 CVE-2023-46604

Apache ActiveMQ 是美国阿帕奇&#xff08;Apache&#xff09;软件基金会所研发的一套开源的消息中间件&#xff0c;它支持Java消息服务、集群、Spring Framework等。 OpenWire协议在ActiveMQ中被用于多语言客户端与服务端通信。在Apache ActiveMQ 5.18.2版本及以前&#xff0…

小程序富文本图片宽度自适应

解决这个问题 创建一个util.js文件,图片的最大宽度设置为100%就行了 function formatRichText(html) {let newContent html.replace(/\<img/gi, <img style"max-width:100%;height:auto;display:block;");return newContent; }module.exports {formatRichT…

2024-03-26 Android8.1 px30 WI-FI 模块rtl8821cu调试记录

一、kernel 驱动&#xff0c;我这里使用v5.8.1.2_35530.20191025_COEX20191014-4141这个版本&#xff0c;下载这个版本的驱动可以参考下面的文章。 2021-04-12 RK3288 Android7.1 USB wifi bluetooth 模块RTL8821CU 调试记录_rk平台rtl8821cu蓝牙调试-CSDN博客 二、Makefile文…

基于nodejs+vue考试信息报名系统python-flask-django-php

本文拟采用nodejs技术和express 搭建系统框架&#xff0c;后台使用MySQL数据库进行信息管理&#xff0c;设计开发的考试信息报名系统。通过调研和分析&#xff0c;系统拥有管理员、学生和教师三个角色&#xff0c;主要具备登录注册、个人信息修改、对系统首页、个人中心、学生管…

在项目中数据库如何优化?【MySQL主从复制(创建一个从节点复制备份数据)】【数据库读写分离ShardingJDBC(主库写,从库读)】

MySQL主从复制 MySQL主从复制介绍MySQL复制过程分成三步&#xff1a;1). MySQL master 将数据变更写入二进制日志( binary log)2). slave将master的binary log拷贝到它的中继日志&#xff08;relay log&#xff09;3). slave重做中继日志中的事件&#xff0c;将数据变更反映它自…

JS等比压缩图片方法

AI给出来的答案&#xff0c;AI真的能改变世界&#xff0c;以后程序员这个职业真的有可能不存在了。 function compressImage(image, callback) {// 创建一个 canvas 元素const canvas document.createElement(canvas);canvas.width 48;canvas.height 48;// 获取 canvas 的绘…

【学海拾贝】| 关于Python的 PEP 484规则了解:类型提示,函数注解

在实际的工厂在实际的工程代码的开发中&#xff0c;常常可以碰到这种情况 上网查了之后发现这是PEP484规则~ 文章目录 1 Type Hints for Variables&#xff08;变量在这里插入图片描述2 Function Annotations&#xff08;函数注解&#xff09;3 Type Checking Tools&#xff08…

【比特币】比特币的奥秘、禁令的深层逻辑与风云变幻

导语&#xff1a; 比特币(Bitcoin)&#xff0c;这个充满神秘色彩的数字货币&#xff0c;自诞生以来便成为各界瞩目的焦点。它背后所蕴含的Mining机制、禁令背后的深层逻辑以及市场的风云变幻&#xff0c;都让人欲罢不能。今天&#xff0c;我们将深入挖掘比特币的每一个角落&…

视觉图像处理与FPGA实现第七次作业——生成512深度、8位宽度的双端口存储器IP,并分析IP包资料构成

一、生成IP 打开Vivado&#xff0c;点击IP Catalog&#xff0c;搜索memory&#xff0c;双击对应IP核 调整参数为——512深度、8位宽度&#xff0c;双端口&#xff0c;然后一直默认点击OK 二、分析IP构成 查看IP细节&#xff0c;查看设计资源和仿真资源 双击打开文件 设计文件…

代码随想录 图论-并查集

代码随想录 (programmercarl.com) 寻找图中是否存在路径这道题中的类可看做并查集的标准类 目录 1971.寻找图中是否存在路径 684.冗余连接 685.冗余连接II 1971.寻找图中是否存在路径 1971. 寻找图中是否存在路径 已解答 简单 相关标签 相关企业 有一个具有 n 个顶…

NOIP,CSP-J,CSP-S——输入输出进阶

一、输入scanf 格式&#xff1a; int a,b; scanf("%d%d", &a, &b) 类似于 int a,b; cin>>a,b; 双引号里面的两个“%d”表示要输入两个int类型的变量的占位符。然后是要输入的变量名&#xff0c;前面要加“&”&#xff0c;如果有多个变量则用…

SystemUI修改系统状态栏右边的ICON背景颜色

文件在 status_bar.xml 。 如下&#xff1a; <com.android.keyguard.AlphaOptimizedLinearLayout android:id"id/system_icon_area"android:layout_width"0dp"android:layout_height"match_parent"android:background"#ff0000"andr…

我的 Android 性能书上架了!内附书籍介绍

大家好&#xff0c;我是拭心。 很高兴地向大家宣布&#xff0c;我的新书《Android 性能优化入门与实战》上架了&#xff01; 点击下面的小程序进行购买&#xff1a; 封面介绍 这本书的封面来自之前的投票文章 # 投票啦&#xff01;最新安卓进阶书籍封面由你来定&#xff0c;从四…

基于SIR模型的疫情发展趋势预测算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于SIR模型的疫情发展趋势预测算法.对病例增长进行SIR模型拟合分析&#xff0c;并采用模型参数拟合结果对疫情防控力度进行比较。整体思路为采用SIR微分方程模型…

小迪安全48WEB 攻防-通用漏洞Py 反序列化链构造自动审计 bandit魔术方法

#知识点&#xff1a; 1、Python-反序列化函数使用 2、Python-反序列化魔术方法 3、Python-反序列化 POP 链构造&#xff08;payload构造&#xff09; 4、Python-自动化审计 bandit 使用 #前置知识&#xff1a; 函数使用&#xff1a; pickle.dump(obj, file) : 将对…

pdfjs 实现给定pdf数据切片高亮并且跳转

pdfjs 实现给定pdf数据切片高亮并且跳转 pdfjs 类的改写基本展示需求的实现高亮功能的实现查询功能分析切片数据处理 pdfjs 类的改写 需求&#xff1a; pdf文件被解析成多个分段&#xff0c;每个分段需要能够展示&#xff0c;并且通过点击分段实现源pdf内容的高亮以及跳转需求…

深度学习十大算法之图神经网络(GNN)

一、图神经网络的基础 图的基本概念 图是数学中的一个基本概念&#xff0c;用于表示事物间复杂的关系。在图论中&#xff0c;图通常被定义为一组节点&#xff08;或称为顶点&#xff09;以及连接这些节点的边。每个边可以有方向&#xff0c;称为有向边&#xff0c;或者没有方向…

分布式系统面试全集通第一篇(dubbo+redis+zookeeper----分布式+CAP+BASE+分布式事务+分布式锁)

目录 分布式系统面试全集通第一篇什么是分布式?和微服务的区别什么是分布式分布式与微服务的区别 什么是CAP?为什么不能三者同时拥有分区容错性一致性可用性 Base理论了解吗基本可用软状态最终一致性 什么是分布式事务分布式事务有哪些常见的实现方案?2PC&#xff08;Two Ph…

【javaWeb 第六篇】后端-Tomcat服务器

Tomcat服务器基础入门 TomCat服务器Tomcat使用 TomCat服务器 web服务器是一个软件程序&#xff0c;对HTTP协议的操作进行封装&#xff0c;使得程序员不必直接对协议进行操作&#xff0c;让web开发更加的便捷 如何手动部署 如何手动部署一个web应用到Tomcat服务器中&#xff…

Element-Plus 实现动态渲染图标教程

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…