Centos7 Greenplum6.1开源版本集群部署

目录

 

1.前言

1.1参照文档

1.2部署包

1.3服务器环境

2 准备工作

2.1 Linux用户

2.2 主机名和hosts配置

2.3 防火墙

2.4 系统资源配置

2.5 暂时启用gpadmin sudo

2.6 复制配置文件到所有节点上

3 安装Greenplum DB

3.1 在Master节点上安装Greenplum DB

3.2 在Master节点上配置集群host

3.3 配置SSH免密连接

3.4 依赖环境安装

3.5 Segment节点上安装Greenplum DB

3.6 环境变量配置

4 初始化Greenplum DB

4.1 初始化前检查

4.2 初始化

5 后续操作

5.1 停止和启动集群

5.2 登录数据库

5.3 集群状态

5.4 测试GPDB集群状态

5.5 设置gpadmin远程访问密码

5.6 查询测试

5.7修改master的pg_hba.conf


 

1.前言

1.1参照文档

https://github.com/greenplum-db/gpdb

 

1.2部署包

基于开源版本编译的源码,

编译参见《centos7 greenplum6.1开源版本编译》

tar czvf greenplum-db.tar.gz /usr/local/gpdb

 

1.3服务器环境

操作系统centos7

角色

数量

主机名

IP

Greenplum Master

1

gp1

192.168.81.154

Greenplum Standby

Greenplum Segment

3

gp1、gp2、gp3

192.168.81.154、192.168.81.155、192.168.81.156

2 准备工作

2.1 Linux用户

在所有节点上创建greenplum管理员用户。

groupadd -g 530 gpadmin
useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin
chown -R gpadmin:gpadmin /home/gpadmin
echo "gpadmin" | passwd --stdin gpadmin

2.2 主机名和hosts配置

相同的配置先在一个节点上配置,配置完成后在2.6小节中复制到其它节点上。

vi /etc/hosts

192.168.81.154 gp1
192.168.81.155 gp2
192.168.81.156 gp3

分别对应每一台主机修改主机名;

依次修改所有节点 gp[1-3]上分别执行

hostnamectl set-hostname gp1

2.3 防火墙

禁用防火墙;

vi /etc/selinux/config

SELINUX=disabled

 

所有机器执行

systemctl stop firewalld.service

systemctl disable firewalld.service

2.4 系统资源配置

sudo bash -c 'cat >> /etc/sysctl.conf <<-EOF

kernel.shmmax = 500000000

kernel.shmmni = 4096

kernel.shmall = 4000000000

kernel.sem = 500 1024000 200 4096

kernel.sysrq = 1

kernel.core_uses_pid = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.msgmni = 2048

net.ipv4.tcp_syncookies = 1

net.ipv4.ip_forward = 0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_max_syn_backlog = 4096

net.ipv4.conf.all.arp_filter = 1

net.ipv4.ip_local_port_range = 1025 65535

net.core.netdev_max_backlog = 10000

net.core.rmem_max = 2097152

net.core.wmem_max = 2097152

vm.overcommit_memory = 2

 

EOF'

 

sudo bash -c 'cat >> /etc/security/limits.conf <<-EOF

* soft nofile 65536

* hard nofile 65536

* soft nproc 131072

* hard nproc 131072

 

EOF'

 

cat >> /etc/security/limits.d/90-nproc.conf <<-EOF

* soft nproc 131072

root soft nproc unlimited

 

EOF

2.5 暂时启用gpadmin sudo

因为后面的集群节点上安装greenplum时会涉及到创建目录和文件操作,在此临时启用sudo,安装成功后撤销。

visudo

gpadmin ALL=(ALL) ALL

gpadmin ALL=(ALL) NOPASSWD:ALL

2.6 复制配置文件到所有节点上

 

scp /etc/hosts gp2:/etc
scp /etc/sysctl.conf gp2:/etc
scp /etc/security/limits.d/90-nproc.conf gp2:/etc/security/limits.d
scp /etc/selinux/config gp2:/etc/selinuxscp /etc/hosts gp3:/etc
scp /etc/sysctl.conf gp3:/etc
scp /etc/security/limits.d/90-nproc.conf gp3:/etc/security/limits.d
scp /etc/selinux/config gp3:/etc/selinux

 

重启操作系统。

 

