一、产品简介

GaussDB 200是一款具备分析及混合负载能力的分布式数据库,支持x86和Kunpeng硬件架构,支持行存储与列存储,提供PB(Petabyte)级数据分析能力、多模分析能力和实时处理能力,用于数据仓库、数据集市、实时分析、实时决策和混合负载(HTAP)等场景,广泛应用于金融、政府、电信等行业核心系统。

二、安装步骤

1.软件包:

FusionInsight_Manager_6.5.1_RHEL.tar.gz
FusionInsight_BASE_6.5.1_RHEL.tar.gz
GaussDB_200_6.5.1_RHEL.tar.gz
FusionInsight_SetupTool_6.5.1.tar.gz
FusionInsight_MPPDBMonitor_6.5.1_RHEL.tar.gz(可选)

将软件包移至/opt。

软件下载地址:
https://support.huawei.com/enterprise/zh/cloud-computing/gaussdb-200-pid-21407429/software
选择release6

或到网盘下载,链接:https://pan.baidu.com/s/14vtgSascEWgoISs1siu0-w 
提取码:41zy 

华为数据库相关工具下载地址:
https://support.huaweicloud.com/tg-dws/dws_07_0002.html

文档下载地址:
https://support.huawei.com/enterprise/zh/fusioninsight/gaussdb-200-pid-21407429?category=product-documentation-sets

 

2. 执行tar命令,解压软件包文件。

以root用户执行:

tar -zxvf FusionInsight_Manager_6.5.1_RHEL.tar.gz

tar -zxvf GaussDB_200_6.5.1_RHEL.tar.gz

tar -zxvf FusionInsight_SetupTool_6.5.1.tar.gz

3.拷贝安装包到packs路径

执行以下命令,分别将除Manager外的其他部件包拷贝至“/opt/FusionInsight_Manager/software/packs”路径下(如同时安装其他部件,需要一起拷贝)

cp FusionInsight_BASE_6.5.1_RHEL.tar.gz FusionInsight_MPPDB_6.5.1_RHEL.tar.gz FusionInsight_Manager/software/packs/

4.挂载操作系统镜像

mount /opt/CentOS-7-x86_64-DVD-1810.iso /media/ -o loop

如无ISO镜像,可使用yum预先安装软件包

手动安装对应的软件包,也可以一次安装所有依赖包,执行命令:

