暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mogdb的自定义部署

原创 呵呵 2022-02-06
840

有这样的需求,就是有时候不想安装mogdb的om的方式去安装这个mogdb实例,需要按照自己的需求去部署mogdb,这里面就产生了自定义部署的问题,需要自己去自定义部署mogdb实例,这个实例可以是单实例也可以是主备的。

自定义部署mogdb单实例

  • 设置LD_LIBRARY_PATH环境变量
  • 设置数据目录data,祝好是data和wal log分别存放在不通的磁盘上面
  • 设置数据目录的权限,最好设置为700
  • 不能使用超级用户root来执行gs_initdb命令
    [root@mogdb001 mogdb]# /opt/soft/mogdb/bin/gs_initdb -D /mogdb/data/ --nodename=test
    gs_initdb: cannot be run as root
    Please log in (using, e.g., “su”) as the (unprivileged) user that will
    own the server process.

示例:
[root@mogdb001 mogdb]# su - omm
Last login: Sun Feb 6 18:24:59 CST 2022 on pts/0
[omm@mogdb001 ~]$ ls
[omm@mogdb001 ~]$ echo $LD_LIBRARY_PATH

[omm@mogdb001 ~]$ export LD_LIBRARY_PATH=/opt/soft/mogdb/lib
[omm@mogdb001 ~]$ echo $LD_LIBRARY_PATH
/opt/soft/mogdb/lib

[omm@mogdb001 ~]$ /opt/soft/mogdb/bin/gs_initdb -D /mogdb/data/ --nodename=test
The files belonging to this database system will be owned by user “omm”.
This user must also own the server process.

The database cluster will be initialized with locale “en_US.UTF-8”.
The default database encoding has accordingly been set to “UTF8”.
The default text search configuration will be set to “english”.

fixing permissions on existing directory /mogdb/data … ok
creating subdirectories … ok
selecting default max_connections … 100
selecting default shared_buffers … 32MB
creating configuration files … ok
Begin init undo subsystem meta.
[INIT UNDO] Init undo subsystem meta successfully.
creating template1 database in /mogdb/data/base/1 … 2022-02-06 18:40:21.170 [unknown] [unknown] localhost 140480090060352 0[0:0#0] [BACKEND] WARNING: macAddr is 22/1040399274, sysidentifier is 1457667/1001050553, randomNum is 416928185
ok
initializing pg_authid … ok
setting password … ok
initializing dependencies … ok
loading PL/pgSQL server-side language … ok
creating system views … ok
creating performance views … ok
loading system objects’ descriptions … ok
creating collations … ok
creating conversions … ok
。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。
update system tables … ok
creating snapshots catalog … ok
vacuuming database template1 … ok
copying template1 to template0 … ok
copying template1 to postgres … ok
freezing database template0 … ok
freezing database template1 … ok
freezing database postgres … ok

WARNING: enabling “trust” authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
–auth-local and --auth-host, the next time you run gs_initdb.

Success. You can now start the database server of single node using:

/opt/soft/mogdb/bin/mogdb -D /mogdb/data --single_node
复制

or
/opt/soft/mogdb/bin/gs_ctl start -D /mogdb/data -Z single_node -l logfile

建议使用该方式启动mogdb数据库实例
/opt/soft/mogdb/bin/gs_ctl start -D /mogdb/data -Z single_node -l logfile

在启动的时候也会有问题,比如:
[omm@mogdb001 ~]$ /opt/soft/mogdb/bin/gs_ctl start -D /mogdb/data -Z single_node -l logfile
[2022-02-06 18:45:15.429][1783][][gs_ctl]: gs_ctl started,datadir is /mogdb/data
[2022-02-06 18:45:15.500][1783][][gs_ctl]: waiting for server to start…
.[2022-02-06 18:45:16.500][1783][][gs_ctl]: waitpid 1786 failed, exitstatus is 256, ret is 2

[2022-02-06 18:45:16.500][1783][][gs_ctl]: stopped waiting
[2022-02-06 18:45:16.500][1783][][gs_ctl]: could not start server
Examine the log output.

这个时候查看logfile ,发现没有GAUSSHOME的环境变量 [BACKEND] FATAL: Get environment of GAUSSHOME failed.
设置环境变量 export GAUSSHOME=/opt/soft/mogdb
[omm@mogdb001 ~]$ /opt/soft/mogdb/bin/gs_ctl start -D /mogdb/data -Z single_node -l logfile
[2022-02-06 18:46:01.119][1829][][gs_ctl]: gs_ctl started,datadir is /mogdb/data
[2022-02-06 18:46:01.189][1829][][gs_ctl]: waiting for server to start…
.
[2022-02-06 18:46:02.195][1829][][gs_ctl]: done
[2022-02-06 18:46:02.195][1829][][gs_ctl]: server started (/mogdb/data)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论