3 安装Greenplum DB

3.1 在Master节点上安装Greenplum DB

三台上

mkdir -p /opt/greenplum

将部署包解压到

/opt/greenplum/greenplum-db

cd /opt/greenplum/

tar xzvf greenplum-db.tar.gz

 

修改目录权限和所有者为gpadmin;

chown -R gpadmin:gpadmin /opt/greenplum/

chown -R gpadmin:gpadmin /opt/greenplum/greenplum-db

3.2 在Master节点上配置集群host

su - gpadmin mkdir -p /opt/greenplum/greenplum-db/conf

vi /opt/greenplum/greenplum-db/conf/hostlist

gp1

gp2

gp3

创建一个 seg_hosts ,包含所有的Segment Host的主机名;

vi /opt/greenplum/greenplum-db/conf/seg_hosts

gp1

gp2

gp3

3.3 配置SSH免密连接

使用root账号

 

1.在集群master的 /etc/ssh/sshd_config  文件去掉以下选项的注释

vi /etc/ssh/sshd_config

RSAAuthentication yes #开启私钥验证 PubkeyAuthentication yes #开启公钥验证

2.将集群master 修改后的 /etc/ssh/sshd_config  通过 scp 命令复制发送到集群的每一个节点

for a in {2..3} ; do scp /etc/ssh/sshd_config gp$a:/etc/ssh/sshd_config ; done

3.生成公钥、私钥

1.在集群的每一个节点节点输入命令 ssh-keygen -t rsa -P '',生成 key,一律回车

su - gpadmin

cd ~

ssh-keygen -t rsa -P ''

4.在集群的master 节点输入命令

将集群每一个节点的公钥id_rsa.pub放入到自己的认证文件中authorized_keys;

for a in {1..3}; do ssh root@gp$a cat /home/gpadmin/.ssh/id_rsa.pub >> /home/gpadmin/.ssh/authorized_keys; done

5.在集群的master 节点输入命令