yum install acpid.x86_64 at.x86_64 attr.x86_64 autogen-libopts.x86_64 bc.x86_64 bind-libs.x86_64 bind-utils.x86_64 bridge-utils.x86_64 bzip2.x86_64 c-ares.x86_64 checkpolicy.x86_64 cifs-utils.x86_64 crash.x86_64 cryptsetup.x86_64 cups-client.x86_64 cvs.x86_64 cyrus-sasl.x86_64 cyrus-sasl-gssapi.x86_64 cyrus-sasl-plain.x86_64 ed.x86_64 gamin.x86_64 gdbm-devel.x86_64 glibc-devel.x86_64 glibc-headers.x86_64 gnutls.x86_64 hdparm.x86_64 hesiod.x86_64 http-parser.x86_64 iotop.noarch ipmitool.x86_64 iptables-services.x86_64 ipvsadm.x86_64 kernel-headers.x86_64 keyutils.x86_64 libasyncns.x86_64 libbasicobjects.x86_64 libcgroup.x86_64 libcollection.x86_64 libdb-devel.x86_64 libdhash.x86_64 libevent.x86_64 libgudev1.x86_64 libini_config.x86_64 libipa_hbac.x86_64 libitm.x86_64 libldb.x86_64 libmodman.x86_64 libnfsidmap.x86_64 libnl.x86_64 libpath_utils.x86_64 libpcap.x86_64 libproxy.x86_64 libref_array.x86_64 libreport-filesystem.x86_64 libsmbclient.x86_64 libsss_autofs.x86_64 libsss_certmap.x86_64 libsss_idmap.x86_64 libsss_nss_idmap.x86_64 libsss_sudo.x86_64 libtalloc.x86_64 libtar.x86_64 libtdb.x86_64 libtevent.x86_64 libtirpc.x86_64 libtool-ltdl.x86_64 libusb.x86_64 libusbx.x86_64 libwbclient.x86_64 libxml2-python.x86_64 lm_sensors-libs.x86_64 lsof.x86_64 m2crypto.x86_64 m4.x86_64 mailx.x86_64 mdadm.x86_64 mlocate.x86_64 net-snmp.x86_64 net-snmp-agent-libs.x86_64 net-snmp-libs.x86_64 net-snmp-utils.x86_64 nettle.x86_64 nscd.x86_64 nss_compat_ossl.x86_64 ntp.x86_64 ntpdate.x86_64 numactl.x86_64 numad.x86_64 oddjob.x86_64 oddjob-mkhomedir.x86_64 OpenIPMI.x86_64 OpenIPMI-libs.x86_64 OpenIPMI-modalias.x86_64 openldap-clients.x86_64 openldap-servers.x86_64 pam_krb5.x86_64 patch.x86_64 pax.x86_64 pciutils.x86_64 perl-Compress-Raw-Bzip2.x86_64 perl-Compress-Raw-Zlib.x86_64 perl-Data-Dumper.x86_64 perl-DBI.x86_64 perl-devel.x86_64 perl-ExtUtils-Install.noarch perl-ExtUtils-MakeMaker.noarch perl-ExtUtils-Manifest.noarch perl-ExtUtils-ParseXS.noarch perl-IO-Compress.noarch perl-Net-Daemon.noarch perl-PlRPC.noarch perl-Test-Harness.noarch perl-version.x86_64 pm-utils.x86_64 portreserve.x86_64 procmail.x86_64 psmisc.x86_64 pygobject2.x86_64 pyOpenSSL.x86_64 pyparsing.noarch pytalloc.x86_64 python-chardet.noarch python-dateutil.noarch python-dmidecode.x86_64 python-ethtool.x86_64 python-kitchen.noarch python-sssdconfig.noarch pytz.noarch quota.x86_64 quota-nls.noarch redhat-lsb-core.x86_64 redhat-lsb-submod-security.x86_64 rng-tools.x86_64 rpcbind.x86_64 rsync.x86_64 samba-client-libs.x86_64 samba-common.noarch samba-common-libs.x86_64 sdparm.x86_64 sendmail.x86_64 sg3_utils-libs.x86_64 smartmontools.x86_64 spax.x86_64 sssd.x86_64 sssd-ad.x86_64 sssd-client.x86_64 sssd-common.x86_64 sssd-common-pac.x86_64 sssd-ipa.x86_64 sssd-krb5.x86_64 sssd-krb5-common.x86_64 sssd-ldap.x86_64 sssd-proxy.x86_64 stix-fonts.noarch sysstat.x86_64 system-config-firewall-base.noarch systemtap-sdt-devel.x86_64 tcp_wrappers.x86_64 time.x86_64 traceroute.x86_64 trousers.x86_64 unixODBC.x86_64 unzip.x86_64 usermode.x86_64 yum-utils.noarch zip.x86_64 expect -y

5.配置系统变量、用户

 

创建omm用户

将要安装GaussDB 200的节点上的“/opt/FusionInsight_SetupTool/preset”文件夹拷贝至节点的“/opt”目录,并在所有节点上执行sh /opt/preset/preset.sh命令

 

cp -r /opt/FusionInsight_SetupTool/preset /opt && sh /opt/preset/preset.sh

[root@gaussdb02 opt]# cp -r /opt/FusionInsight_SetupTool/preset /opt && sh /opt/preset/preset.sh
start to preSet
success to preSet.

修改属主

在要安装GaussDB 200的节点上,以root用户执行以下命令:

修改软件包解压后生成的目录“/opt/FusionInsight_Manager/”的属主:

