通过sqoop import命令从PgSQL导出数据到Hive时报错
背景
使用sqoop import命令抽取开源PgSQL数据库内容到MRS HDFS或Hive中。
用户问题
使用sqoop命令可以查询PgSQL表,但是执行sqoop import命令导入导出时报错:
The authentication type 5 is not supported. Check that you have configured the pg_hba.conf file to include the client's IP address or subnet。
原因分析
- 连接PgSQL MD5认证不通过,需要在“pg_hba.conf”中配置白名单。
- 在执行sqoop import命令时,会启动MapReduce任务,由于MRS Hadoop安装目下(例如“/opt/Bigdata/FusionInsight_HD_*/1_*_NodeManager/install/hadoop/share/hadoop/common/lib”)自带了PgSQL驱动包“gsjdbc4-*.jar”,与开源PgSQL服务不兼容导致报错。
处理步骤
- 用户在“pg_hba.conf”文件配置白名单。
- 驱动重复,集群自带,将其余驱动清除,所有Core节点上的gsjdbc4 jar包去掉,在sqoop/lib目录下添加PgSQL Jar包即可。
mv /opt/Bigdata/FusionInsight_HD_*/1_*_NodeManager/install/hadoop/share/hadoop/common/lib/gsjdbc4-*.jar /tmp