安装与卸载

目前 Yukon 2.0.2 版本支持商用数据库GaussDB主备版本和分布式版本,以及开源数据库openGauss和PostgreSQL。 在安装 Yukon 之前必须先安装数据库。 商用数据库GaussDB请联系高斯数据库服务提供商,Yukon for GaussDB版本请登陆华为云商店- 禹贡

Note

稳定性更优,支持麒麟和欧拉不同架构多个版本的操作系统并且兼容O和PG两种数据库平台兼容模式。

数据库安装成功后,开始 Yukon 产品的安装。

获取安装包

  1. 通过华为云商店获取 禹贡 安装包或联系高斯数据库服务提供商获取相关GIS配套服务。

    其他数据库版本下载地址:

    链接: https://pan.baidu.com/s/19uXmbXQwgObRYyCPtdm51w?pwd=pxhv 提取码: pxhv

  2. 检查安装包
    解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令:
    mkdir yukon
    tar -xf Yukon-2.0.1-xxx-xxx.tar.gz -C yukon
    ls -l yukon
    

    执行 ls 命令,显示类似如下信息:

    ls -l
    drwxr-xr-x   8 root root     138 Dec 29 21:52 .
    dr-xr-x---. 20 root root    4096 Dec 30 14:33 ..
    drwxr-xr-x   2 root root      75 Dec 29 21:52 bin
    drwxr-xr-x   2 root root     278 Dec 29 21:52 data
    drwxr-xr-x   2 root root    8192 Dec 29 21:52 extension
    -rw-r--r--   1 root root 7649776 Dec 29 21:52 Yukon 2.0.1 产品文档.pdf
    -rw-r--r--   1 root root    4367 Dec 29 21:52 install.sh
    drwxr-xr-x   2 root root     220 Dec 29 21:52 lib
    drwxr-xr-x   2 root root    4096 Dec 29 21:52 license
    drwxr-xr-x   2 root root    4096 Dec 29 21:52 yukon_dep
    

软硬件环境要求

硬件环境要求

硬件环境建议参考 openGauss 的硬件环境要求

软件环境要求

软件类型

配置描述





Linux 操作系统



ARM:
- Euler 2.9、2.10
- 麒麟 v10
- UnionTech20
X86:
- Euler 2.5、2.10
- 麒麟 v10
- UnionTech20
数据库
- GauassDB 505.1.0

GaussDB相关GUC参数要求

GUC参数详细说明和设置方法请参考GaussDB官方文档。

1、检查兼容性配置参数behavior_compat_options,关闭部分GUC兼容性配置项,如果未关闭可能会出现插件功能不可用或执行结果异常的情况。

具体参数如下:

allow_procedure_compile_check

proc_implicit_for_loop_variable

plpgsql_dependency

proc_outparam_override

2、检查数据库B模式兼容性行为配置项,关闭部分兼容性配置项,如果未关闭可能会出现插件功能不可用或执行结果异常的情况。

具体参数如下:

b_format_behavior_compat_options

b_format_dev_version

b_format_version

3、检查GUC参数是否符合以下取值要求

enable_default_ustore_table=off

说明:目前不支持ustore存储模式,默认值为on,需要关闭设置为off。

allow_create_sysobject = on

说明:默认值为on,如关闭需要重新开启为on

设置是否允许在系统模式下创建或修改函数、存储过程、同义词、聚合函数、操作符等对象。

此处的系统模式指数据库初始后自带的模式,但不包含public模式。系统模式的oid通常小于16384。

•on表示允许初始用户和系统管理员在系统模式下创建或修改函数、存储过程、同义词、聚合函数等对象,并允许初始用户在系统模式下创建操作符。sysadmin用户具有默认CREATE OR REPLACE/ALTER/GRANT/REVOKE系统对象的权限。其他用户是否允许创建这些对象请参考对应模式的权限要求。

•off表示禁止所有用户在系统模式下创建或修改函数、存储过程、同义词、聚合函数、操作符等对象。sysadmin用户不具有默认CREATE OR REPLACE/ALTER/GRANT/REVOKE系统对象的权限。

check_function_bodies = on

说明:设置是否在CREATE FUNCTION执行过程中进行函数体字符串的合法性验证。为了避免产生问题(比如避免从转储中恢复函数定义时向前引用的问题),偶尔会禁用验证。开启后主要验证存储过程中PLSQL的词语法问题,包括数据类型、语句和表达式等,对于其中出现的SQL则在Create阶段不做检查而采用了运行时检查的方式

默认值:on,表示在CREATE FUNCTION执行过程中进行函数体字符串的合法性验证。

convert_string_to_digit = on

说明:设置隐式转换优先级,是否优先将字符串转为数字。默认值:on,优先将字符串转为数字。

enable_extension = off

说明:控制是否支持创建数据库扩展插件。默认值:off,不支持创建数据库扩展插件。

array_nulls = on

