Greenplum 6 软件包目录畅游(中)

看文章是不是看出了电视连续剧的感觉😊,工作太忙了哈,拆开来一点点的给大家分享。

上一片文章《Greenplum 6 软件包目录畅游(上)》 主要介绍了rpm安装完后的目录及目录下的bin子目录。今天来介绍剩下的其他目录的作用。

首先还是来看一下软件包下面的所有目录情况。

[gpadmin@gp1 greenplum-db]$ ls -al
总用量 160
drwxr-xr-x  11 root root    187 12月 17 11:24 .
drwxr-xr-x. 14 root root    187 12月 17 11:24 ..
drwxr-xr-x   7 root root   4096 12月 17 11:24 bin
drwxr-xr-x   3 root root     22 12月 17 11:24 docs
drwxr-xr-x   2 root root     60 12月 17 11:24 etc
drwxr-xr-x   3 root root     20 12月 17 11:24 ext
-rwxr-xr-x   1 root root    783 12月 17 11:24 greenplum_path.sh
drwxr-xr-x   4 root root   4096 12月 17 11:24 include
drwxr-xr-x   6 root root   4096 12月 17 11:24 lib
-rw-r--r--   1 root root 135617 12月 13 02:57 open_source_license_pivotal_greenplum.txt
drwxr-xr-x   7 root root     93 12月 17 11:24 pxf
drwxr-xr-x   2 root root   4096 12月 17 11:24 sbin
drwxr-xr-x   5 root root     52 12月 17 11:24 share

docs目录

该目录下主要存储的是bin目录下管理命令的帮助信息,普通使用用户毋需关心该目录下的内容。大体浏览一下:

[gpadmin@gp1 greenplum-db]$ ls -al
总用量 160
drwxr-xr-x  11 root root    187 12月 17 11:24 .
drwxr-xr-x. 14 root root    187 12月 17 11:24 ..
drwxr-xr-x   7 root root   4096 12月 17 11:24 bin
drwxr-xr-x   3 root root     22 12月 17 11:24 docs
drwxr-xr-x   2 root root     60 12月 17 11:24 etc
drwxr-xr-x   3 root root     20 12月 17 11:24 ext
-rwxr-xr-x   1 root root    783 12月 17 11:24 greenplum_path.sh
drwxr-xr-x   4 root root   4096 12月 17 11:24 include
drwxr-xr-x   6 root root   4096 12月 17 11:24 lib
-rw-r--r--   1 root root 135617 12月 13 02:57 open_source_license_pivotal_greenplum.txt
drwxr-xr-x   7 root root     93 12月 17 11:24 pxf
drwxr-xr-x   2 root root   4096 12月 17 11:24 sbin
drwxr-xr-x   5 root root     52 12月 17 11:24 share
[gpadmin@gp1 greenplum-db]$ ls -al docs
总用量 4
drwxr-xr-x  3 root root   22 12月 17 11:24 .
drwxr-xr-x 11 root root  187 12月 17 11:24 ..
drwxr-xr-x  3 root root 4096 12月 17 11:24 cli_help
[gpadmin@gp1 greenplum-db]$ ls -al docs/cli_help/
总用量 212
drwxr-xr-x 3 root root  4096 12月 17 11:24 .
drwxr-xr-x 3 root root    22 12月 17 11:24 ..
-rwxr-xr-x 1 root root  4752 12月 13 02:57 gpactivatestandby_help
-rwxr-xr-x 1 root root  7678 12月 13 02:57 gpaddmirrors_help
-rwxr-xr-x 1 root root  9221 12月 13 02:57 gpcheckperf_help
-rwxr-xr-x 1 root root  6970 12月 13 02:57 gpconfig_help
drwxr-xr-x 2 root root  4096 12月 17 11:24 .....
..........
..........
..........

docs/gpconfigs目录

docs目录下的gpconfigs子目录还蛮重要的,认真看过官方文档的人肯定会有印象,里面不止一次的设计到过从这个目录下复制参考示例,作为数据库初始化配置等操作的模版文件。

