暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

KingbaseES V9 行不行?

原创 ByteHouse 2024-09-09
332

摘要:Install KingbaseES V9 for CentOS_Stream9 ,安装不费事才能有兴趣继续深入使用,周边的工具(迁移,备份,客户端)

1.安装前准备工作

KingbaseES 支持通用 X86_64、龙芯、飞腾、鲲鹏等国产 CPU 硬件体系架构。
KingbaseES 支持各种主流的Linux操作系统64位发行版本,包括CentOS、中标麒麟、银河麒麟、统信UOS、
Deepin、凝思、中科方德、欧拉等操作系统。

KingbaseES 有 标准版/企业版/专业版/开发版,可以获取到测试的 license 。

本次安装使用 KingbaseES_V009R001C001B0030 版本。

配置内核参数

为了避免在KingbaseES安装和使用过程中出现问题,您需要检查和设置内核参数。

  • 内核参数,您可通过编辑/etc/sysctl.conf文件修改参数:
cat >> /etc/sysctl.conf <<EOF
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmax=4294967295
kernel.shmmni=4096
kernel.sem=250 32000100128
net.ipv4.ip_local_port_range=900065500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
EOF

内核参数修改完毕后,重启Linux系统,并输入如下命令查看内核参数的修改是否正确:

/sbin/sysctl -p
/sbin/sysctl -a
  • 资源使用参数
    Linux 资源限制配置文件是/etc/security/limits.conf。限制用户可使用的资源数量对系统的稳定性非常重要。您可以通过调整资源限制数量改进系统性能。
    其中 soft 是一个警告值,hard 是真正意义的阈值,超过系统就会报错,一般情况下两者设为同一个值。一般保持系统安装时的默认值即可。可配置的资源有如下种类: nofile、noproc、core参数可修改为如下值
cat >> /etc/security/limits.conf << EOF
# *表示所有用户,可只设置root和kingbase用户
* soft nofile 65536
# 注意:设置nofile的hardlimit不能大于/proc/sys/fs/nr_open,否则注销后将无法正常登陆
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
# unlimited表示无限制
* soft core unlimited
* hard core unlimited
EOF
  • RemoveIPC 参数
    systemd-logind 服务中引入的一个特性,是当一个用户退出系统后,会删除所有有关的 IPC 对象。该特性由 /etc/systemd/logind.conf 文件中的 RemoveIPC 参数控制。某些操作系统会默认打开,会造成程序信号丢失等问题(只有 redhat7 及以上和一些特殊的国产 Linux 的版本需要修改,改之前可先查看此项是否为默认 yes)。设置 RemoveIPC=no。设置后重启服务:
systemctl daemon-reload
systemctl restart systemd-logind.service

创建安装用户

useradd -m kingbase
echo "admin123" | passwd --stdin kingbase

安装目录

KingbaseES 默认的安装目录是/opt/Kingbase/ES/V9。您需要使用 root 用户先创建该目录,并赋予kingbase 用户对该目录的读写权限。

mkdir -p /opt/Kingbase/ES/V9
chmod o+rwx /opt/Kingbase/ES/V9

也可以自定义安装路径。如自定义安装路径为 /home/kingbase/kdb,使用 kingbase 用户创建目录的命令如下:

su - kingbase
mkdir /home/kingbase/kdb

数据目录

数据目录默认是在安装目录下的data目录,也可以与安装目录分开单独设置。您可以根据业务系统数据量来单独设置数据目录路径,例如将数据目录初始化在本机硬盘或者挂载在盘阵上。
您可以运行如下命令创建数据目录:

mkdir -p /opt/Kingbase/ES/V9/data
chmod o+rwx /opt/Kingbase/ES/V9/data

注意: 数据目录不必事先创建。安装过程中会提示指定数据目录,如果目录不存在安装程序会自动创建。

2.图形化安装安装KingbaseES

图形化安装支持中文和英文的安装界面。根据操作系统的语言设置会显示对应语言的安装界面。您可以执行如下命令查看操作系统的语言设置:

echo $LANG

如果系统显示值包含“zh_CN”,则为中文语言,安装程序会使用中文界面。否则,您可以执行如下命令修改
语言设置为中文:

export LANG=zh_CN.UTF-8

切换为安装用户kingbase,进入安装程序setup.sh 所在目录,执行如下命令:

sh setup.sh
或
sh setup.sh-i swing

按照官方文档《基于Linux系统的数据库软件安装指南》的指引,并未出现图形化界面,而是弹出了字符安装界面。根据提示可以顺利的完成安装。


数据库的兼容模式:

选用了postgresql 的兼容模式,并未将数据库添加到systemd 服务中。

启动数据库

[kingbase@kingbase ~]$ cd /opt/Kingbase/ES/V9/Server/bin/
[kingbase@kingbase bin]$ ./kingbase
kingbase does not know where to find the server configuration file.
You must specify the --config-file or -D invocation option or set the KINGBASE_DATA environment variable.
[kingbase@kingbase bin]$ ./kingbase -D /opt/Kingbase/ES/V9/data
2024-09-09 10:37:10.373 CST [108391] LOG:  sepapower extension initialized
2024-09-09 10:37:10.534 CST [108391] LOG:  starting KingbaseES V009R001C001B0030 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
2024-09-09 10:37:10.536 CST [108391] LOG:  listening on IPv4 address "0.0.0.0", port 54321
2024-09-09 10:37:10.536 CST [108391] LOG:  listening on IPv6 address "::", port 54321
2024-09-09 10:37:10.991 CST [108391] LOG:  listening on Unix socket "/tmp/.s.KINGBASE.54321"
2024-09-09 10:37:11.183 CST [108391] LOG:  redirecting log output to logging collector process
2024-09-09 10:37:11.183 CST [108391] HINT:  Future log output will appear in directory "sys_log".

ksql 连接数据库

[kingbase@kingbase ~]$ cd /opt/Kingbase/ES/V9/Server/bin/
[kingbase@kingbase bin]$ ./ksql 
Password for user kingbase: 
ksql: error: could not connect to server: FATAL:  password authentication failed for user "kingbase"
[kingbase@kingbase bin]$ ./ksql 
Password for user kingbase: 
ksql: error: could not connect to server: FATAL:  password authentication failed for user "kingbase"
[kingbase@kingbase bin]$ ./ksql -U system
Password for user system: 
ksql: error: could not connect to server: FATAL:  database "system" does not exist
[kingbase@kingbase bin]$ ./ksql -U system test
Password for user system: 
Type "help" for help.

test=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 kcluster  | Cannot login                                               | {}
 sao       | No inheritance                                             | {}
 sso       | No inheritance                                             | {}
 system    | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

test=# \l 
                               List of databases
   Name    | Owner  | Encoding |   Collate   |    Ctype    | Access privileges 
-----------+--------+----------+-------------+-------------+-------------------
 kingbase  | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
 security  | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
 template0 | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system        +
           |        |          |             |             | system=CTc/system
 template1 | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system        +
           |        |          |             |             | system=CTc/system
 test      | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
(5 rows)

test=# 

获取到了数据库的 role 信息和 database 信息。

综合以上的信息,我个人认为图形化的兼容性还有待提高,并且图形化安装界面依赖了java ,是否因操作系统的 Java 环境影响导致了图形化 GUI 未弹出。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论