说明:控制数组输入解析器是否将未用引用的NULL识别为数组的一个NULL元素。

enable_codegen=off 说明:请设置为off。不支持开启。

backslash_quote = ‘safe_encoding’

说明:控制字符串文本中的单引号是否能够用’表示。默认值:safe_encoding,表示仅在客户端字符集编码不会在多字节字符末尾包含的ASCII值时允许。

bytea_output = ‘hex’

说明:设置bytea类型值的输出格式。默认值:hex,将二进制数据编码为每字节2位十六进制数字。

recovery_max_workers = 1

说明:设置最大并行回放线程个数。默认值:4,不支持并行回放,请修改为1。

recovery_redo_workers = 1

说明:极致RTO特性中每个ParseRedoRecord线程对应的PageRedoWorker数量。默认值:1,不支持并行回放,若有修改请恢复默认设置。

standard_conforming_strings = on

说明:控制普通字符串文本(’…’)中是否按照SQL标准把反斜扛当普通文本。默认值:on。

support_extended_features = off

说明:控制是否支持数据库的扩展特性。默认值:off,不支持数据库的扩展特性。

a_format_version= ‘’

说明:数据库平台兼容性,必须设为’‘,默认值即为空,若值为‘10c’会导致postgis_raster模块创建失败。

a_format_dev_version = ‘’

说明:数据库平台迭代小版本兼容性,必须设为’‘

plsql_compile_check_options = ‘’

说明:数据库兼容性行为配置项,默认值:’‘

enable_stream_operator = on

分布式下要使用 Gist 索引,需要设置为 on

安装包安装

Yukon支持GaussDB主备版本和分布式版本,以下说明针对两种版本的安装方法。

单节点安装

安装时请使用数据库所属用户,这里假设 GaussDB 数据库所属用户为 omm。

  1. 使用 omm 用户登录到 Yukon 包要安装的主机,解压 Yukon 压缩包到任意目录(假定目录为 /opt/software/yukon)

    tar -xf Yukon-2.0.1-xxx-xxx.tar.gz -C /opt/software/yukon
    
  2. 进入解压后的目录

    cd /opt/software/yukon
    

    Note

    注意检查文件夹权限,所属用户必须为第1步中的数据库所属用户,如果误操作为root用户,请及时使用正确用户重新解压!

3.检查数据库环境变量

--检查GAUSSHOME环境变量,输出结果是否为空以及是否正确
echo $GAUSSHOME

--检查PGDATA环境变量,输出结果是否为空以及是否正确
echo $PGDATA

--检查LD_LIBRARY_PATH环境变量,输出结果是否为空以及是否包含数据库lib目录
echo $LD_LIBRARY_PATH

4.配置数据库环境变量[可选]

如果检查数据库环境变量存在问题,请按照以下步骤重新配置PATH、LD_LIBRARY_PATH、PGDATA环境变量,并且配置后需要重新检查。

GaussDB数据库安装后会生成用户环境变量文件,PATH/LD_LIBRARY_PATH一般会自动加载,不需要手动; 如果遇到需要手动加载的情况,可直接source用户环境变量文件。

--手动source环境变量文件
source /home/omm/env_single
--设置PGDATA环境变量,需要根据数据库的数据目录datanode进行设置,可查看数据库配置文件cluster_config.xml
 export PGDATA=$GAUSSHOME/dn1
  1. 执行安装脚本安装 Yukon

    sh install.sh -i
    

    上述命令中使用 -i 参数表示安装,卸载时可使用 -r 参数。

  2. 安装完成后会显示如下界面

    \ \   / /     | |
     \ \_/ /_   _ | | __ ___   _ __
      \   /| | | || |/ // _ \ |  _ \
       | | | |_| ||   <| (_) || | | |
       |_|  \____||_|\_\\___/ |_| |_|
    
  3. 开始使用

    以上安装完成后,可以进入数据库初始化Yukon模块。

    --- 切换到 omm (数据库安装用户)
    su omm
    --- 连接到 postgres 数据库
    gsql -d postgres
    
    --- 查看yukon版本
    select yukon_version();
    --- 创建 postgis 扩展
    CREATE EXTENSION postgis;
    --- 创建 postgis_raster 扩展
    CREATE EXTENSION postgis_raster;
    -- 创建 SFCGAL 扩展
    CREATE EXTENSION postgis_sfcgal;
    -- 创建 topology 扩展
    CREATE EXTENSION postgis_topology;
    --- 创建 yukon_geomodel 扩展
    CREATE EXTENSION yukon_geomodel;
    --- 创建 yukon_geogridcoder 扩展
    CREATE EXTENSION yukon_geogridcoder;
    

多节点安装

主备版本和分布式版本的每个节点分别执行单节点安装,具体步骤参考“单节点安装”。

数据库参数修改

数据库参数的修改均位于数据目录下的 gaussdb.confgs_hba.conf 两个文件中,下面为假定的配置文件所在位置:

GaussDB