chown omm: /opt/FusionInsight_Manager/ -R

修改软件包解压后生成的目录“/opt/FusionInsight_SetupTool”的属主:

chown omm: /opt/FusionInsight_SetupTool -R

修改操作系统配置文件

修改preinstall.ini文件

vim /opt/FusionInsight_SetupTool/preinstall/preinstall.ini

内容如下所示:

g_hosts="你的机器IP" 
g_parted=0 
g_parted_conf="你的机器IP:host0.ini;" 
g_hostname_conf="你的机器IP:你的机器IP:你的机器hostname;" 
g_add_pkg=1 
g_pkgs_dir="centos-7.6:/media/" 
g_swap_off=1 
g_user_name="root" 
g_port=22 
g_log_file="/tmp/fi-preinstall.log" 
g_check=1 
g_debug=0 
g_wce_conf=0 
g_platform="x86_64" 
g_optimize="default" 
g_kms_conf=0 
g_core_dump=0 
g_core_dump_dir="/var/log/core"

创建host0.ini文件

vim /opt/FusionInsight_SetupTool/preinstall/partition/ini/host0.ini

内容如下所示:

#mount               required    care    condition
dbdata_om.conf       y           y       n
backup_om.conf       y           y       n
mppdb1.conf          y           y       n

6、执行preinstall

cd /opt/FusionInsight_SetupTool && ./setuptool.sh preinstall -n

[root@gaussdb02 FusionInsight_SetupTool]# cd /opt/FusionInsight_SetupTool && ./setuptool.sh preinstall -n
Please enter cluster SSH password for root: 


**FusionInsight PreInstall is starting...

**********************************
*****FusionInsight Preinstall***** 
********************************** 
***** Time:9s 
***** Running:0 
***** Success:1 
***** Failure:0 
***** Total:1 
***** Schedule:100%

安装出现以下报错:

sysctl: cannot stat /proc/sys/net/nf_conntrack_max: No such file or directory

 解决方法:

[root@gaussdb02 software]# modprobe nf_conntrack    # 执行命令加载nf_conntrack 模块

[root@gaussdb02 software]# lsmod |grep nf_conntrack     #执行命令确认nf_conntrack 模块已经加载
nf_conntrack          133095  0 
libcrc32c              12644  2 xfs,nf_conntrack

7、安装单机Manager

vim /opt/FusionInsight_Manager/software/install.ini

内容如下所示:

[HA]
    ha_mode=single
    local_ip1=你的机器IP
    local_ip2=
    local_ip3=
    local_ip4=
    peer_ip1=
    peer_ip2=
    peer_ip3=
    peer_ip4=
    ws_float_ip=
    ws_float_ip_interface=
    ws_float_ip_netmask=
    ws_gateway=
    om_float_ip=
    om_float_ip_interface=
    om_float_ip_netmask=
    om_gateway=
    ntp_server_ip=
    om_mediator_ip=
    sso_ip=
    sso_port=
    bigdata_home=/opt/huawei/Bigdata     #集群安装目录,可自定义。
    bigdata_data_home=/srv/BigData       #集群数据目录,可自定义。
    cluster_nodes_scale=
    tls_protocol_min=
[/HA]

其中/srv/BigData 需要手动创建,执行

mkdir /srv/BigData

执行安装Manager命令,等待安装完成。

cd /opt/FusionInsight_Manager/software && ./install.sh -f /opt/FusionInsight_Manager/software/install.ini

 

[root@gaussdb02 software]# ./install.sh -f /opt/FusionInsight_Manager/software/install.ini
=================================== Welcome ===================================
=== STEP 1 Checking the parameters.
=== STEP 2 Preparing for installation components.                         [done]
=== STEP 3 Installing the manager.                                        [done]
=== STEP 4 Installing the packs.                                          [done]
=== STEP 5 Starting the OMS.                                              [done]
=== STEP 6 Waiting for ntp to startup.                                    [done]
=== STEP 7 Configuring and starting agent.                                [done]
============================= Install Successfully ============================
Please visit http://192.168.0.113:8080/web/ to continue cluster installation.
Installation is successful. 