[gpadmin@gp1 docs]$ ls -al cli_help/gpconfigs/
总用量 60
drwxr-xr-x 2 root root 4096 12月 17 11:24 .
drwxr-xr-x 3 root root 4096 12月 17 11:24 ..
-rwxr-xr-x 1 root root 2426 12月 13 02:57 gpinitsystem_config
-rwxr-xr-x 1 root root 4511 12月 13 02:57 gpinitsystem_singlenode
-rwxr-xr-x 1 root root 2325 12月 13 02:57 gpinitsystem_test
-rwxr-xr-x 1 root root  359 12月 13 02:57 hostfile_exkeys
-rwxr-xr-x 1 root root  119 12月 13 02:57 hostfile_gpchecknet_ic1
-rwxr-xr-x 1 root root  119 12月 13 02:57 hostfile_gpchecknet_ic2
-rwxr-xr-x 1 root root   87 12月 13 02:57 hostfile_gpcheckperf
-rwxr-xr-x 1 root root  255 12月 13 02:57 hostfile_gpexpand
-rwxr-xr-x 1 root root  237 12月 13 02:57 hostfile_gpinitsystem
-rwxr-xr-x 1 root root   96 12月 13 02:57 hostfile_gpssh_allhosts
-rwxr-xr-x 1 root root   87 12月 13 02:57 hostfile_gpssh_segonly
-rwxr-xr-x 1 root root   44 12月 13 02:57 hostlist_singlenode

ext目录

该目录用来存放python基础环境及一些扩展包。Greenplum为了与操作系统自身的python环境区别开,特意在安装包中集成了python 2.7(目前还是采用的python 2.7作为执行器),这样就可以直接使用自带的python来运行一些管理维护工具(基于python写的工具,例如:gpload、gpstart等)。

[gpadmin@gp1 greenplum-db]$ ls -al ext/python/
总用量 0
drwxr-xr-x 6 root root  56 12月 17 11:24 .
drwxr-xr-x 3 root root  20 12月 17 11:24 ..
drwxr-xr-x 2 root root 189 12月 17 11:24 bin
drwxr-xr-x 3 root root  23 12月 17 11:24 include
drwxr-xr-x 4 root root  90 12月 17 11:24 lib
drwxr-xr-x 3 root root  17 12月 17 11:24 share

这里需要特别注意,不要采用root用户来运行Greenplum,也不要将source greenplum_path.sh放到整个Linux系统的/etc/profile中去,如果你已经这么做了,请尽快修改,因为这会导致系统其他用户(尤其是root),也采用Greenplum自带的python,最简单的后果就是可能会影响到root用户的yum不能正常使用。

上面提到了《不要将source greenplum_path.sh放到整个Linux系统的/etc/profile中去》,因为这个配置文件中有一步是重置pythonhome,你可以自己打开去确认,这里截取部分代码,如下:

#setup PYTHONHOME
if [ -x $GPHOME/ext/python/bin/python ]; then
    PYTHONHOME="$GPHOME/ext/python"
    export PYTHONHOME
fi

greenplum_path.sh文件

该文件主要用来设置环境变量,代码如下,设置的环境变量分别为:

  • GPHOME – Greenplum安装的绝对路径
  • GPHOME – 更新GPHOME为软连接路径
  • PYTHONHOME – 设置Greenplum操作系统用户使用的Python执行器为GP自带(上面提到了)
  • OPENSSL_CONF – 设置openssl配置文件路径
  • LD_LIBRARY_PATH – 更新该变量,添加Python库
  • PATH – 更新该变量,增加GP和Python命令
GPHOME=/usr/local/greenplum-db-6.2.1

# Replace with symlink path if it is present and correct
if [ -h ${GPHOME}/../greenplum-db ]; then
    GPHOME_BY_SYMLINK=`(cd ${GPHOME}/../greenplum-db/ && pwd -P)`
    if [ x"${GPHOME_BY_SYMLINK}" = x"${GPHOME}" ]; then
        GPHOME=`(cd ${GPHOME}/../greenplum-db/ && pwd -L)`/.
    fi
    unset GPHOME_BY_SYMLINK
