openGauss 5.0企业版主从部署,实战狂飙

news2024/10/6 14:35:28

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及GP 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

  • 前言
    • 📣 1.openGauss 5.0
    • 📣 2.环境准备
      • ✨ 2.1 关闭SeLinux
      • ✨ 2.2 关闭防火墙
      • ✨ 2.3 关闭RemoveIPC
      • ✨ 2.4 设置root用户远程登录
      • ✨ 2.5 yum安装依赖
      • ✨ 2.6 host设置
      • ✨ 2.7 Python安装
    • 📣 3.目录创建
    • 4.安装包解压
    • 5.XML配置文件
    • 6.初始化安装
    • 7.执行安装
    • 8.安装验证

前言

2023年4月1日, openGauss 5.0正式发布,本博客介绍了openGauss 5.0企业版主从部署的详细过程。

📣 1.openGauss 5.0

2023年4月1日,openGauss 5.0.0是openGauss发布的第三个LTS版本,版本生命周期为3年。
openGauss 5.0.0版本与之前的版本功能特性保持兼容,在内核能力、工具链、兼容性方面全面增强。

官网下载地址:
https://opengauss.org/zh/download/

在这里插入图片描述

📣 2.环境准备

##操作系统:
CentOS Linux release 7.9.2009 (Core)

##主机IP
主库:hostnamectl set-hostname opengauss5M
备库:hostnamectl set-hostname opengauss5B