8、执行单机版配置脚本

切换为omm用户

su - omm

进入单机版配置脚本所在目录,并运行脚本。

sh ${BIGDATA_HOME}/om-server/om/sbin/enable_single_host_cluster.sh

sh ${BIGDATA_HOME}/om-server/om/sbin/restart-controller.sh

[omm@gaussdb02 ~]$ sh ${BIGDATA_HOME}/om-server/om/sbin/enable_single_host_cluster.sh
[omm@gaussdb02 ~]$ sh ${BIGDATA_HOME}/om-server/om/sbin/restart-controller.sh
Restarting controller service using configuration /opt/huawei/Bigdata/om-server/om/sbin/../etc/om
Enter into stop-controller.sh
End into stop-controller.sh
Enter into start-controller.sh
Controller start with process id 25825.
End into start-controller.sh

9、在web控制台安装GaussDB

登录https://你的机器IP:28443/web     或     http://你的机器IP:8080/web

用户名:admin

密码:Admin@123

执行安装

 

 

 

 

 

 

 

下图mppdb.dn.slicefileDir为 /srv/BigData/mppdb/data1

 

 

 

三、安装配置客户端

登录FusionInsight Manager系统,在“集群”下拉列表中单击需要操作的集群名称。选

择“更多 > 下载客户端”,弹出“下载集群客户端”信息提示框。

拷贝到/opt/client并解压

cd /tmp/FusionInsight-Client

tar -xf FusionInsight_Cluster_1_Services_Client.tar

tar -xf FusionInsight_Cluster_1_Services_ClientConfig.tar

使用root用户安装

cd /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_ClientConfig

./install.sh /opt/mppdbclient

[root@gaussdb02 FusionInsight_Cluster_1_Services_ClientConfig]# ./install.sh /opt/mppdbclient
[20-04-30 15:00:56]: Pre-install check begin...
[20-04-30 15:00:56]: Checking necessary files and directory.
[20-04-30 15:00:56]: Checking NTP service status.
[20-04-30 15:00:56]: Checking "/etc/hosts" config.
awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.'
[20-04-30 15:00:56]: Pre-install check is complete.
[20-04-30 15:00:56]: Precheck on components begin...
[20-04-30 15:00:56]: Precheck on components is complete.
[20-04-30 15:00:56]: Deploy "dest_hosts" begin ...
[20-04-30 15:00:56]: Warning: "gaussdb02" already exists in "/etc/hosts", it will be overwritten.
[20-04-30 15:00:56]: Deploy "dest_hosts" is complete.
[20-04-30 15:00:56]: Install public library begin ...
[20-04-30 15:00:56]: Install components client begin ...
[20-04-30 15:00:56]: Install JDK begin ...
[20-04-30 15:00:56]: Decompress jdk.tar.gz to /opt/mppdbclient/JDK.
/opt/mppdbclient/JDK
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-Huawei_JDK_V100R001C00SPC060B003-b10)
OpenJDK 64-Bit Server VM (build 25.201-b10, mixed mode)
[20-04-30 15:01:00]: Create JRE env file "/opt/mppdbclient/JDK/component_env".
[20-04-30 15:01:00]: JDK installation is complete.
[20-04-30 15:01:00]: Warning: /opt/client/FusionInsight_Cluster_1_Services_ClientConfig/JDK/VERSION not exist.
[20-04-30 15:01:00]: Install KrbClient begin ...
[20-04-30 15:01:00]: Copy /opt/client/FusionInsight_Cluster_1_Services_ClientConfig/KrbClient/FusionInsight-kerberos-1.17.tar.gz to /opt/mppdbclient/KrbClient.
/opt/client/FusionInsight_Cluster_1_Services_ClientConfig/KrbClient
[20-04-30 15:01:00]: Copy KRB config files to "/opt/mppdbclient/KrbClient/kerberos/conf"
[20-04-30 15:01:00]: Copy security script files to "/opt/mppdbclient/KrbClient/kerberos/bin"
[20-04-30 15:01:00]: Create KRB env file "/opt/mppdbclient/KrbClient/component_env".
[20-04-30 15:01:00]: KrbClient installation is complete.
[20-04-30 15:01:00]: Install MPPDB begin ...
[20-04-30 15:01:00]: Decompress GaussDB-Kernel-V300R002C00-REDHAT-64bit-ClientTools.tar.gz to /opt/mppdbclient/MPPDB.
[20-04-30 15:01:01]: Copy config files to "/opt/mppdbclient/MPPDB/"
[20-04-30 15:01:01]: Begin to update the client ssl certificates.
[20-04-30 15:01:01]: Success to update the client ssl certificates.
[20-04-30 15:01:01]: Create MPP env file "/opt/mppdbclient/MPPDB/component_env".
[20-04-30 15:01:01]: MPPDB installation is complete.
[20-04-30 15:01:01]: Components client installation is complete.