fi
#setup PYTHONHOME
if [ -x $GPHOME/ext/python/bin/python ]; then
    PYTHONHOME="$GPHOME/ext/python"
    export PYTHONHOME
fi
PYTHONPATH=$GPHOME/lib/python
PATH=$GPHOME/bin:$PYTHONHOME/bin:$PATH
LD_LIBRARY_PATH=$GPHOME/lib:$PYTHONHOME/lib:${LD_LIBRARY_PATH-}
export LD_LIBRARY_PATH
if [ -e $GPHOME/etc/openssl.cnf ]; then
OPENSSL_CONF=$GPHOME/etc/openssl.cnf
export OPENSSL_CONF
fi
export GPHOME
export PATH
export PYTHONPATH

include目录

头文件,这个目录下的头文件基本都是一些公共函数文件,例如libpq、zstd都有是现成的。不多解释,非开发人员也不会用到,开发人员自然懂🤦‍♂️。

[gpadmin@gp1 greenplum-db]$ ls -al include
总用量 328
drwxr-xr-x  4 root root  4096 12月 17 11:24 .
drwxr-xr-x 11 root root   187 12月 17 11:24 ..
-rwxr-xr-x  1 root root   714 12月 13 02:57 ecpg_config.h
-rwxr-xr-x  1 root root  2540 12月 13 02:57 ecpgerrno.h
-rwxr-xr-x  1 root root  2758 12月 13 02:57 ecpg_informix.h
-rwxr-xr-x  1 root root  2607 12月 13 02:57 ecpglib.h
-rwxr-xr-x  1 root root  2621 12月 13 02:57 ecpgtype.h
-rwxr-xr-x  1 root root   778 12月 13 02:57 gppc_config.h
-rwxr-xr-x  1 root root 65607 12月 13 02:57 gppc.h
drwxr-xr-x  2 root root    24 12月 17 11:24 libpq
-rwxr-xr-x  1 root root  2208 12月 13 02:57 libpq-events.h
-rwxr-xr-x  1 root root 22057 12月 13 02:57 libpq-fe.h
-rwxr-xr-x  1 root root   323 12月 13 02:57 pg_config_ext.h
-rwxr-xr-x  1 root root 33050 12月 13 02:57 pg_config.h
-rwxr-xr-x  1 root root 10616 12月 13 02:57 pg_config_manual.h
-rwxr-xr-x  1 root root  1052 12月 13 02:57 pg_config_os.h
-rwxr-xr-x  1 root root   787 12月 13 02:57 pgtypes_date.h
-rwxr-xr-x  1 root root   530 12月 13 02:57 pgtypes_error.h
-rwxr-xr-x  1 root root   222 12月 13 02:57 pgtypes.h
-rwxr-xr-x  1 root root  1164 12月 13 02:57 pgtypes_interval.h
-rwxr-xr-x  1 root root  2249 12月 13 02:57 pgtypes_numeric.h
-rwxr-xr-x  1 root root  1031 12月 13 02:57 pgtypes_timestamp.h
-rwxr-xr-x  1 root root  2144 12月 13 02:57 postgres_ext.h
drwxr-xr-x  5 root root    52 12月 17 11:24 postgresql
-rwxr-xr-x  1 root root   834 12月 13 02:57 sql3types.h
-rwxr-xr-x  1 root root  1276 12月 13 02:57 sqlca.h
-rwxr-xr-x  1 root root  1583 12月 13 02:57 sqlda-compat.h
-rwxr-xr-x  1 root root   317 12月 13 02:57 sqlda.h
-rwxr-xr-x  1 root root   820 12月 13 02:57 sqlda-native.h
-rwxr-xr-x  1 root root  3715 12月 13 02:57 zstd_errors.h
-rwxr-xr-x  1 root root 94270 12月 13 02:57 zstd.h

未完待续~

“Greenplum 6 软件包目录畅游(中)”的一个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注