華為GaussDB T(Gaussdb 100) 安裝系列一

passion_of_data發表於2019-12-11

最近華為自主研發的gaussDB談論的比較多,為了一探究竟,抓緊裝來瞧瞧,下面是單機版安裝順序,有興趣的同學可以按照這個步驟自己拔草。

 

本次拔草的是GaussDB 100:OLTP型資料庫,分散式並行資料庫叢集,2011年開始研發。GaussDB 100 包括兩條線,一條產品線是基於單機版開源資料庫 PostgreSQL 研發的產品,另一條線是自研核心的 GaussDB 100 產品。

 

下面開始拔草:


環境:

系統版本:RedHat7.5 X86 64

資料庫版本:GaussDB100 V1.0.0


一、開啟root使用者遠端登入許可權

1、編輯sshd_config檔案

vi /etc/ssh/sshd_config


2、修改PermitRootLogin配置,允許使用者遠端登入。

可以使用以下兩種方式實現:

1)註釋掉"PermitRootLogin no"。

#PermitRootLogin no

2)將PermitRootLogin改為yes。

PermitRootLogin yes


3、修改Banner配置,去掉連線到系統時,系統提示的歡迎資訊。

註釋掉"Banner"所在的行。

#Banner none


4、修改PasswordAuthentication配置,允許使用者登入時進行密碼鑑權,退出儲存。

將PasswordAuthentication改為yes。

PasswordAuthentication yes


5、重啟sshd服務,並使用root使用者身份重新登入。

#service sshd restart

如果執行命令後返回提示資訊Redirecting to /bin/systemctl restart sshd.service,

則執行如下命令:

#/bin/systemctl restart sshd.service


二、設定作業系統防火牆並過載生效

#firewall-cmd --permanent --zone=trusted --add-source=192.168.57.20/25

#firewall-cmd --permanent --zone=trusted --add-source=10.10.0.20/25

#firewall-cmd --reload


附:

# 開啟防火牆

systemctl start firewalld.service

# 關閉防火牆

systemctl stop firewalld.service

# 防火牆開機啟動

systemctl enable firewalld.service

# 設定開機禁用防火牆

systemctl disable firewalld.service

# 檢視防火牆狀態

firewall-cmd --state


三、系統引數配置

修改/etc/sysctl.conf,新增如下引數:

kernel.sem = 50100 128256000 50100 2560

net.core.netdev_max_backlog = 1000

net.ipv4.tcp_max_syn_backlog = 2048

kernel.core_pattern = /corefile/core.%p.%e

kernel.core_uses_pid = 1

kernel.shmmni = 4096

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.wmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_max = 1048576

fs.aio-max-nr = 1048576

fs.file-max = 6815744


啟用引數:

#sysctl -p



四、安裝系統包

本次使用ISO介質配置yum源,用於資料庫安裝依賴包的安裝。

在/etc/rc.local檔案末尾寫入一行

mount /dev/cdrom /mnt  

保證每次系統啟動的時候都能把光碟裡面的內容掛載到/mnt目錄中。

   

1、配置yum源

將原先的yum源備份,新建一個yum源

cd /etc/yum.repos.d

mkdir bak

mv redhat* ./bak

vi iso.repo 


[root@gaussdb11 yum.repos.d]# cat iso.repo 

[rhel-iso]

name=Red Hat Enterprise Linux - Source

baseurl=file:///mnt

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


2、檢視package

#yum list


yum install -y zlib readline gcc

yum install -y python python-devel

yum install perl-ExtUtils-Embed

yum -y install -y readline-devel

yum -y install -y zlib-devel


3、驗證包是否安裝:

rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep -E "zlib|readline|gcc\

|python|python-devel|perl-ExtUtils-Embed|readline-devel|zlib-devel"


五、開始資料庫安裝

1、建立組和使用者:

groupadd -g 1000 dbgrp

useradd -u 1100 -g dbgrp -d /home/gsdb -m -s /bin/bash gsdb

