sqoop作业总是在cli中提示输入密码。为了避免这种情况,有人说属性sqoop.metastore.client.record.password应该设置为true。但是在任何地方都有人说我需要在sqqop\u site.xml中更改这个值。不管怎样,我可以将这个值单独设置为一个作业。我尝试创建一个如下的作业,但sqoop未能创建它
sqoop job --create TEST -D sqoop.metastore.client.record.password=true -- import \
--connect jdbc:netezza://xx.xxx.xx.xxx/database \
--username username \
--password password \
--table tablename \
--split-by key \
--hcatalog-database hivedatabase \
--hcatalog-table hivetable \
--hcatalog-storage-stanza 'STORED as ORC TBLPROPERTIES('orc.compress'='NONE')' \
-m 100
错误:
Warning: /usr/iop/4.1.0.0/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
16/06/17 07:10:08 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6_IBM_20
16/06/17 07:10:08 ERROR tool.BaseSqoopTool: Error parsing arguments for job:
16/06/17 07:10:08 ERROR tool.BaseSqoopTool: Unrecognized argument: -D
16/06/17 07:10:08 ERROR tool.BaseSqoopTool: Unrecognized argument: sqoop.metastore.client.record.password=true
谁能帮我一下吗。我需要在cli中运行一个没有提示密码的作业。
1条答案
按热度按时间rt4zxlrg1#
您可以将密码保存在文件中,并使用参数--password file指定此文件的路径。
然后,sqoop将从文件中读取密码,并使用安全方法将其传递给mapreduce集群,而不会在作业配置中公开密码。