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/