hdp沙盒sqoop失败

s3fp2yjn  于 2021-05-27  发布在  Hadoop
关注(0)|答案(2)|浏览(422)

下面是错误消息:
无法移动源hdfs://sandbox-hdp.hortonworks.com:8020/user/maria\u dev/dimdepartmentgroup/part-m-00000到目的地hdfs://sandbox-hdp.hortonworks.com:8020/warehouse/tablespace/managed/hive/dbodimemployee/delta\u0000001\u0000:权限被拒绝:user=hive,access=write,inode=“/user/maria\u dev/dimdepartmentgroup”:玛丽亚_dev:hdfs:drwxr-xr-x
我完全糊涂了。错误消息本身显示maria\u dev对该文件夹具有写入权限 inode="/user/maria_dev/DimDepartmentGroup":maria_dev:hdfs:drwxr-xr-x 我错过了什么?

sqxo8psd

sqxo8psd1#

最后,我成功了。我以root用户身份登录并使用 su - hive . 然后我成功地运行了sqoop命令。以前我以maria_dev的身份登录,无法使用 su 命令。我没有用户配置单元的密码,因为配置单元不是hdp沙盒中的常规用户。
不过,对我来说很奇怪的是,用户需要具有root访问权限才能将一些数据加载到hdp配置单元中。

pu82cl6c

pu82cl6c2#

当您运行sqoop时,通常它首先从外部数据库加载数据,然后将其作为多部分文件存储在给定位置 (--target-dir /goldman/yahoo) 然后从那个位置到Hive表 (--hive-table topclient.mpool) 现在您可以在2级拒绝访问。
1) 如果在文件位置看到访问被拒绝 /goldman/yahoo ,然后将filelocation access设置为777,以hdfs用户身份运行- sudo -u hdfs hadoop fs -chmod 777 /goldman/yahoo 2) 如果在创建表时看到访问被拒绝,请以用户身份运行sqoop命令 hive ,因为用户 hive 可以访问配置单元表,即。 sudo -u hive sqoop import --connect 'jdbc:sqlserver://test.goldman-invest.data:1433;databaseName=Investment_Banking' --username user_***_cqe --password******--table cases --target-dir /goldman/yahoo --hive-import --create-hive-table --hive-table topclient.mpool

相关问题