将自己的认证文件 authorized_keys  通过 scp 命令复制发送到每一个节点上去: /root/.ssh/authorized_keys`

for a in {2..3}; do scp /home/gpadmin/.ssh/authorized_keys root@gp$a:/home/gpadmin/.ssh/authorized_keys ; done

6.在集群的每一个节点节点输入命令

接重启ssh服务(使用root用户)

sudo systemctl restart sshd.service

7.验证 ssh 无密登录

开一个其他窗口测试下能否免密登陆

例如:在gp2

ssh gp3

exit 退出

测试ssh gp1,不需要密码即可登录。

 

多数情况下,可以登录成功。但是也会出现配置不正确,导致失败的时候。

检查authorized_keys文件权限,并设置为700

chmod 700 .ssh/authorized_keys

 

3.4 依赖环境安装

每台机器都需要执行

yum install -y epel-release

 

yum install -y \

apr-devel \

bison \

bzip2-devel \

cmake3 \

flex \

gcc \

gcc-c++ \

krb5-devel \

libcurl-devel \

libevent-devel \

libkadm5 \

libyaml-devel \

libxml2-devel \

libzstd-devel \

openssl-devel \

perl-ExtUtils-Embed \

python-devel \

python-pip \

readline-devel \

xerces-c-devel \

zlib-devel

 

 

cat >> python-dependencies.txt <<-EOF

argparse==1.2.1

behave==1.2.4

epydoc==3.0.1

lockfile==0.9.1

logilab-astng==0.20.1

logilab-common==0.50.1

MarkupSafe==1.0

mock==1.0.1

parse==1.8.2

psutil==4.0.0

setuptools==36.6.0

unittest2==0.5.1

EOF

 

 

pip install -r python-dependencies.txt

 

#添加gp编译的python包

echo "/opt/greenplum/greenplum-db/lib/python" > /usr/lib/python2.7/site-packages/greenplum.pth

 

vi /etc/ld.so.conf

添加

/opt/greenplum/greenplum-db/lib

 

#配置生效

ldconfig

如果报错ldconfig: xxxx 不是符号连接,说明不是正常压缩、拷贝、解压过来的(直接scp文件不会带符号连接)

 

 

vi /opt/greenplum/greenplum-db/greenplum_path.sh

修改

GPHOME=/opt/greenplum/greenplum-db

 

 

3.5 Segment节点上安装Greenplum DB

root用户创建Segment节点所需的目录,并更改目录权限和所有者为gpadmin;

sudo mkdir -p /opt/greenplum && sudo chown gpadmin:gpadmin -R /opt/greenplum

 

登录gp1,拷贝

su - gpadmin

scp -r /opt/greenplum/greenplum-db gp2:/opt/greenplum/

scp -r /opt/greenplum/greenplum-db gp3:/opt/greenplum/

 

检查每个节点安装和目录情况;

su - gpadmin source /opt/greenplum/greenplum-db/greenplum_path.sh /opt/greenplum/greenplum-db/bin/gpssh -f /opt/greenplum/greenplum-db/conf/hostlist -e ls -l $GPHOME

[gp1] ls -l /opt/greenplum/greenplum-db

[gp1] 总用量 20

[gp1] drwxr-xr-x 7 gpadmin gpadmin 4096 12月 12 10:41 bin

[gp1] drwxrwxr-x 2 gpadmin gpadmin 39 12月 12 11:13 conf

[gp1] drwxr-xr-x 3 gpadmin gpadmin 22 12月 12 10:41 docs

[gp1] -rw-r--r-- 1 gpadmin gpadmin 749 12月 12 13:38 greenplum_path.sh

[gp1] drwxr-xr-x 4 gpadmin gpadmin 4096 12月 12 10:41 include

[gp1] drwxr-xr-x 5 gpadmin gpadmin 4096 12月 12 10:41 lib

[gp1] -rw-r--r-- 1 gpadmin gpadmin 196 12月 12 13:38 python-dependencies.txt

[gp1] drwxr-xr-x 2 gpadmin gpadmin 176 12月 12 10:41 sbin

[gp1] drwxr-xr-x 4 gpadmin gpadmin 41 12月 12 10:41 share

[gp2] ls -l /opt/greenplum/greenplum-db

[gp2] 总用量 20

[gp2] drwxr-xr-x 7 gpadmin gpadmin 4096 12月 12 13:38 bin

[gp2] drwxrwxr-x 2 gpadmin gpadmin 39 12月 12 13:38 conf

[gp2] drwxr-xr-x 3 gpadmin gpadmin 22 12月 12 13:38 docs

[gp2] -rw-r--r-- 1 gpadmin gpadmin 749 12月 12 13:38 greenplum_path.sh

[gp2] drwxr-xr-x 4 gpadmin gpadmin 4096 12月 12 13:38 include

[gp2] drwxr-xr-x 5 gpadmin gpadmin 4096 12月 12 13:38 lib

[gp2] -rw-r--r-- 1 gpadmin gpadmin 196 12月 12 13:38 python-dependencies.txt

[gp2] drwxr-xr-x 2 gpadmin gpadmin 176 12月 12 13:38 sbin

[gp2] drwxr-xr-x 4 gpadmin gpadmin 41 12月 12 13:38 share

[gp3] ls -l /opt/greenplum/greenplum-db

[gp3] 总用量 20

[gp3] drwxr-xr-x 7 gpadmin gpadmin 4096 12月 12 13:43 bin

[gp3] drwxrwxr-x 2 gpadmin gpadmin 39 12月 12 13:43 conf

[gp3] drwxr-xr-x 3 gpadmin gpadmin 22 12月 12 13:43 docs

[gp3] -rw-r--r-- 1 gpadmin gpadmin 749 12月 12 13:43 greenplum_path.sh

[gp3] drwxr-xr-x 4 gpadmin gpadmin 4096 12月 12 13:43 include

[gp3] drwxr-xr-x 5 gpadmin gpadmin 4096 12月 12 13:43 lib

[gp3] -rw-r--r-- 1 gpadmin gpadmin 196 12月 12 13:43 python-dependencies.txt

[gp3] drwxr-xr-x 2 gpadmin gpadmin 176 12月 12 13:43 sbin

[gp3] drwxr-xr-x 4 gpadmin gpadmin 41 12月 12 13:43 share

 

 

 

创建数据存储区域目录;

su - gpadmin

source /opt/greenplum/greenplum-db/greenplum_path.sh

/opt/greenplum/greenplum-db/bin/gpssh -f /opt/greenplum/greenplum-db/conf/hostlist -e 'mkdir -p /opt/greenplum/data'

在master上创建master数据存储区域;

su - gpadmin

source /opt/greenplum/greenplum-db/greenplum_path.sh

/opt/greenplum/greenplum-db/bin/gpssh -h gp1 -e 'mkdir -p /opt/greenplum/data/master'

在Segment节点上创建数据存储区域

su - gpadmin

source /opt/greenplum/greenplum-db/greenplum_path.sh

/opt/greenplum/greenplum-db/bin/gpssh -f /opt/greenplum/greenplum-db/conf/seg_hosts -e 'mkdir -p /opt/greenplum/data/primary && mkdir -p /opt/greenplum/data/mirror'

3.6 环境变量配置

source /opt/greenplum/greenplum-db/greenplum_path.sh
gpssh -f /opt/greenplum/greenplum-db/conf/hostlist -e -v "cat >> /home/gpadmin/.bashrc <<EOFsource /opt/greenplum/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/opt/greenplum/data/master/gpseg-1
export GPPORT=5432
export PGDATABASE=gp_sydb
EOF"

4 初始化Greenplum DB

4.1 初始化前检查

检查主机名配置;

su gpadmin
source /opt/greenplum/greenplum-db/greenplum_path.sh
gpssh -f /opt/greenplum/greenplum-db/conf/hostlist -e hostname[gp1] hostname
[gp1] gp1
[gp3] hostname
[gp3] gp3
[gp2] hostname
[gp2] gp2

检查节点与节点之间文件读取(可以不检查);

 

gpcheckperf -h gp1 -h gp2 -d /tmp -r d -D -v
gpcheckperf -f /opt/greenplum/greenplum-db/conf/hostlist -d /tmp -r d -D -v
$ gpcheckperf -f /opt/greenplum/greenplum-db/conf/hostlist -r N -d /tmp
/opt/greenplum/greenplum-db/./bin/gpcheckperf -f /opt/greenplum/greenplum-db/conf/hostlist -r N -d /tmp-------------------
--  NETPERF TEST
-------------------====================
==  RESULT
====================
Netperf bisection bandwidth test
gp-master -> gp-sdw1 = 72.220000
gp-sdw2 -> gp-sdw3 = 21.470000
gp-sdw1 -> gp-master = 43.510000
gp-sdw3 -> gp-sdw2 = 44.200000Summary:
sum = 181.40 MB/sec
min = 21.47 MB/sec
max = 72.22 MB/sec
avg = 45.35 MB/sec
median = 44.20 MB/sec[Warning] connection between gp-sdw2 and gp-sdw3 is no good
[Warning] connection between gp-sdw1 and gp-master is no good
[Warning] connection between gp-sdw3 and gp-sdw2 is no good

 

4.2 初始化

初始化 Greenplum 配置文件模板都在/opt/greenplum/greenplum-db/docs/cli_help/gpconfigs目录下,gpinitsystem_config是初始化 Greenplum 的模板,此模板中 Mirror Segment的配置都被注释;创建一个副本,对其修改;

 

cd /opt/greenplum/greenplum-db/docs/cli_help/gpconfigs
cp gpinitsystem_config initgp_config
vi initgp_config        declare -a DATA_DIRECTORY=(/opt/greenplum/data/primary /opt/greenplum/data/primary /opt/greenplum/data/primary)
MASTER_HOSTNAME=gp1
MASTER_DIRECTORY=/opt/greenplum/data/master
declare -a MIRROR_DATA_DIRECTORY=(/opt/greenplum/data/mirror /opt/greenplum/data/mirror /opt/greenplum/data/mirror)
DATABASE_NAME=gp_sydb
MACHINE_LIST_FILE=/opt/greenplum/greenplum-db/conf/seg_hosts

执行初始化;

gpinitsystem -c initgp_config

若初始化失败,需要删除数据目录重新初始化;

chmod 777 /home/gpadmin/gpAdminLogs/backout_gpinitsystem_gpadmin_20191212_144741

/home/gpadmin/gpAdminLogs/backout_gpinitsystem_gpadmin_20191212_144741

 

5 后续操作

5.1 停止和启动集群

gpstop -a gpstart -a

5.2 登录数据库

$ psql -d postgrespostgres=# \l # 查询数据库List of databasesName    |  Owner  | Encoding |  Access privileges  
-----------+---------+----------+---------------------gp_sydb   | gpadmin | UTF8     | postgres  | gpadmin | UTF8     | template0 | gpadmin | UTF8     | =c/gpadmin          : gpadmin=CTc/gpadmintemplate1 | gpadmin | UTF8     | =c/gpadmin          : gpadmin=CTc/gpadmin
(4 rows)postgres=# \l # 查询数据库表

5.3 集群状态

gpstate -e #查看mirror的状态
gpstate -f #查看standby master的状态
gpstate -s #查看整个GP群集的状态
gpstate -i #查看GP的版本
gpstate --help #帮助文档,可以查看gpstate更多用法

 

 

5.4 测试GPDB集群状态

gpstate -e

5.5 设置gpadmin远程访问密码

psql postgres gpadmin

alter user gpadmin encrypted password 'gpadmin';

\q

5.6 查询测试

psql -hgp1 -p 5432 -d postgres -U gpadmin -c 'select dfhostname, dfspace,dfdevice from gp_toolkit.gp_disk_free order by dfhostname;'

psql -h gp1 -p 5432 -d postgres -U gpadmin -c '\l+'

 

5.7修改master的pg_hba.conf

pg_hba.conf是控制数据库访问的文件

 

vi $MASTER_DATA_DIRECTORY/pg_hba.conf

host all gpadmin 0.0.0.0/0 md5

执行gpstop -u使配置生效

 

此时可以使用客户端进行连接(postgres连接方式,连接到master的5432)

 

$MASTER_DATA_DIRECTORY/postgresql.conf是集群的配置文件,可以根据实际情况进行配置。主要有两个配置:

监听地址

连接数

 

 

拷贝过来一张数据量上万的表,然后查询数据分布情况

select gp_segment_id,count(*) from gis_person_info group by 1 order by 1;

 

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

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

相关文章

转 C#对多个集合和数组的操作(合并,去重,判断)

在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.这里介绍一些常用的集合跟数组的操作函数. 首先举例2个集合A,B. List<int> listA new List<int> {1,2,3,5,7,9}; List<int> listB new List<int> {13,4,17,29…

centos7 postgresql9和postgis2.1插件编译部署

目录 依赖安装 下载编译libgeos 下载编译proj4 编译Postgresql9 编译PostGIS2 启动postgresql服务 开通外部网络访问 数据库开启PostGIS扩展 查看PostGIS版本 升级PostGIS版本 依赖安装 这个命令里面安装的包可能会多&#xff0c;由于是编译GreenPlum用的&#xff0…

三国人物共现网络

三国部分人物共现图 转载于:https://www.cnblogs.com/jzssuanfa/p/6814865.html

Spark单独集群模式部署

目录 网络配置 SSH 免密码登录 部署 执行测试 网络配置 192.168.81.157 node1 master 192.168.81.158 node2 slave1 192.168.81.159 node3 slave2 相同的配置先在一个节点上配置&#xff0c;配置完成后复制到其它节点上。 vi /etc/hosts 192.168.81.157 node1 192.168.…

flutter网络权限申请

在此文件&#xff08;android/src/main/AndroidManifest.xml&#xff09;中的manifest节点下添加如下代码&#xff1a; 注意&#xff0c;不是profile文件夹下的。 <uses-permission android:name"android.permission.READ_PHONE_STATE" /> <uses-permissio…

10.1.2 Document类型【JavaScript高级程序设计第三版】

JavaScript 通过Document 类型表示文档。在浏览器中&#xff0c;document 对象是HTMLDocument&#xff08;继承自Document 类型&#xff09;的一个实例&#xff0c;表示整个HTML 页面。而且&#xff0c;document 对象是window 对象的一个属性&#xff0c;因此可以将其作为全局对…

Ubuntu18.04 Flutter开发环境搭建

目录 flutter安装 android studio安装 Android Studio创建Flutter项目 运行应用程序 flutter安装 下载flutter https://flutter.dev/docs/development/tools/sdk/releases?tablinux https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_…

[原创] 毕设---在myeclipes中安装Hadoop开发插件

1、安装Hadoop开发插件hadoop安装包contrib/目录下有个插件hadoop-0.20.2-eclipse-plugin.jar&#xff0c;拷贝到myeclipse根目录下/dropins目录下。2、 启动myeclipse&#xff0c;打开Perspective&#xff1a;【Window】->【Open Perspective】->【Other...】->【Map…

ubuntu安装显卡驱动

1.卸载系统里低版本的英伟达驱动 sudo apt-get purge nvidia* 2.把显卡驱动加入PPA sudo add-apt-repository ppa:graphics-drivers sudo apt-get update 3.查找英伟达显卡驱动最新版本号 sudo apt-cache search nvidia 使用终端命令查看Ubuntu推荐的驱动版本 ubuntu-driver…

[转]cubemap soft shadow

https://community.arm.com/graphics/b/blog/posts/dynamic-soft-shadows-based-on-local-cubemap转载于:https://www.cnblogs.com/wantnon/p/6819103.html

flutter打开第三方应用

添加依赖 url_launcher: ^5.4.1 ————————main.dart import package:url_launcher/url_launcher.dart;void main() > runApp(MyApp());const String TITLEwhqtest;class MyApp extends StatelessWidget {overrideWidget build(BuildContext context) {return Materi…

vue2 watch引用类型 失败原因

vue中watch基本用法&#xff1a;  new Vue({el: #t1,data: {a: {b: 1,c: 2},},methods: {ch() {this.a.d5   //不打印ok 原理是watch只watch挂在data中的数据&#xff0c;初始化时给他们分别赋予setter与getter&#xff0c;如果是中途加上的属性&#xff0c;由于没有sette…

flutter webview浏览器及与js交互、打开第三方app

添加pubspec.yaml依赖 url_launcher: ^5.4.1 webview_flutter: ^0.3.181 --------------main.dart import package:flutter/material.dart; import package:url_launcher/url_launcher.dart; import package:webview_flutter/webview_flutter.dart;void main() > runApp(M…

Flutter1.12与原生Android交互(kotlin)

开发原生部分&#xff0c;还是点击Open for Editing in Android Studio好用&#xff0c;提示、自动引用功能都能正常使用。 -----------android/app/src/main/kotlin/com/glodon/gzzjy_app/MainActivity.kt import android.os.Bundle import android.os.PersistableBundle impo…

IP及端口号

IP&#xff1a;代表一台机器 端口号&#xff1a;每一个程序都有一个端口号与之对应 一个域名对应一个虚拟主机转载于:https://www.cnblogs.com/hwgok/p/6822372.html

Greenplum5单机部署连接报错 System was started in master-only utility mode问题修复

psql连接单机部署的Greenplum5会报错&#xff1a; psql: FATAL: System was started in master-only utility mode - only utility mode connections are allowed 命令可以使用 PGOPTIONS-c gp_session_roleutility psql -d postgres 但是程序、客户端都不行&#xff0c; …

ArcEngine临时数据存储 创建内存工作空间

参考网址&#xff0c;这里 工作中有时候需要使用临时数据&#xff0c;以前都是创建一个默认的shapefile或者gdb&#xff0c;今天发现esri官方帮助文档给出了一个方法&#xff0c;可以创建内存工作空间&#xff0c;代码如下&#xff1a; public static IWorkspace CreateInMemor…

postgresql数据库迁移技巧(降低版本迁移到GreenPlum pg11-pg8)

工具&#xff1a;navicat12 步骤&#xff1a; 1.创建scheme 2.导出源scheme的结构sql 3.在目标数据库执行源scheme结构sql中创建序列部分 4.直接操作拷贝scheme所有表&#xff08;使用生成sql会有版本不兼容的问题&#xff0c;我是从11降到8&#xff0c;跨度比较大&#xff09…

“约见”面试官系列之常见面试题之第九十六篇之active-class是谁的属性(建议收藏)

active-class 属于vue-router的样式方法&#xff0c;当router-link标签被点击时将会应用这个样式 一、首先&#xff0c;active-class是什么&#xff0c;active-class是vue-router模块的router-link组件中的属性&#xff0c;用来做选中样式的切换&#xff1b;相关可查阅文档&…

centos8安装中文(zh_CN)语言包

首先查看当前字符集 locale 看看有没有zh_CN.utf8 locale -a |grep CN 没有就安装 yum install -y langpacks-zh_CN 安装后再次确认配置 vi /etc/locale.conf LANG"zh_CN.UTF-8" 修改后重启即可