问题1systemd-modules-load.service报错
systemd-modules-load.service: 这个服务负责加载内核模块。在容器环境下,除非特别需要,否则通常不需要加载额外的内核模块。
auditd.service: 审计守护进程(Audit Daemon),用于监控和记录安全相关的事件。容器环境一般不需要此服务。
dnf-makecache.service: 与包管理相关的服务,在容器中也不需要运行,因为容器镜像通常是不可变的。
解决方案:
启动时,增加“systemctl disable systemd-modules-load.service dnf-makecache.service ”,如下命令。
docker run --privileged=true -itd \
--name gpdb7 \
--hostname gpdb_a \
-v greenplum_data:/opt/greenplum/data \
-v /sys/fs/cgroup:/sys/fs/cgroup \
-p 5433:5432 \
-p 2222:22 \
-p 28080:28080 \
-e TZ=Asia/Shanghai \
lhrbest/greenplum:7.2.0 \
bash -c "systemctl disable systemd-modules-load.service dnf-makecache.service && /usr/sbin/sshd && tail -f /dev/null"
问题2:'UsePAM no' is not supported in RHEL and may cause several problems.
是一个常见但非致命的警告,它说明你的 SSH 配置文件中设置了 UsePAM no,这在 RHEL/CentOS 系列系统上不推荐使用,因为它可能导致认证失败、无法登录等问题。
UsePAM 是什么?
UsePAM 是 OpenSSH 的一个配置选项,用于控制是否启用 Linux 的 PAM(Pluggable Authentication Modules)机制。
在 RHEL/CentOS 系统中,默认和推荐设置是:UsePAM yes,因为系统依赖 PAM 来处理用户认证(如密码验证、登录限制等)。
为什么会出现这个警告?
通常是因为 /etc/ssh/sshd_config 文件中有如下配置:
UsePAM no
或者该文件是从旧版本或其他非 RHEL/CentOS 环境复制过来的,配置项不符合当前系统规范。
解决方案:
#vi /etc/ssh/sshd_config
UsePAM no改成 UsePAM yes
pkill -f /usr/sbin/sshd
/usr/sbin/sshd
测试本地登录
ssh root@gpdb_a
问题3 password authentication failed for user "gpmon"
gpcc start
2025-07-01 17:56:58 Starting the gpcc agents and webserver...
2025-07-01 17:56:58 pq: password authentication failed for user "gpmon"
解决方案:
gpcc start -W
问题4:dial tcp: lookup gpdb7 on 210.31.48.8:53: no such host
gpcc start
2025-07-01 16:15:41 Starting the gpcc agents and webserver...
2025-07-01 16:15:41 dial tcp: lookup gpdb7 on 210.31.48.8:53: no such host
解决方案:
echo "172.19.0.2 gpdb7" >> /etc/hosts
名称 | 类型 | 用途 | 是否影响 Greenplum |
--name gpdb_a | Docker 容器名 | 宿主机上识别容器用 | ❌ 不影响 Greenplum |
--hostname gpdb_a | 系统主机名 | Greenplum 节点标识 | ✅ 影响 Greenplum |
/etc/hosts 中的 gpdb7 | 主机名解析 | SSH 连接、跨节点通信 | ✅ 必须配置 |
问题5 不能正常访问gcc-web服务地址
http://172.23.123.117:28080
解决方案:
1.通过netstat -tuln | grep 28080监听,发现没监听到,说明容器没做端口映射,增加端口映射 -p 28080:28080 \
docker run --privileged=true -itd \
--name gpdb7 \
--hostname gpdb_a \
-v greenplum_data:/opt/greenplum/data \
-v /sys/fs/cgroup:/sys/fs/cgroup \
-p 5433:5432 \
-p 2222:22 \
-p 28080:28080 \
-e TZ=Asia/Shanghai \
lhrbest/greenplum:7.2.0 \
bash -c "systemctl disable systemd-modules-load.service dnf-makecache.service && /usr/sbin/sshd && tail -f /dev/null"