我在postgres中创建了一个简单的表,称为数据库mytestdb中的employees
我想将此表导入hdfs。
bin / sqoop import –connect’jdbc:postgresql://127.0.0.1/mytestdb’–…
检查日志文件(对于CentOS,可能在 /var/lib/pgsql/data/pg_log ) 更多细节。
/var/lib/pgsql/data/pg_log
如果用户不存在,请创建它。同 psql , 您可以 创建用户 喜欢:
psql
create role hduser with login, superuser;
或者来自 命令行 :
createuser -s -e hduser
如果 identd 没有安装,安装它:
identd
yum install authd xinetd
然后编辑 /etc/xinet.d/auth 并改变 disable = yes 至 disable = no :
/etc/xinet.d/auth
disable = yes
disable = no
service auth { disable = no socket_type = stream .... }
然后重启 xinetd 服务:
xinetd
systemctl restart xinetd
我在网上找到了一个可行的解决方案,它来自几个不同来源的组合。
编辑配置文件
nano /var/lib/pgsql/data/pg_hba.configuration
替换前两个 ident 用md5,就像这样:
ident
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident
保存存档。
然后,重新启动服务器
sudo systemctl restart postgresql
最后, grant all privileges on database testdb to hduser;
grant all privileges on database testdb to hduser;