Docker如何启动GPDB
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关Docker如何启动GPDB,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。下载镜像# docker pull pivotaldata/g
千家信息网最后更新 2026年11月01日Docker如何启动GPDB
这篇文章将为大家详细讲解有关Docker如何启动GPDB,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
下载镜像
# docker pull pivotaldata/gpdb-devel
运行容器
# docker run -it -p 15430:15432 --name gpdb0 -v /root/greenplum-db-gpdb-sandbox-tutorials-d734733/:/workspace/gpdb/tutorials -d pivotaldata/gpdb-devel
进入容器
# docker exec -it gpdb0 bash
首次切换gpadmin用户,会自动启动gp数据库
bash-4.1# su gpadmin/workspace/gpdb/gpAux/gpdemo /workspace/gpdb====================================================================== ______ _____ ______ _______ _______ _____ | ____ |_____] | \ |______ | | | | | |_____| | |_____/ |______ | | | |_____|---------------------------------------------------------------------- This is a demo of the Greenplum Database system. We will create a cluster installation with master and 6 segment instances (3 primary & 3 mirror). GPHOME ................. : /usr/local/gpdb MASTER_DATA_DIRECTORY .. : /workspace/gpdb/gpAux/gpdemo/datadirs/qddir/demoDataDir-1 MASTER PORT (PGPORT) ... : 15432 SEGMENT PORTS .......... : 25432 25433 25434 25435 25436 25437 25438 25439 25440 25441 25442 25443 NOTE(s): * The DB ports identified above must be available for use. * An environment file gpdemo-env.sh has been created for your use.================================================================================================================================================================executing: /usr/local/gpdb/bin/gpinitsystem -a -c clusterConfigFile -l /workspace/gpdb/gpAux/gpdemo/datadirs/gpAdminLogs ""==========================================================================================。。。省略部分输出 gp_opt_version --------------------------------------- Server has been compiled without ORCA(1 row)======================================================================/workspace/gpdb
创建用户
bash-4.1$ createuser -P dlw Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) nShall the new role be allowed to create databases? (y/n) yShall the new role be allowed to create more new roles? (y/n) nNOTICE: resource queue required -- using default resource queue "pg_default"
创建数据库
bash-4.1$ createdb dlwdbbash-4.1$ psql dlwdb psql (8.3.23)Type "help" for help.执行help查看命令帮助dlwdb=# helpYou are using psql, the command-line interface to PostgreSQL.Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit
在数据库中创建用户
dlwdb=# CREATE USER cyj WITH PASSWORD 'cyj' NOSUPERUSER; NOTICE: resource queue required -- using default resource queue "pg_default"CREATE ROLE
创建用户组并添加用户进去
dlwdb=# CREATE ROLE dcyls;NOTICE: resource queue required -- using default resource queue "pg_default"CREATE ROLEdlwdb=# GRANT dcyls TO dlw,cyj; GRANT ROLEdlwdb=# \du List of roles Role name | Attributes | Member of -----------+-----------------------------------+----------- cyj | | {dcyls} dcyls | Cannot login | {} dlw | Create DB | {dcyls} gpadmin | Superuser, Create role, Create DB | {}重启容器
容器暂停后,下次启动会出现报错,提示ssh连接问题
# docker stop gpdb0gpdb0# docker start gpdb0gpdb0# docker exec -it gpdb0 bashbash-4.1# su gpadminbash-4.1$ createuser -P dlw Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) ycreateuser: could not connect to database postgres: could not connect to server: Connection refused Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.15432"?bash-4.1$ gpstart 20190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Starting gpstart with args: 20190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Gathering information and validating the environment...20190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 4.3.99.00 build dev'20190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Greenplum Catalog Version: '301605129'20190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[WARNING]:-postmaster.pid file exists on Master, checking if recovery startup required20190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Commencing recovery startup checks20190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Have lock file /tmp/.s.PGSQL.15432 but no process running on port 1543220190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-No Master instance process, entering recovery startup mode20190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Clearing Master instance lock files20190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Clearing Master instance pid file20190827:02:42:25:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Starting Master instance in admin mode20190827:02:42:26:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information20190827:02:42:26:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Obtaining Segment details from master...20190827:02:42:26:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Setting new master era20190827:02:42:26:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Commencing forced instance shutdown20190827:02:42:28:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Starting Master instance in admin mode20190827:02:42:29:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information20190827:02:42:29:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Obtaining Segment details from master...20190827:02:42:29:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Setting new master era20190827:02:42:29:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Master Started...20190827:02:42:29:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Shutting down master20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:---------------------------20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Master instance parameters20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:---------------------------20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Database = template120190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Master Port = 1543220190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Master directory = /workspace/gpdb/gpAux/gpdemo/datadirs/qddir/demoDataDir-120190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Timeout = 600 seconds20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Master standby = Off 20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:---------------------------------------20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Segment instances that will be started20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:---------------------------------------20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:- Host Datadir Port Role20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast1/demoDataDir0 25432 Primary20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast_mirror1/demoDataDir0 25435 Mirror20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast2/demoDataDir1 25433 Primary20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast_mirror2/demoDataDir1 25436 Mirror20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast3/demoDataDir2 25434 Primary20190827:02:42:30:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast_mirror3/demoDataDir2 25437 MirrorContinue with Greenplum instance startup Yy|Nn (default=N):> y20190827:02:42:35:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait.... 20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Process results...20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[ERROR]:-No segment started for content: 0.20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-dumping success segments: []20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-----------------------------------------------------20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-DBID:2 FAILED host:'3ce34f890d16' datadir:'/workspace/gpdb/gpAux/gpdemo/datadirs/dbfast1/demoDataDir0' with reason:'cmd had rc=255 completed=True halted=False stdout='' stderr='ssh: connect to host 3ce34f890d16 port 22: Connection refused''20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-DBID:5 FAILED host:'3ce34f890d16' datadir:'/workspace/gpdb/gpAux/gpdemo/datadirs/dbfast_mirror1/demoDataDir0' with reason:'cmd had rc=255 completed=True halted=False stdout='' stderr='ssh: connect to host 3ce34f890d16 port 22: Connection refused''20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-DBID:3 FAILED host:'3ce34f890d16' datadir:'/workspace/gpdb/gpAux/gpdemo/datadirs/dbfast2/demoDataDir1' with reason:'cmd had rc=255 completed=True halted=False stdout='' stderr='ssh: connect to host 3ce34f890d16 port 22: Connection refused''20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-DBID:6 FAILED host:'3ce34f890d16' datadir:'/workspace/gpdb/gpAux/gpdemo/datadirs/dbfast_mirror2/demoDataDir1' with reason:'cmd had rc=255 completed=True halted=False stdout='' stderr='ssh: connect to host 3ce34f890d16 port 22: Connection refused''20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-DBID:4 FAILED host:'3ce34f890d16' datadir:'/workspace/gpdb/gpAux/gpdemo/datadirs/dbfast3/demoDataDir2' with reason:'cmd had rc=255 completed=True halted=False stdout='' stderr='ssh: connect to host 3ce34f890d16 port 22: Connection refused''20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-DBID:7 FAILED host:'3ce34f890d16' datadir:'/workspace/gpdb/gpAux/gpdemo/datadirs/dbfast_mirror3/demoDataDir2' with reason:'cmd had rc=255 completed=True halted=False stdout='' stderr='ssh: connect to host 3ce34f890d16 port 22: Connection refused''20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-----------------------------------------------------20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-----------------------------------------------------20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:- Successful segment starts = 020190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[WARNING]:-Failed segment starts = 6 <<<<<<<<20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:- Skipped segment starts (segments are marked down in configuration) = 020190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-----------------------------------------------------20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Successfully started 0 of 6 segment instances <<<<<<<<20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-----------------------------------------------------20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[WARNING]:-Segment instance startup failures reported20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[WARNING]:-Failed start 6 of 6 segment instances <<<<<<<<20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[WARNING]:-Review /home/gpadmin/gpAdminLogs/gpstart_20190827.log20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-----------------------------------------------------20190827:02:42:36:000018 gpstart:3ce34f890d16:gpadmin-[INFO]:-Commencing parallel segment instance shutdown, please wait.... 20190827:02:42:37:000018 gpstart:3ce34f890d16:gpadmin-[ERROR]:-gpstart error: Do not have enough valid segments to start the array.
这个问题很好处理,它是ssh自己,看下ssh服务,第一次启动的时候应该是启动脚本里附带了启动sshd服务,之后再启动,需要自己手动启动下sshd服务,此处是centos6.8的系统
bash-4.1$ hostname 3ce34f890d16bash-4.1$ ssh 3ce34f890d16 ssh: connect to host 3ce34f890d16 port 22: Connection refusedbash-4.1$ cat /etc/redhat-release CentOS release 6.8 (Final)bash-4.1$ service sshd start/etc/init.d/sshd: line 33: /etc/sysconfig/sshd: Permission deniedStarting sshd: /etc/ssh/sshd_config: Permission denied [FAILED]bash-4.1$ exitexitbash-4.1# service sshd startStarting sshd: [ OK ]
启动sshd后再启动数据库,正常运行
bash-4.1# su gpadmin bash-4.1$ gpstart 20190827:02:43:49:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Starting gpstart with args: 20190827:02:43:49:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Gathering information and validating the environment...20190827:02:43:49:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 4.3.99.00 build dev'20190827:02:43:49:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Greenplum Catalog Version: '301605129'20190827:02:43:49:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Starting Master instance in admin mode20190827:02:43:50:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information20190827:02:43:50:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Obtaining Segment details from master...20190827:02:43:51:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Setting new master era20190827:02:43:51:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Master Started...20190827:02:43:51:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Shutting down master20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:---------------------------20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Master instance parameters20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:---------------------------20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Database = template120190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Master Port = 1543220190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Master directory = /workspace/gpdb/gpAux/gpdemo/datadirs/qddir/demoDataDir-120190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Timeout = 600 seconds20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Master standby = Off 20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:---------------------------------------20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Segment instances that will be started20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:---------------------------------------20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:- Host Datadir Port Role20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast1/demoDataDir0 25432 Primary20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast_mirror1/demoDataDir0 25435 Mirror20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast2/demoDataDir1 25433 Primary20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast_mirror2/demoDataDir1 25436 Mirror20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast3/demoDataDir2 25434 Primary20190827:02:43:52:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:- 3ce34f890d16 /workspace/gpdb/gpAux/gpdemo/datadirs/dbfast_mirror3/demoDataDir2 25437 MirrorContinue with Greenplum instance startup Yy|Nn (default=N):> y20190827:02:43:54:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait....... 20190827:02:43:58:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Process results...20190827:02:43:58:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-----------------------------------------------------20190827:02:43:58:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:- Successful segment starts = 620190827:02:43:58:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:- Failed segment starts = 020190827:02:43:58:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:- Skipped segment starts (segments are marked down in configuration) = 020190827:02:43:58:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-----------------------------------------------------20190827:02:43:58:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-20190827:02:43:58:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Successfully started 6 of 6 segment instances 20190827:02:43:58:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-----------------------------------------------------20190827:02:43:58:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Starting Master instance 3ce34f890d16 directory /workspace/gpdb/gpAux/gpdemo/datadirs/qddir/demoDataDir-1 20190827:02:43:59:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Command pg_ctl reports Master 3ce34f890d16 instance active20190827:02:43:59:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-No standby master configured. skipping...20190827:02:43:59:000169 gpstart:3ce34f890d16:gpadmin-[INFO]:-Database successfully startedbash-4.1$ createuser -P dlw Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) ybash-4.1$ bash-4.1$ createdb dlwdbbash-4.1$ psql dlwdb psql (8.3.23)Type "help" for help.dlwdb=#
客户端连接
连接之前需要修改pgdb的配置文件,允许客户端所在网络可以连接 配置文件目录可以在初始化pgdb的时候看到
bash-4.1$ cd /workspace/gpdb/gpAux/gpdemo/datadirs/qddir/demoDataDir-1 bash-4.1$ vi pg_hba.conf 添加 host all all 192.16.126.0/24 trust 重启gpdb bash-4.1$ gpstop -r
下载windows客户端
https://www.postgresql.org/ftp/pgadmin/pgadmin3/v1.22.2/win32/
安装之后启动连接
成功连接

关于"Docker如何启动GPDB"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
用户
容器
数据
数据库
客户
客户端
篇文章
服务
文件
时候
更多
问题
帮助
运行
配置
不错
实用
成功
内容
启动会
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技工作委员会副主任毛军
北京互联网科技
新浪科技互联网
卓越科技互联网 招聘
互联网科技素材视频竖屏
海南购全球互联网科技
华中科技有哪些互联网大佬
云创客互联网科技公司
西藏七维空间互联网科技有限公司
互联网科技实习生岗位职责
金融科技与互联网金融相同和不同
岳阳华臻互联网科技有限公司
天津腾达互联网科技有限公司
国大互联网教育科技有限公司薪资
互联网科技年终奖
广州梦谷互联网科技有限公司领导
普陀区互联网教育科技管理办法
科技互联网专业工作会议发言稿
前海云享互联网科技
如何强化互联网金融科技
互联网科技产业
互联网科技资迅
互联网金融 科技金融
亿账通互联网科技
互联网公司会议桌创意科技软装饰
互联网科技与管理
宝灵互联网科技有限公司
上海科技产业互联网平台
富国互联网科技002692
前海云享互联网科技