• 售前

  • 售后

热门帖子
入门百科

办理sqoop从postgresql拉数据,报错TCP/IP毗连的问题

[复制链接]
冯武鸣 显示全部楼层 发表于 2021-10-26 12:46:51 |阅读模式 打印 上一主题 下一主题
问题:

sqoop从postgresql拉数据,在实验到mapreduce时报错Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections
问题定位过程:

1、postgresql 5432端口已开放,实验任务的节点能telnet通,而且netcat测试通过
2、sqoop list-tables命令可正常实验,sqoop import报错Connection refused. Check that the hostname and port are correct and that the
3、从其它服务器集群跑同样脚本正常
办理:

集群中有node不能访问5432,sqoop import命令肯定要集群中全部起nodemanager服务的节点有访问数据库端口的权限,所以包管全部节点访问5432后办理
备注:
sqoop list-tables能实验就说明肯定不是postgresql端的问题,sqoop list-tables实验命令的这台服务器能访问5432即可
增补:利用Sqoop从PostgreSQL向Hive中迁移数据碰到的问题
postgreSQL的界面

跟mysql不同之处就是,多了一个 2 ,这也是导致数据迁移错误缘故原由
1.数据库名称  2.schema 3.表名
PostgreSQL中的对象属于三层模型,即database->schema->table。PostgreSQL中一样平常包含多个database,每个database包含多个schema,schema下包含多个表。因此利用sqoop抽取数据时有时需要指定表是属于哪个schema。
办理方案:

在代码最后指定--schema
-- --schema 上图2的名称
整个代码如下
  1. ./sqoop import --connect jdbc:postgresql://***.***.***.***:38888/bigdata --username test --password test123 --table tb_ecar_gps_zhengzhou_standard --fields-terminated-by '\t' -m 1 --target-dir '/sqoop/postgresql123' -- --schema benchmark_data;
复制代码
以上为个人经验,渴望能给各人一个参考,也渴望各人多多支持脚本之家。如有错误或未考虑完全的地方,望不吝见教。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作