/opt/Gaussdb/cluster/dn1/gaussdb.conf
/opt/Gaussdb/cluster/dn1/gs_hba.conf
  1. 修改 GaussDB 的加密方式

    对于GaussDB 来说,需要将其加密方式改为 MD5,否则将会导致数据库工具软件无法连接。

    # GaussDB: /opt/Gaussdb/cluster/dn1/gaussdb.conf password_encryption_type 修改为 0 ,并取消注释
    password_encryption_type = 0
    
  2. 修改监听地址

    一般情况下,我们并不会只在本地连接到数据库,也会在其他主机连接数据库,因此,我们需要修改一下监听的网卡 IP 地址,使其他主机也能够连接到数据库。这里我们修改为 * 表示监听所有网卡地址。

    # /GaussDB: /opt/Gaussdb/cluster/dn1/gaussdb.conf
    listen_addresses = '*'          # what IP address(es) to listen on;
    
  3. 修改可接受的远程 IP 地址

    一般情况下,我们会通过 IP 将数据库可接受的连接接限制在某个范围。因此我们可以在 gs_hba.conf 加入下面的一行表示可接受位于 192.168.13.1/24 网段内的所有主机。如果想接受所有请求,可以将子网掩码设置为 0.

    # GaussDB: /opt/Gaussdb/cluster/dn1/gs_hba.conf
    host      all                             all              192.168.13.1/24                 md5
    
  4. GaussDB 数据库提供了gs_guc工具设置配置文件(“gaussdb.conf”、“gs_hba.conf”)中的参数,详见 openGauss

    Note

    gs_guc 工具不支持包含’.’符号的参数设置。例如:postgis.backend 无法通过 gs_guc 进行配置。可以通过 set 命令进行修改。

    数据库参数修改完成后重新启动数据库,使参数生效。

验证

在本节我们会使用一款开源的数据库工具软件 DBeaver(22.3.0) 来连接数据库。

  1. 创建用户

    • openGauss/GaussDB

      openGauss/GaussDB 在外部连接时不能使用 omm 用户,因此这里我们新建一个用户用于测试,后续您可以将其删除。

      1. 连接到数据库

        gsql -d postgres -p 5432
        
      2. 创建用户

        创建一个用户名为 test 密码为 Bigdata@123 的新用户。

        CREATE USER test with PASSWORD 'Bigdata@123' SYSADMIN;
        

        输出如下则说明创建成功:

        NOTICE:  The encrypted password contains MD5 ciphertext, which is not secure.
        CREATE ROLE
        

        如果没有输出 MD5 的提示,请检查是否将 openGauss/GaussDB 的加密方式修改为 MD5。

    • PostgreSQL

      1. 连接到数据库

        psql -d postgres -p 5432
        
      2. 创建用户

        创建一个用户名为 test 密码为 Bigdata@123 的新用户。

        CREATE USER test WITH PASSWORD 'Bigdata@123' Superuser;
        

        输出如下则说明创建成功:

        CREATE ROLE
        
  2. 新建一个 数据库连接

    这里我们统一使用 PostgreSQL JDBC 来连接数据库

    newconnection

  1. 输入数据库连接信息

    填写我们第一步创建好的用户信息

    userinfo

    在 Host 位置写入数据库主机的 IP 地址,在 Username 写入我们刚刚创建的用户名 test,在 Password 位置写入我们的密码 Bigdata@123

  2. 测试连接

    点击左下角的 Test Connection 测试是否可以连接到数据库。如果连接成功会显示数据库的信息。第一次连接时需要下载 JDBC 驱动,点击下载即可。

    driverdownload

    openGauss/GaussDB 连接成功时,显示如下:

    gs_connected

    PostgreSQL 连接成功时,显示如下:

    pg_connected

  3. 显示矢量数据

    DBeaver 自带了显示 GIS 数据的能力,我们可以使用他来查看 GIS 数据。

    首先创建 postgis 扩展

    CREATE EXTENSION POSTGIS;
    

    查询矢量数据

    select 'SRID=4326;Point(116.4034318 39.9237871)'::geometry;
    

    gisdisplay

升级

Yukon for gaussdb 目前所有扩展模块均为最新版本,无需进行扩展升级。

卸载

如果使用安装包进行安装,执行 sh install.sh -r 命令即可卸载,也可以使用yk_tool -r 进行卸载,详情见 yk_tool 工具说明 。

如果使用源码进行编译安装,在源码根目录下,执行命令 make uninstall 进行卸载。

如果使用 Docker 进行安装,直接删除 Docker 容器和镜像即可。

您也可以手动检查以下三个地方查看是否有卸载残留:

  • $GAUSSHOME/lib/gaussdb/ 目录下与 postgis 和 yukon 相关的文件

  • $GAUSSHOME/share/gaussdb/extension/ 目录下与 postgis 和 yukon 相关的文件

  • $GAUSSHOME/lib 目录下是否有yukon相关的三方库文件