访问数据库:

su - omm

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

gsql -d postgres -p 25308

四、GaussDB的连接与使用

确认连接信息

操作系统用户 omm 登录主机。执行以下命令查询集群各实例情况。

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile   
gs_om -t status --detail

[omm@gauessdb03 ~]$ source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile 
[omm@gauessdb03 ~]$ gs_om -t status --detail
[  CMServer State   ]

node          node_ip         instance                                    state
---------------------------------------------------------------------------------
1  gauessdb03 192.168.0.113   1    /opt/huawei/Bigdata/mppdb/cm/cm_server Primary

[   Cluster State   ]

cluster_state   : Normal
redistributing  : No
balanced        : Yes

[ Coordinator State ]

node          node_ip         instance                                  state
-------------------------------------------------------------------------------
1  gauessdb03 192.168.0.113   5001 /srv/BigData/mppdb/data1/coordinator Normal

[ Central Coordinator State ]

node          node_ip         instance                                  state
-------------------------------------------------------------------------------
1  gauessdb03 192.168.0.113   5001 /srv/BigData/mppdb/data1/coordinator Normal

[     GTM State     ]

node          node_ip         instance                           state     
---------------------------------------------------------------------------
1  gauessdb03 192.168.0.113   1001 /opt/huawei/Bigdata/mppdb/gtm P Primary 
[  Datanode State   ]

node          node_ip         instance                              state
---------------------------------------------------------------------------------------
1  gauessdb03 192.168.0.113   6001 /srv/BigData/mppdb/data1/master1 P Primary Normal
1  gauessdb03 192.168.0.113   6002 /srv/BigData/mppdb/data1/master2 P Primary Normal
1  gauessdb03 192.168.0.113   6003 /srv/BigData/mppdb/data1/master3 P Primary Normal
1  gauessdb03 192.168.0.113   6004 /srv/BigData/mppdb/data1/master4 P Primary Normal
1  gauessdb03 192.168.0.113   6005 /srv/BigData/mppdb/data1/master5 P Primary Normal
1  gauessdb03 192.168.0.113   6006 /srv/BigData/mppdb/data1/master6 P Primary Normal

部署了 CN 实例的服务器 IP 地址分别为 192.168.0.113。CN 数据路径为“/srv/BigData/mppdb/data1/coordinator”。

确认CN的端口号。

在 2 查到的 CN 数据路径下的 postgresql.conf 文件中查看端口号信息。示例如下:cat /srv/BigData/mppdb/data1/coordinator/postgresql.conf | grep ”port “

[omm@gauessdb03 ~]$ cat /srv/BigData/mppdb/data1/coordinator/postgresql.conf | grep "port "
port = 25308				# (change requires restart)
comm_sctp_port = 25310
comm_control_port = 25311
gtm_port = 25304			# Port of GTM
pooler_port = 25309