passwd gsdb


2、檔案系統規劃:

#軟體安裝目錄:≤0750       

mkdir -p /gsql/gaussdb100

mkdir -p /gsdata/data

mkdir /gslog


chown  gsdb:dbgrp /gsql

chown  gsdb:dbgrp /gsql/gaussdb100

chown  gsdb:dbgrp  /gsdata

chown  gsdb:dbgrp  /gsdata/data

chown  gsdb:dbgrp  /gslog


[root@gaussdb11 ~]#  ln -s /gsql/gaussdb100 /usr/local/gsdb100

[root@gaussdb11 ~]#  ls -rlt /usr/local/gsdb100

lrwxrwxrwx. 1 root root 16 Nov 13 11:32 /usr/local/gsdb100 -> /gsql/gaussdb100


3、解壓安裝包:(gsdb使用者操作)

cd /tmp

tar -zxvf GaussDB_100_1.0.0-DATABASE-REDHAT-64bit.tar.gz -C /gsql/


4、安裝資料庫:

cd /gsql/GaussDB_100_1.0.0-DATABASE-REDHAT-64bit

python install.py -U gsdb:dbgrp -R /gsql/gaussdb100 -D /gsdata/data -C LSNR_ADDR=127.0.0.1,192.168.57.20,10.10.0.20 -C LSNR_PORT=1650 -C DATA_BUFFER_SIZE=400M -C SHARED_POOL_SIZE=150M -C TEMP_BUFFER_SIZE=150M


示例:

-U 指定安裝使用者和使用者組。

-R 指定安裝目錄。

-D 指定資料檔案目錄,即GAUSSDATA目錄。

-C 指定配置引數,可以指定多個。如果不指定,則按照/gsdata/data/cfg/zengine.ini中的預設配置項。

-P 在安裝時,如果禁用免密登入,則需要在命令列最後指定此選項。命令列執行過程中,會提示輸入連線資料庫的使用者名稱和密碼,使用者名稱是SYS,

密碼是SYS使用者的出廠密碼Changeme_123。如果開啟免密登入則不需要指定本選項。


[root@gaussdb11 tmp]# ps -ef|grep -i gsdb

root       2403   1452  0 01:00 pts/0    00:00:00 python install.py -U gsdb:dbgrp -R /gsql/gaussdb100 -D /gsdata/data -C LSNR_ADDR=127.0.0.1,192.168.57.20,10.10.0.20 -C LSNR_PORT=1650 -C DATA_BUFFER_SIZE=400M -C SHARED_POOL_SIZE=150M -C TEMP_BUFFER_SIZE=150M

gsdb     2667      1 86 01:01 ?        00:01:10 /gsql/gaussdb100/bin/zengine nomount -D /gsdata/data

root       2712   2711  0 01:01 pts/0    00:00:00 su - gsdb -c /gsql/gaussdb100/bin/zsql / as sysdba 127.0.0.1:1650 -q -D /gsdata/data -f /gsql/gaussdb100/admin/scripts/create_database.sample.sql 

gsdb     2713   2712  0 01:01 ?        00:00:00 /gsql/gaussdb100/bin/zsql / as sysdba 127.0.0.1:1650 -q -D /gsdata/data -f /gsql/gaussdb100/admin/scripts/create_database.sample.sql

root       2729   2378  0 01:02 pts/2    00:00:00 grep --color=auto -i gsdb


2)檢視日誌,安裝日誌預設釋放到使用者home目錄下:

安裝日誌示例:

 


5、編輯資料庫引數(引數值大小請根據實際環境設定),重啟例項生效:

cd /gsdata/data

mkdir cfg

cd cfg

vi zengine.ini

LSNR_PORT = 1650

LSNR_ADDR = 127.0.0.1,192.168.57.20,10.10.0.20

TEMP_BUFFER_SIZE = 150M

DATA_BUFFER_SIZE = 400M

SHARED_POOL_SIZE = 150M

