Sqoop --password-file 设置密码

使用这种方式指定密码时,文件既可以放在本地,也可以放在集群上:

使用echo passwd > ~/.passwd,将密码写入文件,

chmod 400 ~/.passwd

将密码文件设置为当前用户只读,防止他人知悉该密码。

sqoop-list-databases --connect jdbc:mysql://m.mysql.com:3306 --username root --password-file file:///home/user/.passwd

这样即可访问mysql,这个地方的file://在没有配置hdfs路径的时候可以不加,但如果运行sqoop的服务器在hadoop的core-site.xml中指定了hdfs,那么必须加上file://,否则会报找不到文件的错误。

也可以直接将文件放到hdfs上,以便所有task所在的服务器都可以读取密码,制定hdfs中的路径就可以了,可以不加hdfs://。

如果手动编辑密码文件,最好在Windows环境下编辑文件,文件只有一行,只包含密码,不要有其他多余的空格等字符串。

我测试的时候在Linux上使用vi编辑文件,总是有换行,导致一直错误,后来使用windows编辑后成功执行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章