25308 为 CN 的端口号。

创建数据库用户
默认只有集群安装时创建的管理员用户可以访问初始数据库,您还可以创建其他数据库用户帐号。

CREATE USER test WITH PASSWORD "Test@123";

当结果显示为如下信息,则表示创建成功。

REATE ROLE 

如上创建了一个用户名为 test 密码为 Test@123 的用户。

创建数据库

REATE DATABASE db_test; 

当结果显示为如下信息,则表示创建成功。

CREATE DATABASE

执行 \q 命令退出客户端。

使用新建的用户登录db_test库:

gsql -d db_test -p 25308 -U test -W Test@123

db_test=>

 

创建表
创建一个名称为 mytable,只有一列的表。字段名为 firstcol,字段类型为 integer。

db_tpcds=> CREATE TABLE myfirsttable (col1 int); 

未使用“DISTRIBUTE BY”指定分布列时,系统默认会指定第一列为分布列,且给出提示系统返回信息以“CREATE TABLE”结束,表示创建表成功。

NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'col1' as the distribution column by default. HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. CREATE TABLE 

向表中插入数据:

b_tpcds=> INSERT INTO myfirsttable values (100); 

当结果显示为如下信息,则表示插入数据成功。

INSERT 0 1 

查看表中数据:

b_test=> SELECT * from myfirsttable; 
col1 
---------- 
100 
(1 row) 

远程连接使用操作系统用户 omm 登录 CN 所在主机,执行
source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile 

命令启动环境变量。
a. 使用如下命令查看 CN 目前的 listen_addresses 配置。

gs_guc check -Z coordinator -I all -c "listen_addresses" 

查询到的信息类似如下:

xpected guc information: plat1: listen_addresses=NULL: [/gaussdb/data/data_cn/postgresql.conf] gs_guc check: plat1: listen_addresses='localhost, 192.168.0.113': [/gaussdb/data/data_cn/postgresql.conf] Total GUC values: 1. Failed GUC values: 0. The value of parameter listen_addresses is same on all instances. listen_addresses='localhost, 192.168.0.113' 

b. 使用如下命令把要添加的 IP 追加到 listen_addresses 后面,多个配置项之间用英文逗号分隔。例如,追加 IP 地址 192.168.0.140。

gs_guc set -I all -Z coordinator -c "listen_addresses='localhost,192.168.0.113,192.168.0.140'" 

此时,请求主机的 ip 已被放入白名单中,接下来需要配置下连接配置。
2. 配置每个用户请求每个数据库的配置信息

  • 背景:如果主机需要远程连接数据库,必须在数据库系统的配置文件中增加此主机的信息,并且进行客户端接入认证。配置文件(默认名称为 pg_hba.conf)存放在数据库的数据目录里。hba(host-based authentication)表示是基于主机的认证。
  • 基于主机的认证:服务器端根据客户端的 IP 地址、用户名及要访问的数据库来查看配置文件从而判断用户是否通过认证。
  • “pg_hba.conf”文件的格式是一行写一条信息,表示一个认证规则,空白和注释(以 # 开头)被忽略。
  • 示例:
    操作系统用户 omm 登录 CN 所在主机,执行
source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile 

命令启动环境变量。

  • 配置客户端认证方式,允许客户端以“test”用户连接到本机,此处远程连接禁止使用“omm”用户。
    例如,下面示例中配置允许 IP 地址为 192.168.0.140 的客户端访问本机。
gs_guc set -Z coordinator -N all -I all -h "host all test 192.168.0.140/32 sha256"

o -Z coordinator 表示实例类型为 coordinator。
o -N all 表示集群的所有主机。
o -I all 表示主机的所有实例。
o -h 表示指定需要在“pg_hba.conf”增加的语句。
o all 表示允许客户端连接到任意的数据库。
o test 表示连接数据库的用户
o sha256 为加密算法(加密密码)

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