LOG_BUFFER_SIZE = 32M

DBWR_PROCESSES = 2

LOG_BUFFER_COUNT = 6

SESSIONS = 300


/*引數說明:

TEMP_BUFFER_SIZE Temp buffer的大小。

DATA_BUFFER_SIZE 用於快取最近訪問的資料的,資料BUFFER區的大小。

SHARED_POOL_SIZE Shared Pool的大小。

LOG_BUFFER_SIZE Log buffer的大小。Log buffer用於快取Redo日誌。

DBWR_PROCESSES 後臺寫髒頁面執行緒的個數,提高數值可以提高併發效率,但也會消耗較多資源。

LOG_BUFFER_COUNT Log buffer的數量。

LSNR_ADDR 偵聽的伺服器IPV4地址。

LSNR_PORT 服務偵聽的埠號。

SESSIONS 最大併發SESSION數。

*/


6、裝完庫,資料庫預設是啟動的。

su - gsdb

zengine  -D /gsdata/data &


[root@gaussdb11 gsdb]# ps -ef|grep -i gsper

root      19406  19285  0 16:32 pts/0    00:00:00 su - gsdb

gsdb    19407  19406  0 16:32 pts/0    00:00:01 -bash

gsdb    20793      1 75 17:03 ?        00:20:06 /gsql/gaussdb100/bin/zengine nomount -D /gsdata/data

gsdb    32697  19407  4 17:28 pts/0    00:00:02 zsql SYS/*@127.0.0.1:1650

root      32752  20478  0 17:29 pts/2    00:00:00 grep --color=auto -i gsper


7、登入資料庫

--連線資料庫:GaussDB 100預設管理員賬戶為SYS,密碼為Changeme_123。

zsql SYS/Changeme_123@127.0.0.1:1650 -q



8、配置PATH:

[gsdb@gaussdb11 ~]$ vi .bash_profile


# .bash_profile


# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi


# User specific environment and startup programs

GSDB_DATA=/gsdata/data

export GSDB_DATA


GSDB_HOME=/gsql/gaussdb100

export GSDB_HOME


PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/gsdb100/bin:$GSDB_HOME/bin

export PATH


--使得PATH生效:

source .bash_profile



[gsdb@gaussdb11 ~]$ which zsql

/gsql/gaussdb100/bin/zsql


9、登入資料庫並修改管理員密碼

[gsdb@gaussdb11 ~]$ zsql SYS/Changeme_123@127.0.0.1:1650 -q


connected.



SQL> ALTER USER SYS IDENTIFIED BY Gsdb_123 REPLACE Changeme_123;


Succeed.


10、建立使用者及資料插入測試

1)建立測試使用者及對應表空間


2)建立測試表及資料插入測試

 

插入734W資料耗時79.674S,本次安裝測試是在筆記本上的虛擬機器上進行的。不能作為生產庫資料插入速度參考。



附:

當在centos使用redhat平臺gaussdb100安裝包進行安裝時,會報錯:

解決方法:

註釋掉install.py檔案中的平臺檢查指令:

cd /gsql/GaussDB_100_1.0.0-DATABASE-REDHAT-64bit

vi install.py

#        if self.run_pkg_name.find(distname.upper().replace("OS", "")) == -1:

#            logExit("Run package %s.tar.gz is inconsistent with os system %s." % (self.run_pkg_name, distname))


gaussDB單機版的登陸介面和使用習慣是不是似曾相識 華為GaussDB T(Gaussdb 100) 安裝系列一,感覺還是熟悉的問道 華為GaussDB T(Gaussdb 100) 安裝系列一


後續gaussDB分散式安裝短文會繼續更新,大家一起玩兒起來,有問題一起溝通交流。



微信公眾號:IT那活兒

微信公眾號對應文章地址:https://mp.weixin.qq.com/s/SD1xdN31uuYvGwiE3m0u1w

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25964700/viewspace-2668114/,如需轉載,請註明出處,否則將追究法律責任。

相關文章