##内存
[root@Jeames ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3020         281        2630           7         107        2684
Swap:         10239           0       10239


##字符集确认
[root@opengauss5m ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"

可以在/etc/profile文件中添加export LANG=en_US.UTF-8


##软件依赖要求
下列依赖软件的默认安装包,若不存在下列软件,可参看软件对应的建议版本。

在这里插入图片描述

✨ 2.1 关闭SeLinux

sed -i ‘s/^SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
setenforce 0

注:主库和备库同时修改,然后重启服务器
[root@opengauss5m ~]# /usr/sbin/sestatus
SELinux status:                 disabled

✨ 2.2 关闭防火墙

注:主备库均做如下操作

1.检查防火墙是否关闭
[root@opengauss5m ~]# systemctl status firewalld
若防火墙状态显示为active (running),则表示防火墙未关闭
若防火墙状态显示为inactive (dead),则无需再关闭防火墙

2.关闭防火墙并禁止开机重启
systemctl disable firewalld.service
systemctl stop firewalld.service

✨ 2.3 关闭RemoveIPC

1.修改/etc/systemd/logind.conf文件中的“RemoveIPC”值为“no”
vi /etc/systemd/logind.conf
RemoveIPC=no

##重新加载配置参数
systemctl daemon-reload
systemctl restart systemd-logind

✨ 2.4 设置root用户远程登录

vi /etc/ssh/sshd_config
## 将“PermitRootLogin”改为“yes”
PermitRootLogin yes

## 注释掉“Banner”所在的行
#Banner none

## 重启生效
systemctl restart sshd.service

✨ 2.5 yum安装依赖

注:两个节点均做如下操作

##创建挂载目录
mkdir /cdrom

[root@opengauss5m ~]# ls -lrt /opt/CentOS-7-x86_64-DVD-2009.iso
-rw-r--r-- 1 root root 4712300544 Apr  8 09:28 /opt/CentOS-7-x86_64-DVD-2009.iso

##挂载目录
mount -o loop /opt/CentOS-7-x86_64-DVD-2009.iso /cdrom

[root@opengauss5m ~]# df -TH
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  1.5G     0  1.5G   0% /dev
tmpfs                   tmpfs     1.5G     0  1.5G   0% /dev/shm
tmpfs                   tmpfs     1.5G   11M  1.5G   1% /run
tmpfs                   tmpfs     1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        96G  6.8G   89G   8% /
/dev/sda1               xfs       1.1G  158M  906M  15% /boot
tmpfs                   tmpfs     297M     0  297M   0% /run/user/0
/dev/loop0              iso9660   4.8G  4.8G     0 100% /cdrom

##yum源配置文件
[root@opengauss5m ~]# cd /etc/yum.repos.d/
[root@opengauss5m yum.repos.d]# mkdir bak
[root@opengauss5m yum.repos.d]# mv CentOS* bak

[root@opengauss5m yum.repos.d]# vi local.repo
[base-local]
name=CentOS7-local
baseurl=file:///cdrom
enabled=1
gpgcheck=0

#清空并重载yum
yum clean all
yum makecache
##测试yum安装
yum -y install tree


##安装依赖包
yum install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel libnsl -y
yum install net-tools -y

✨ 2.6 host设置

注:主备2个节点均做如下设置

##主库
[root@opengauss5m ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.6.10 opengauss5m

##备库
[root@opengauss5b ~]# more /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.6.11 opengauss5b

✨ 2.7 Python安装

CentOS:支持Python 3.6.X,python需要通过--enable-shared方式编译
1.依赖包安装
[root@opengauss5m ~]# yum install -y zlib*
[root@opengauss5m ~]# rpm -qa | grep zlib
zlib-1.2.7-18.el7.x86_64
zlib-devel-1.2.7-18.el7.x86_64

2.安装包下载
python官网 https://www.python.org/downloads/release/python-3615/下载安装包即可
安装包为:Python-3.6.15.tgz

3.解压并编译
cd /opt
tar -zxvf Python-3.6.15.tgz
cd Python-3.6.15/
./configure --prefix=/usr/local/python3 --enable-shared

make
make install
注意:make编译时间比较长,耐心等待

4.OS上设置python的软连接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

5.环境校验
[root@opengauss5m ~]# python -V
python: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory

出现以上报错处理方法,libpython3.6m.so.1.0复制到/usr/lib64/目录下即可

[root@opengauss5m ~]# find / -name libpython3.6m.so.1.0
/usr/local/python3/lib/libpython3.6m.so.1.0
/opt/Python-3.6.15/libpython3.6m.so.1.0

[root@opengauss5m ~]#  cp /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib64

[root@opengauss5m ~]# python3 -V
Python 3.6.15

[root@opengauss5m ~]# python
Python 3.6.15 (default, Apr  8 2023, 11:45:45)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

在这里插入图片描述

📣 3.目录创建

##创建存放安装包的目录
mkdir -p /opt/software/openGauss
chmod 755 -R /opt/software

##创建数据库软件相关目录
mkdir -p /opt/openGauss
chmod -R 755 /opt/openGauss

4.安装包解压

安装包下载地址: https://opengauss.org/zh/download/
注:从以上网站下载企业版即可

上传到主库所在的目录:/opt/software/openGauss

##解压安装包
cd /opt/software/openGauss
tar -zxvf openGauss-5.0.0-CentOS-64bit-all.tar.gz
tar -zxvf openGauss-5.0.0-CentOS-64bit-om.tar.gz

在这里插入图片描述

5.XML配置文件

安装openGauss前需要创建cluster_config.xml文件。cluster_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。
用于告知openGauss如何部署。用户需根据不同场景配置对应的XML文件。

本次部署以一主一备的方式创建XML配置文件

## 配置数据库名称及各项目录
[root@opengauss5m ~]# find / -name cluster_config_template.xml
/opt/software/openGauss/script/gspylib/etc/conf/cluster_config_template.xml
说明:获取XML文件模板,按照实际环境配置

编辑配置XML文件:
vi /opt/software/openGauss/cluster_config.xml

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <!-- openGauss整体信息 -->
    <CLUSTER>
        <!-- 数据库名称 -->
        <PARAM name="clusterName" value="opengauss" />
        <!-- 数据库节点名称(hostname) -->
        <PARAM name="nodeNames" value="opengauss5m,opengauss5b" />
        <!-- 数据库安装目录-->
        <PARAM name="gaussdbAppPath" value="/opt/openGauss/app" />
        <!-- 日志目录-->
        <PARAM name="gaussdbLogPath" value="/opt/openGauss/log/omm" />
        <!-- 临时文件目录-->
        <PARAM name="tmpMppdbPath" value="/opt/openGauss/tmp"/>
        <!-- 数据库工具目录-->
        <PARAM name="gaussdbToolPath" value="/opt/openGauss/om" />
        <!-- 数据库core文件目录-->
        <PARAM name="corePath" value="/opt/openGauss/corefile"/>
        <!-- 节点IP,与数据库节点名称列表一一对应 -->
        <PARAM name="backIp1s" value="192.168.6.10,192.168.6.11"/> 
    </CLUSTER>
    <!-- 每台服务器上的节点部署信息 -->
    <DEVICELIST>
        <!-- 节点1上的部署信息 -->
        <DEVICE sn="opengauss5m">
            <!-- 节点1的主机名称 -->
            <PARAM name="name" value="opengauss5m"/>
            <!-- 节点1所在的AZ及AZ优先级 -->
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
            <PARAM name="backIp1" value="192.168.6.10"/>
            <PARAM name="sshIp1" value="192.168.6.10"/>
            
	    <!--dn-->
            <PARAM name="dataNum" value="1"/>
	    <PARAM name="dataPortBase" value="15400"/>
	    <PARAM name="dataNode1" value="/opt/openGauss/data/dn,opengauss5b,/opt/openGauss/data/dn"/>
            <PARAM name="dataNode1_syncNum" value="0"/>
        </DEVICE>

        <!-- 节点2上的节点部署信息,其中“name”的值配置为主机名称 -->
        <DEVICE sn="opengauss5b">
            <!-- 节点2的主机名称 -->
            <PARAM name="name" value="opengauss5b"/>
            <!-- 节点2所在的AZ及AZ优先级 -->
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 节点2的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
            <PARAM name="backIp1" value="192.168.6.11"/>
            <PARAM name="sshIp1" value="192.168.6.11"/>
	</DEVICE>
    </DEVICELIST>
</ROOT>

6.初始化安装

采用交互模式执行前置,并在执行过程中自动创建操作系统root用户互信和omm用户互信
#主库执行即可
[root@opengauss5m ~]# cd /opt/software/openGauss/script
[root@opengauss5m script]# ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml
[GAUSS-51405] : You need to install software:expect
#解决办法是安装如下依赖包
yum install expect

输入集群密码:omm123

[FAILURE] opengauss5m:
[GAUSS-50202] : The /opt/openGauss must be empty. Or user [omm] has write permission to directory /opt/openGauss. Because it will create symbolic link [/opt/openGauss/app] to install path [/opt/openGauss/app_a07d57c3] in gs_install process with this user.
[FAILURE] opengauss5b:
[GAUSS-50202] : The /opt/openGauss must be empty. Or user [omm] has write permission to directory /opt/openGauss. Because it will create symbolic link [/opt/openGauss/app] to install path [/opt/openGauss/app_a07d57c3] in gs_install process with this user.

#以上报错处理方法,然后再重新执行
[root@opengauss5m script]# rm -rf /opt/openGauss
[root@opengauss5m script]# chmod 775 /opt -R
[root@opengauss5m script]# chown omm:dbgrp /opt -R

在这里插入图片描述

7.执行安装

/opt/openGauss/app

#主库执行即可,在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码

设置的密码要符合复杂度要求:
最少包含8个字符,最多包含16个字符。
不能和用户名、当前密码(ALTER)、或当前密码反序相同。
至少包含大写字母(A-Z)、小写字母(a-z)、数字、非字母数字字符(限定为~!@#$%^&*()-_=+\|[{}];:,<.>/?)四类字符中的三类字符。
1.登录到openGauss的主机,并切换到omm用户
[root@opengauss5m ~]# su - omm
[omm@opengauss5m ~]$ ll /opt/software/openGauss/cluster_config.xml
-rw------- 1 omm dbgrp 2532 Apr  8 11:21 /opt/software/openGauss/cluster_config.xml
gs_install -X /opt/software/openGauss/cluster_config.xml

2.安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。
rm –rf ~/.ssh

在这里插入图片描述

8.安装验证

1.集群状态检查
## 通过openGauss提供的gs_om工具可以完成数据库状态检查

以omm用户身份登录服务器。
执行如下命令检查数据库状态是否正常,“cluster_state ”显示“Normal”表示数据库可正常使用

[root@opengauss5m ~]# su - omm
Last login: Sat Apr  8 12:56:31 CST 2023 on pts/0
[omm@opengauss5m ~]$ gs_om -t status
-----------------------------------------------------------------------

cluster_name    : opengauss
cluster_state   : Normal
redistributing  : No

-----------------------------------------------------------------------
[omm@opengauss5m ~]$ gs_om -t status --detail
[   Cluster State   ]

cluster_state   : Normal
redistributing  : No
current_az      : AZ_ALL

[  Datanode State   ]

    node       node_ip         port      instance                       state
---------------------------------------------------------------------------------------------
1  opengauss5m 192.168.6.10    15400      6001 /opt/openGauss/data/dn   P Primary Normal
2  opengauss5b 192.168.6.11    15400      6002 /opt/openGauss/data/dn   S Standby Normal

3.gs_om -t stop
[omm@opengauss5m ~]$ gs_om -t stop

4.启动集群
[omm@opengauss5m ~]$ gs_om -t start

5.登录数据库
[omm@opengauss5m ~]$ gsql -d postgres -p 15400
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:07:56 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=# \l
                          List of databases
   Name    | Owner | Encoding  | Collate | Ctype | Access privileges
-----------+-------+-----------+---------+-------+-------------------
 postgres  | omm   | SQL_ASCII | C       | C     |
 template0 | omm   | SQL_ASCII | C       | C     | =c/omm           +
           |       |           |         |       | omm=CTc/omm
 template1 | omm   | SQL_ASCII | C       | C     | =c/omm           +
           |       |           |         |       | omm=CTc/omm
(3 rows)

在这里插入图片描述

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

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

相关文章

【排序】归并排序(递归和非递归)

归并排序 前言图解大致思路代码实现递归非递归 时间复杂度和空间复杂度 前言 这是我讲的最后一个排序了&#xff0c;归并排序难度不大&#xff0c;也是分治的思想。 归并排序时间复杂度是在N*logN里面还是比较优的&#xff0c;毕竟实现起来的是完全二分的&#xff0c;但是差就…

2023第十届大唐杯省赛心得体会总结

第十届“大唐杯”全国大学生新一代信息通信技术大赛结束&#xff0c;分享一下2023第十届大唐杯省赛的相关经验。 年初研究生组就开始报名了&#xff0c;所以这回也是摩拳擦掌&#xff0c;加上大唐杯的认可度很高&#xff0c;今年的情况只会更卷&#xff0c;需要掌握一定的通信…

java数据结构学习第三期

给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;…

4.17-4.18学习总结

MD5 MD5: 1、压缩性 2、容易计算 3、抗修改性 4、弱抗碰撞 5、强抗碰撞 为什么需要MD5&#xff1f; 存储一些敏感信息的时候&#xff0c;如果不进行加密会出现安全问题。 例如&#xff1a;系统登录的密码&#xff0c;如果数据库中的密码采用明文&#xff0c;一旦数据库泄…

扬帆优配|多路资金扎堆博弈,顶级游资章盟主3天爆买21个亿

4月20日&#xff0c;中科曙光&#xff08;603019.SH&#xff09;盘中稳步拉升&#xff0c;最终收涨9.99%&#xff0c;股价一举刷出了历史新高&#xff0c;达到了54.71元/股&#xff0c;全天的成交额也高达97.43亿元。 盘后发表的龙虎榜数据显现&#xff0c;知名游资章盟主的常用…

Qt Quick - PageIndicator

Q 理论使用总结 一、概述二、简单使用例子1. SwipeView 和 PageIndicator2. StackLayout 和 PageIndicator 三、常用属性四、定制化 一、概述 PageIndicator用于指示含有多个页面的容器中&#xff0c;当前处理活动的页。记住&#xff0c;这个只是指示当前的活动页&#xff0c;…

java IO流进阶 对象处理流, 转换流, 打印流

目录 一、对象处理流 1.作用 : 2.序列化和反序列化 : 3.ObjectOutputStream : 1 概述 2 演示 4.ObjectInputStream : 1 概述 2 演示 5.关于序列化的细节 : 6.标准输入输出流&#xff1a; 二、转换流 1.概述 : 2.InputStreamReader : 3.OutputStreamWriter : 三、打印…

GB/T28181国标视频监控平台TINYGBS实现监控视频直播的详细搭建流程

TinyGBS是基于GB/T28181-2016(公共安全视频监控联网系统信息传输、交换、控制技术要求)开发的成熟的、敏捷的、产品化的视频汇聚平台&#xff0c;支持标准的监控设备的接入和管理&#xff0c;在多个应用场景中成功落地。实现实时视频调阅、设备控制(云台控制、聚焦控制、拉框放…

GeoDataFrame 应用:公园分布映射至subzone

0 问题描述 我们知道新加坡的monument分布&#xff1a;Monuments-Data.gov.sg 我们又知道新加坡的subzone信息&#xff1a; Master Plan 2019 Subzone Boundary (No Sea) - Datasets - Dataportal.asia 我们希望生成一个 dataframe&#xff0c;表示每一个subzone有几个monumen…

Django REST Framework(DRF)框架之认证Authentication与权限Permission

DRF框架之认证与权限 认证与权限认证(Authentication)权限(Permission) 认证和权限的使用创建用户用于验证配置认证与权限&#xff08;全局&#xff09;视图指定认证与权限&#xff08;局部&#xff09; 自定义权限概述创建自定义权限类使用自定义权限类 使用TokenAuthenticati…

LeetCode二叉树的相关题目

110. 平衡二叉树 方法&#xff1a;递归 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullpt…

漫谈大数据 - HiveSQL总结(一)库表操作

导语&#xff1a;针对hive各种数据库操作&#xff0c;内部表、外部表、分区表、分桶表的表属性查看修改操作以及hive数据的导入与导出详解。 hive简介&#xff1a; hive是基于Hadoop的一个数据仓库工具&#xff0c;用来进行数据提取、转化、加载&#xff0c;这是一种可以存储、…

双系统安装Windowslinux

文章目录 1.1 联想小新windows10重装1.2 宏基暗影骑士windows10重装2.1 ubuntu18.04重装1&#xff09;清理空间并制作U盘启动2&#xff09;ubuntu分区 3.1 ros安装4.1 deb包安装5.1 网络设置6.1 VSCode环境配置 1.1 联想小新windows10重装 bioss设置 ①微软官网制作u盘启动 ②…

微信小程序PHP+python+nodejs+springboot+vue 电影院订票选座系统

管理员的主要功能有&#xff1a; 1.管理员输入账户登陆后台 2.个人中心&#xff1a;管理员修改密码和账户信息 3.会员管理&#xff1a;对注册的会员信息进行删除&#xff0c;查询&#xff0c;添加&#xff0c;修改 4.电影分类管理&#xff1a;对电影的分类信息进行添加&#xf…

python+nodejs+springboot+vue 教学师生互动答疑系统

然后遵循软件常规开发流程&#xff0c;首先针对系统选取适用的语言和开发平台&#xff0c;根据需求分析制定模块并设计数据库结构&#xff0c;再根据系统总体功能模块的设计绘制系统的功能模块图&#xff0c;流程图以及E-R图。然后&#xff0c;设计框架并根据设计的框架编写代码…

浅学WebFlux--构建一个响应式的SpringBoot服务

前言 看惯了SpringMVC&#xff0c;最近在闲来之余抽空了解了一下Spring早已发布并支持的一种新web框架-WebFlux。由于这玩意的使用需要具备的基础是Reactive programming 的理解、Reactor 的基础以及熟练的java8 lambda使用。但是并不影响笔者摸着石头过河……在此做个浅学笔记…

【三十天精通Vue 3】第十二天 Vue 3 过滤器详解(已废弃)

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: 三十天精通 Vue 3 文章目录 引言一、Vue 3 过滤器概述1.1 过滤器的简介1.2 过滤器的作用1.3 过…

创建Vue3.0工程

1.使用 vue-cli 创建 官方文档&#xff1a;创建一个项目 | Vue CLI (vuejs.org) ## 查看vue/cli版本&#xff0c;确保vue/cli版本在4.5.0以上 vue --version ## 安装或者升级你的vue/cli npm install -g vue/cli ## 创建 vue create vue_test ## 启动 cd vue_test npm run se…

7年时间,从功能测试到测试开发月薪30K,有志者事竟成

突破自己的技术瓶颈并不是一蹴而就&#xff0c;还是需要看清楚一些东西&#xff0c;这里也有一些经验和见解跟大家分享一下。同样是职场人士&#xff0c;我也有我的经历和故事。在工作期间&#xff0c;我有过2年加薪5次的小小“战绩”&#xff08;同期进入公司的员工&#xff0…

番外12:ADS导出到AD变为PCB文件

番外12&#xff1a;ADS导出到AD变为PCB文件并嘉立创制板 番外12&#xff1a;ADS导出到AD变为PCB文件&#xff0c;此处的示例为功率放大器&#xff01; STEP 1: 从ADS导出dxf文件 打开制作好的版图文件&#xff0c;在原有基础上打好散热孔和固定孔&#xff0c;散热孔半径0.63…