当前位置: 首页 > article >正文

Linux系统部署KES

1、安装准备

1.版本说明V008R006C009B0014

V008:是version产品的大版本。
R006:是release产品特性版本。
C009:是通用版
B0014:是build开发过程中的构建版本

2.硬件要求

#安全版和企业版
内存:1GB 以上
硬盘:1GB 以上空闲空间#标准版
内存:512MB 以上
硬盘:1GB 以上空闲空间

3.检查和配置环境

1.查看操作系统信息
[root@node1 ~]# cat /etc/*release2.检查系统内存和存储空间
[root@node1 ~]# free -m
-m表示MB为单位显示[root@node1 ~]# df -h
显示所有文件系统
[root@node1 ~]# df -hl
-l仅显示本地文件系统注意:/tmp目录至少10G空间。3.内核参数
/sbin/sysctl -p	#从配置文件加载并应用内核参数
/sbin/sysctl -a	#显示#Linux资源限制配置文件是
/etc/security/limits.conf
其中文件内容soft 是一个警告值,hard 是真正意义的阈值,超过系统就会报错,一般情况下两者设为同一个值。一般保持系统安装时的默认值即可。

4.准备工作(直接从这里开始)

1#准备Kingbase安装包,license授权文件。2#做基本配置
(1)关闭防火墙和seLinux
(2)创建kingbase用户,并设置密码(第二个命令会同时创建同名用户组 kingbase 以及用户根目录/home/kingbase)
(3)创建程序目录,并授权。创建数据目录	#根据情况来
(4)镜像挂载
其中 -o loop:将文件作为块设备挂载到系统中,使其内容可被访问systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalldsed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
cat /etc/selinux/config | grep SELINUXuseradd -m kingbase
passwd kingbase		#输入两次密码mkdir -p /home/kingbase/KingbaseES/V8 /home/kingbase/KingbaseES/V8/data /archive /backup/dump
chown -R kingbase:kingbase /home/kingbase/KingbaseES/V8
chown -R kingbase:kingbase /home/kingbase/KingbaseES/V8/data
chown -R kingbase:kingbase /backup
chown -R kingbase:kingbase /archive
chown -R kingbase:kingbase /home/kingbase/install
chmod -R 775 /Kingbase/ES
chmod -R 775 /backup
chmod -R 775 /archive
chmod -R 700 /datamount -o loop /home/kingbase/install/KingbaseES_V008R006C008B0020_Lin64_install.iso /mnt/umount ./mnt	#查看挂载信息#重点:
创建用户并设置密码-->安装目录,和数据目录(建议套一层)-->mount挂载

3、修改系统参数

#root用户进行更改
#第一个文件/etc/security/limits.conf
vi /etc/security/limits.conf
root        soft    nofile      655360
root        hard    nofile      655360
root        soft    nproc       655360
root        hard    nproc       655360
root        soft    memlock     50000000
root        hard    memlock     50000000
root        soft    core        unlimited
root        hard    core        unlimitedkingbase    soft    nofile      655360
kingbase    hard    nofile      655360
kingbase    soft    nproc       655360
kingbase    hard    nproc       655360
kingbase    soft    memlock     50000000
kingbase    hard    memlock     50000000
kingbase    soft    core        unlimited
kingbase    hard    core        unlimited#附参数详解:
soft	——指当前系统生效的设置值。
hard——指系统中所能设定的最大值。soft的限制不能比hard的限制高。
nofile——指打开文件的最大数目
nproc——指进程的最大数目
core	——指限制内核文件的大小#第二个文件/etc/sysctl.conf kernel.sem = 50100 64128000 50100 1280  
# 释放time_wait链接
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_timestamps= 1   
net.ipv4.tcp_fin_timeout = 30   
# TCP端口使用范围
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_tw_buckets = 6000  
# 记录的那些尚未收到客户端确认信息的连接请求的最大值
net.ipv4.tcp_max_syn_backlog = 65536  
# 每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_wmem = 8192 436600 873200
net.ipv4.tcp_rmem  = 32768 436600 873200
net.ipv4.tcp_mem = 94500000 91500000 92700000
net.ipv4.tcp_max_orphans = 3276800
vm.swappiness=1
fs.file-max=7672460
fs.aio-max-nr=1048576
net.core.somaxconn=4096
vm.min_free_kbytes=521000
vm.vfs_cache_pressure=200
执行以下命令重新加载生效
[root@node1 ~]# sysctl -p *******************其实下面两个不用操作*******************************
#第三个文件(用于控制是否对系统服务和任务进行资源使用统计)
vi /etc/systemd/system.conf
DefaultTasksAccounting=no systemctl daemon-reload 
systemctl daemon-reexec 
service sshd statusSELECT * FROM sys_license_info;#第四个文件(用于控制用户会话结束后是否保留 System V IPC资源)
4、修改/etc/systemd/logind.conf文件中RemoveIPC=no	
[root@node1 ~]# vim /etc/systemd/logind.confRemoveIPC=no	systemctl daemon-reload
systemctl restart systemd-logind 

