您现在的位置是:主页 > 数据库技术 > 数据库技术

执行Job时怎么省略输入MySQL保存密码

IDCBT2021-12-25服务器技术人已围观

简介本篇内容介绍了“执行Job时怎么省略输入MySQL保存密码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

本篇内容介绍了“执行Job时怎么省略输入MySQL保存密码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、删除Job

    sqoop job \

    --delete testjob

二、创建Job
说明:在创建Job时,我们使用--password-file参数,而且非--passowrd。主要原因是在执行Job时使用--password参数将有警告,并且需要输入密码才能执行Job。当我们采用--password-file参数时,执行Job无需输入数据库密码。

    sqoop job \

    --create testjob \

    -- \

    import \

    --connect jdbc:mysql://192.168.137.130:3306/jepsondb \

    --username root \

    --password-file /input/sqoop.pwd \

    --table abc \

    --target-dir /input/abc \

    --delete-target-dir \

    -m 1

注:import与"--"之间必须要有一个空格

三、执行Job

    sqoop job \

    --exec testjob

四、创建--password-file参数需要的密码文件(注:sqoop规定密码文件必须放在HDFS之上,并且权限必须为400)
1、操作命令:

    echo -n "123456" > sqoop.pwd

    hdfs dfs -rm sqoop.pwd /input/sqoop.pwd

    hdfs dfs -put sqoop.pwd /input

    hdfs dfs -chmod 400 /input/sqoop.pwd

    hdfs dfs -ls /input

    -r--------   1 hadoop supergroup          6 2018-01-15 18:38 /input/sqoop.pwd

2、检查sqoop的配置文件(sqoop-site.xml)是否存在以下配置,并且value值为true

    <property>

        <name>sqoop.metastore.client.record.password</name>

        <value>true</value>

        <description>If true, allow saved passwords in the metastore.

        </description>

    </property>

注:password文件的格式不对错误提示如下:

    arning: /app/sqoop-1.4.6-cdh6.7.0/../hbase does not exist! HBase imports will fail.

    Please set $HBASE_HOME to the root of your HBase installation.

    Warning: /app/sqoop-1.4.6-cdh6.7.0/../hcatalog does not exist! HCatalog jobs will fail.

    Please set $HCAT_HOME to the root of your HCatalog installation.

    Warning: /app/sqoop-1.4.6-cdh6.7.0/../accumulo does not exist! Accumulo imports will fail.

    Please set $ACCUMULO_HOME to the root of your Accumulo installation.

    标签:

    很赞哦! ()

本栏推荐