安装与卸载 ========== 目前 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. | 检查安装包 | 解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令: .. code:: bash mkdir yukon tar -xf Yukon-2.0.1-xxx-xxx.tar.gz -C yukon ls -l yukon 执行 ls 命令,显示类似如下信息: .. code:: bash 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 的\ `硬件环境要求 `__\ 。 软件环境要求 ~~~~~~~~~~~~ +-----------------+-----------------------+ | 软件类型 | 配置描述 | +=================+=======================+ || || ARM: | || || - Euler 2.9、2.10 | || || - 麒麟 v10 | || || - UnionTech20 | || Linux 操作系统 || 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) .. code:: tar -xf Yukon-2.0.1-xxx-xxx.tar.gz -C /opt/software/yukon 2. 进入解压后的目录 .. code:: cd /opt/software/yukon .. note:: 注意检查文件夹权限,所属用户必须为第1步中的数据库所属用户,如果误操作为root用户,请及时使用正确用户重新解压! 3.检查数据库环境变量 .. code:: --检查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用户环境变量文件。 .. code:: --手动source环境变量文件 source /home/omm/env_single --设置PGDATA环境变量,需要根据数据库的数据目录datanode进行设置,可查看数据库配置文件cluster_config.xml export PGDATA=$GAUSSHOME/dn1 5. 执行安装脚本安装 Yukon .. code:: sh install.sh -i 上述命令中使用 ``-i`` 参数表示安装,卸载时可使用 ``-r`` 参数。 6. 安装完成后会显示如下界面 .. code:: \ \ / / | | \ \_/ /_ _ | | __ ___ _ __ \ /| | | || |/ // _ \ | _ \ | | | |_| || <| (_) || | | | |_| \____||_|\_\\___/ |_| |_| 7. 开始使用 以上安装完成后,可以进入数据库初始化Yukon模块。 .. code:: bash --- 切换到 omm (数据库安装用户) su omm --- 连接到 postgres 数据库 gsql -d postgres .. code:: sql --- 查看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.conf`` 和 ``gs_hba.conf`` 两个文件中,下面为假定的配置文件所在位置: GaussDB .. code:: bash /opt/Gaussdb/cluster/dn1/gaussdb.conf /opt/Gaussdb/cluster/dn1/gs_hba.conf 1. 修改 GaussDB 的加密方式 对于GaussDB 来说,需要将其加密方式改为 MD5,否则将会导致数据库工具软件无法连接。 .. code:: bash # GaussDB: /opt/Gaussdb/cluster/dn1/gaussdb.conf 将 password_encryption_type 修改为 0 ,并取消注释 password_encryption_type = 0 2. 修改监听地址 一般情况下,我们并不会只在本地连接到数据库,也会在其他主机连接数据库,因此,我们需要修改一下监听的网卡 IP 地址,使其他主机也能够连接到数据库。这里我们修改为 ``*`` 表示监听所有网卡地址。 .. code:: bash # /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. .. code:: bash # 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. 连接到数据库 .. code:: bash gsql -d postgres -p 5432 2. 创建用户 创建一个用户名为 test 密码为 Bigdata@123 的新用户。 .. code:: sql CREATE USER test with PASSWORD 'Bigdata@123' SYSADMIN; 输出如下则说明创建成功: .. code:: sql NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE 如果没有输出 MD5 的提示,请检查是否将 openGauss/GaussDB 的加密方式修改为 MD5。 - PostgreSQL 1. 连接到数据库 .. code:: bash psql -d postgres -p 5432 2. 创建用户 创建一个用户名为 test 密码为 Bigdata@123 的新用户。 .. code:: sql CREATE USER test WITH PASSWORD 'Bigdata@123' Superuser; 输出如下则说明创建成功: .. code:: sql 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 扩展 .. code:: sql CREATE EXTENSION POSTGIS; 查询矢量数据 .. code:: sql select 'SRID=4326;Point(116.4034318 39.9237871)'::geometry; |gisdisplay| 升级 ---- Yukon for gaussdb 目前所有扩展模块均为最新版本,无需进行扩展升级。 卸载 ---- 如果使用安装包进行安装,执行 ``sh install.sh -r`` 命令即可卸载,也可以使用yk_tool -r 进行卸载,详情见 :ref:`yk_toolremove_label` 工具说明 。 如果使用源码进行编译安装,在源码根目录下,执行命令 ``make uninstall`` 进行卸载。 如果使用 Docker 进行安装,直接删除 Docker 容器和镜像即可。 您也可以手动检查以下三个地方查看是否有卸载残留: - ``$GAUSSHOME/lib/gaussdb/`` 目录下与 postgis 和 yukon 相关的文件 - ``$GAUSSHOME/share/gaussdb/extension/`` 目录下与 postgis 和 yukon 相关的文件 - ``$GAUSSHOME/lib`` 目录下是否有yukon相关的三方库文件 .. |newconnection| image:: /../_static/images/newconnection.png :width: 600px .. |userinfo| image:: /../_static/images/userinfo.png :width: 600px .. |driverdownload| image:: /../_static/images/driverdownload.png :width: 600px .. |gs_connected| image:: /../_static/images/gs_connected.png :width: 600px .. |pg_connected| image:: /../_static/images/pg_connected.png :width: 600px .. |gisdisplay| image:: /../_static/images/gisdisplay.png :width: 600px