2、Linux系统-命令行部署(图形化部署就是点击即可)

操作流程

0.变更中文系统
echo $LANG	
export LANG=zh_cCN.UTF-81.启动安装程序
sh /mnt/setup.sh -i console
#说明:加-i表示以控制台的形式安装启动过程。enter表示继续,quit表示退出,back表示上一步。2.阅读许可协议
一直按enter就行,最后输入y3.选择安装集(1)完全安装(2)客户端安装(3)定制安装4.选择授权文件(看实际情况)
/install/license_34148/license_341480.dat5.选择安装路径
默认安装路径是/opt/Kingbase/ES/V8;6.预安装摘要7.安装
(1)选择数据目录
默认/opt/Kingbase/ES/V8/data
一般放/data下
(2)监听端口 
(3)管理员
(4)密码	#自己决定
(5)字符集	
(6)兼容风格	#如果是MySQL在大小写敏感性时选否
(7)大小写敏感性
(8)数据块大小
(9)数据库加密算法8.是否包含server(实现开机自启)#root用户执行
/opt/Kingbase/ES/V8/install/script/root.sh#查看状态
service Kingbased status

3、安装后检查

#查看安装日志installer.log
[root@localhost ~]# find / -name "*.log"|grep kingbase#验证工具是否能连接数据库
./ksql -p 54321 -U system test#查看已安装数据库的版本信息
/opt/Kingbase/ES/V8/Server/bin/kingbase -V 
select version();#解决缺库的问题(一般不会)
如果安装机器操作系统缺少必要的 so 库文件,您可通过如下命令查看到有缺少 so 库文件的情况。在 ${安
装目录}/Server/bin 目录下执行命令:ldd * | grep "not found"${安装目录}/Server/lib 下, 执行如下命令检查是否存在缺少的 so 库文件:
命令:ls
若检查到 ${安装目录}/Server/lib 下存在缺少的 so 库文件,则在 ${安装目录}/Server/lib 下, 执行
命令:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`

4、卸载

#root用户脚本移除KES开机自启服务
/KingbaseES/V9/install/script/rootuninstall.sh
#卸载KES应用程序
bash /opt/KingbaseES/V9/Uninstall/Uninstaller -i console
#清除安装目录下残留文件
方法1:执行rm -fr /KingbaseES/V9直接删除安装目录。
方法2:执行mvKingbaseES/V9/KingbaseES/V9.bak将安装目录改名。

5、增删组件

5.1 增加组件

#kingbase用户执行
sh setup.sh -i console#输入2,选择修改存在的实例#输入机器上已有实例的序列号#输入1,添加功能#选择功能直接回车,等待完成即可

5.2 删除组件

#kingbase用户执行
/opt/Kingbase/ES/V8/Uninstall/Uninstaller#根据需求删除即可(和添加一样)

目录大全

#[kingbase@localhost ~]$ ls -l /opt/Kingbase/ES/V8/
#(1)软连接,对应目录存放了客户端工具依赖的可执行二进制文件、链接文件等。
ClientTools -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C006B0021/ClientTools/– ClientTools/ guitools/ KStudio:开发管理工具,能运行在各种平台的图形工具,用于管理和配置 KES 数据库服务器,管理各种 KES 数据库对象,进行 KES 数据库的安全管理,调用查询分析器执行和测试 SQL 语句。	– ClientTools/guitools/KDts:数据库迁移工具,可以用于跨平台数据交换和迁移,支持同异构数据源之间的数据迁移。该目录下存放了迁移工具的相关程序和配置文件。– ClientTools/guitools/DeployTools:集群部署工具,用于远程部署集群节点服务。该目录存放了集群部署工具相关的程序和配置文件。#(2)初始化数据库生成的数据目录。
data#(3)软连接,对应目录包含各类帮助手册。
doc -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C006B0021/doc/#(4)软连接,对应目录存放了安装过程中依赖和使用的各类文件。– install/script:该目录下存放了安装和卸载过程中使用的脚本。– install/LICENSE.EN:英文许可协议。– install/LICENSE.ZH:中文许可协议。
install -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C006B0021/install/#(5)软连接,对应目录存放了各类应用程序开发接口程序包。
Interface -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C006B0021/Interface/#(6)实际安装目录,下一级为版本号命名的目录,再下一级为 Server、doc、ClientTools、Interface、install、SupTools、Uninstall、license.dat、KingbaseHA,对应上述各软连接的实际目录。
KESRealPro#(7)软连接,对应目录存放了高可用集群组件相关程序和配置文件。
KingbaseHA -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C006B0021/KingbaseHA/#(8)软连接,执行安装时使用的认证许可证书。
license.dat -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C006B0021/license.dat#(9)软连接,对应目录存放了服务器二进制文件,链接文件等。
Server -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C006B0021/Server/
– Server/bin:服务器二进制文件,可以在该路径下进行启动服务、连接数据库、物理备份还原、逻辑备份
还原等操作。#(10)软连接,对应目录下存放了巡检工具相关脚本和配置文件。
SupTools -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C006B0021/SupTools/#(11)软连接,对应目录包含卸载程序的相关文件。
Uninstall -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C006B0021/Uninstall/

优化内容

1.设置环境变量

[kingbase@node1 ~]$ vi /etc/bashrc
export PATH=$PATH:/home/kingbase/Kingbase/binsource /etc/basbrc

2.测试连接+查看版本

[kingbase@node1 ~]$ ksql -Usystem -dtest[kingbase@node1 ~]$ kingbase -V#启动与停止服务
sys_ctl -w start -D /../data/sys_ctl -m fast -w -D /../data/

3.修改kingbase.conf 文件

#这个目录一般在../data下面,需要free -h内存listen_addresses='*'
port=54321 
max_connections=1000 #按需配置
shared_buffers=RAM*25% #按需配置
effective_cache_size=RAM*0.5GB
work_mem=10MB
maintenance_work_mem=2GB
huge_pages=try
temp_file_limit=-1
wal_level=replica
fsync=on
full_page_writes=on
synchronous_commit=on
wal_buffers=-1
wal_compression=on
checkpoint_timeout=20min
checkpoint_completion_target=0.9
max_wal_size=64GB
min_wal_size=1GB
max_locks_per_transaction=1024
archive_mode=on
archive_command=''
#非Oracle需要删除下面的
ora_input_emptystr_isnull=onlogging_collector=on
log_destination=stderr
log_directory='sys_log'
log_filename='kingbase-%d.log'
log_truncate_on_rotation=on
log_rotation_age=1d
log_rotation_size=10MB
log_statement=ddl
log_min_duration_statement=1000
log_line_prefix='%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h'
log_checkpoints=on
log_lock_waits=on
log_autovacuum_min_duration=0
log_temp_files=0
lc_messages='C'
max_parallel_workers_per_gather=0
log_connections=on
log_disconnections=on#重启数据库服务使修改生效(如果配置环境变量就可以直接执行)
[kingbase@node1 bin]$ ./sys_ctl restart -D /home/kingbase/Kingbase/ES/V8/data/

相关文章:

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘&#xf…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析,分为​​已启动​​和​​未启动​​两种场景: 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​:当其他组件(如Activity、Service)通过ContentR…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

【Linux】自动化构建-Make/Makefile

前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具&#xff1a;make/makfile 1.背景 在一个工程中源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;mak…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...