我有一个docker镜像,其中有一个由一个主设备和两个从设备组成的hadoop集群。在此群集上,我有HBase。我正在尝试使用scoop将安装在本地计算机上的postgres数据库迁移到Docker映像上的HBase数据库。
对于Postgres,这是我的postgresql.conf配置文件:
------------------------------------------------ ------------------------------
连接和认证
------------------------------------------------ ------------------------------
-连接设置-
listen_addresses =''#要监听的IP地址;#以逗号分隔的地址列表;#默认为'localhost';全部使用''#(更改需要重新启动)端口= 5432#(更改需要重新启动)max_connections = 100#(更改需要重新启动)
superuser_reserved_connections = 3#(更改需要重新启动)unix_socket_directories ='/ var / run / postgresql'#逗号分隔的列表
的目录#(更改需要重新启动)
unix_socket_group =''#(更改需要重新启动)
unix_socket_permissions = 0777#以0开头以使用八进制表示法
# (change requires restart)
bonjour = off#通过Bonjour播发服务器
# (change requires restart)
bonjour_name =''#默认为计算机名称
-安全和身份验证-
authentication_timeout = 1min#1s-600s ssl = on
ssl_ciphers ='HIGH:MEDIUM:+ 3DES:!aNULL'#允许使用SSL密码
ssl_prefer_server_ciphers =开启
ssl_ecdh_curve ='prime256v1'
ssl_dh_params_file =''ssl_cert_file ='/etc/ssl/certs/ssl-cert-snakeoil.pem'ssl_key_file =
'/ etc / ssl / private / ssl-cert-snakeoil.key'
ssl_ca_file =''
ssl_crl_file =''
password_encryption = md5#md5或scram-sha-256
db_user_namespace = off
row_security =开
使用Kerberos的GSSAPI
krb_server_keyfile =''
krb_caseins_users =关闭
-TCP Keepalive-
有关详细信息,请参见“ man 7 tcp”
tcp_keepalives_idle = 0#TCP_KEEPIDLE,以秒为单位;
# 0 selects the system default
tcp_keepalives_interval = 0#TCP_KEEPINTVL,以秒为单位;
# 0 selects the system default
tcp_keepalives_count = 0#TCP_KEEPCNT;
# 0 selects the system default
也是这是pg_hba.conf文件的内容:
通过Unix域套接字本地所有postgres对等体进行数据库管理登录
类型数据库用户地址方法
“ local”仅用于Unix域套接字连接,所有本地都信任
IPv4本地连接:托管所有所有127.0.0.1/32信任
IPv6本地连接:托管所有所有:: 1/128信任
允许具有以下权限的用户从本地主机进行复制连接:>
复制特权。
本地复制全部信任
主机复制全部127.0.0.1/32信任主机复制全部:: 1/128
我的问题是,当我尝试使用此命令使用独家新闻从Docker映像连接到Postgres时:
sqoop import --connect jdbc:postgresql://localhost:5432/mimic --username postgres --password 0000 --table admission_ids --hbase-table mimic --column-family admission_ids --hbase-row-key id -m 1
我只是有这个问题:
检查主机名和端口是否正确以及邮局主管正在接受TCP / IP连接。 org.postgresql.util.PSQLException:拒绝连接。检查主机名和端口是否正确,以及邮件管理员正在接受TCP / IP连接。搜索后,我了解到docker是此问题的根源,并确认这一点,我只是第一次尝试使用本地计算机上的tenlnet连接到postgres,这是结果:
telnet localhost 5432 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.
第二次从docker:
telnet localhost 5432 Trying 127.0.0.1... Trying ::1... telnet: Unable to connect to remote host: Cannot assign requested address
我的Docker映像名为spark-hadoop。我试图截断该命令,但始终不起作用:
docker run -d --name bridgeToHadoop --publish=127.0.0.1:5432:5432 -p 172.18.0.2:5432:5432 spark-hadoop
任何人都能帮忙吗?>
我有一个docker镜像,其中有一个由一个主设备和两个从设备组成的hadoop集群。在此群集上,我有HBase。我正在尝试迁移安装在本地...上的postgres数据库...
Postgresql在主机上运行,您正尝试从Docker容器连接它。执行此操作时,主机不应在连接字符串中为localhost
。本地主机是指Docker容器。
用IP地址替换本地主机,应该紧随其后