loader-tool工具使用指导
概述
loader-tool工具是Loader客户端工具之一,包括“lt-ucc”、“lt-ucj”、“lt-ctl”三个工具。
Loader支持通过参数选项或作业模板这两种方式,对连接器进行创建、更新、查询和删除,以及对Loader作业进行创建、更新、查询、删除、启动和停止等操作。
本章节适用于MRS 3.x及后续版本。
loader-tool工具是异步接口,命令提交后其结果不会实时返回到控制台,因此对连接器的创建、更新、查询和删除等操作,以及对Loader作业的创建、更新、查询、删除、启动和停止等操作,其成功与否需要在Loader WebUI确认或通过查询server端日志确认。
- 参数选项方式:
- 作业模板方式:
修改作业模板中所有配置项的参数值,调用脚本时引用修改后的作业模板文件。
Loader客户端安装后,系统自动在“Loader客户端安装目录/loader-tools-1.99.3/loader-tool/job-config/”目录生成各种场景对应的作业模板,不同模板中配置项存在差异。作业模板中包含作业信息以及关联的连接器信息。
作业模板为xml文件,文件名格式为“数据原保存位置-to-数据新保存位置.xml”,例如“sftp-to-hdfs.xml”。如果此场景的作业支持转换步骤,则存在同名的转换步骤配置文件,文件类型为json,例如“sftp-to-hdfs.json”。
作业模板中包含了连接器的配置信息。创建、更新连接器时,实际上仅调用到作业模板中的连接器的信息。
使用场景
不同的连接器或作业的配置项不同。
- 更新个别配置项时,使用参数选项方式。
- 创建连接器或作业时,使用作业模板方式。
本工具目前支持FTP、HDFS、JDBC、MySQL、Oracle以及Oracle专用连接器,如果使用其他类型连接器,建议使用开源sqoop-shell工具。
参数说明
例如,Loader客户端的安装目录为:“/opt/client/Loader/”。
- lt-ucc使用说明
lt-ucc:loader-tool user-configuration-connection连接器配置工具,用于连接器的创建、更新和删除操作。
表1 lt-ucc脚本“参数选项”说明 参数选项
说明
参数值示例
-help
获取帮助信息。
-
-a <arg>
执行的动作,有效值:create/update/delete,分别用于创建、更新和删除连接器。
create
-at <arg>
登录认证的类型,有效值kerberos、simple。
kerberos
-uk <arg>
是否使用keytab文件。
true
-au <arg>
登录认证的用户名。
bar
-ap <arg>
登录认证的密码,需要填写密文。
密码加密方法:
sh Loader客户端安装目录/Loader/loader-tools-1.99.3/encrypt_tool 用户非加密密码
说明:非加密密码中含有特殊字符时需要转义。例如,$符号属于特殊字符,可使用单引号进行转义;非加密密码中含有单引号时可用双引号进行转义,非加密密码中含有双引号应使用反斜杠\进行转义。可参考Shell的转义字符规则。
-
-c <arg>
登录认证的principal。
bar
-k <arg>
登录认证的keytab文件。
/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/hadoop-config/user.keytab
-h <arg>
MRS集群的配置文件路径。
-h /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/hadoop-config
-l <arg>
登录的模板文件。
/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml
-s <arg>
Loader服务的浮动IP和端口。
格式为:浮动IP:端口
端口默认值为21351
127.0.0.1:21351
-w <arg>
作业的模板文件路径,用于获取作业的详细信息。
/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.xml
-z <arg>
ZooKeeper quorum实例的IP地址和端口号,格式为IP地址:端口,配置多个用“,”分开。
127.0.0.0:2181, 127.0.0.1:2181
-n <arg>
连接器名称。
vt_sftp_test
-t <arg>
连接器类型。
sftp-connector
-P <arg>
更新某个属性的值,格式:-Pparam1=value1,param1为作业模板中连接器对应的属性名称。如果更新的是SFTP和FTP的连接器信息,还必须带上密码参数:
-Pconnection.sftpPassword=密码密文
-Pconnection.sftpServerIp=10.6.26.11
完整示例如下:
./bin/lt-ucc -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -n vt_sftp_test -t sftp-connector -Pconnection.sftpPassword=密码密文 -Pconnection.sftpServerIp=10.6.26.111 -a update
lt-ucc脚本的作业模板配置说明:
以SFTP数据保存到HDFS为例,编辑“loader客户端安装目录/loader-tools-1.99.3/loader-tool/job-config/”目录下的“sftp-to-hdfs.xml”文件,连接器的配置如下:
<!-- 连接数据库的信息 --> <sqoop.connection name="vt_sftp_test" type="sftp-connector"> <connection.sftpServerIp>10.96.26.111</connection.sftpServerIp> <connection.sftpServerPort>22</connection.sftpServerPort> <connection.sftpUser>root</connection.sftpUser> <connection.sftpPassword>密码密文</connection.sftpPassword> </sqoop.connection>
- 创建命令,如下:
./lt-ucc -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -w /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/ftp-to-hdfs.xml -a create
- 更新命令,如下:
./lt-ucc -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -w /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/ftp-to-hdfs.xml -a update
- 删除命令,如下:
./lt-ucc -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -w /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/ftp-to-hdfs.xml -a delete
- 创建命令,如下:
- lt-ucj使用说明
lt-ucj:loader-tool user-configuration-job作业配置工具,用于对作业的创建、更新、删除操作。
表2 lt-ucj脚本的“参数选项”配置说明 参数选项
说明
参数值示例
-help
获取帮助信息。
-
-a <arg>
执行的动作,有效值:create/update/delete,分别用于创建、更新和删除作业。
create
-at <arg>
登录认证的类型,有效值kerberos、simple。
kerberos
-uk <arg>
是否使用keytab文件。
true
-au <arg>
登录认证的用户名。
bar
-ap <arg>
登录认证的密码,需要填写密文。
密码加密方法:
sh Loader客户端安装目录/Loader/loader-tools-1.99.3/encrypt_tool 用户非加密密码
说明:非加密密码中含有特殊字符时需要转义。例如,$符号属于特殊字符,可使用单引号进行转义;非加密密码中含有单引号时可用双引号进行转义,非加密密码中含有双引号应使用反斜杠\进行转义。可参考Shell的转义字符规则。
-
-c <arg>
登录认证的principal。
bar
-k <arg>
登录认证的keytab文件。
/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/hadoop-config/user.keytab
-h <arg>
MRS集群的配置文件路径。
-h /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/hadoop-config
-l <arg>
登录的模板文件。
/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml
-s <arg>
Loader服务的浮动IP和端口。
格式为:浮动IP:端口
端口默认值为21351。
127.0.0.1:21351
-w <arg>
作业的模板文件,用于获取作业的详细信息。
/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.xml
-z <arg>
ZooKeeper quorum实例的IP地址和端口号,格式为IP地址:端口,配置多个用“,”分开。
127.0.0.0:2181, 127.0.0.1:2181
-n <arg>
作业名称。
Sftp.to.Hdfs
-cn <arg>
连接器名称。
vt_sftp_test
-ct <arg>
连接器类型。
sftp-connector
-t <arg>
作业类型,有效值IMPORT、EXPORT。
IMPORT
-trans <arg>
作业关联的转换步骤文件。
/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.json
-priority <arg>
作业优先级,有效值:LOW/NORMAL/HIGH。
NORMAL
-queue <arg>
队列。
default
-storageType <arg>
存储类型。
HDFS
-P <arg>
更新某个属性的值,格式:-Pparam1=value1,param1为作业模板中连接器对应的属性名称。如果更新的是SFTP和FTP的连接器信息,还必须带上密码参数:
-Pconnection.sftpPassword=密码密文
-Pconnection.sftpServerIp=10.6.26.11
完整示例如下:
./bin/lt-ucj -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -n Sftp.to.Hdfs -t IMPORT -ct sftp-connector -Poutput.outputDirectory=/user/loader/sftp-to-hdfs-test8888 -a update
lt-ucj 脚本的“作业模板”配置说明:
以SFTP数据保存到HDFS为例,编辑“loader客户端安装目录/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.xml”,作业的配置如下:
<!-- Job名称,全局唯一 --> <sqoop.job name="Sftp.to.Hdfs" type="IMPORT" queue="default" priority="优先级NORMAL"> <!-- 外部数据源,参数配置 --> <data.source connectionName="vt_sftp_test" connectionType="sftp-connector"> <file.inputPath>/opt/houjt/hive/all</file.inputPath> <file.splitType>FILE</file.splitType> <file.filterType>WILDCARD</file.filterType> <file.pathFilter>*</file.pathFilter> <file.fileFilter>*</file.fileFilter> <file.encodeType>GBK</file.encodeType> <file.suffixName></file.suffixName> <file.isCompressive>FALSE</file.isCompressive> </data.source> <!-- MRS集群,参数配置 --> <hadoop.source storageType="HDFS" > <output.outputDirectory>/user/loader/sftp-to-hdfs</output.outputDirectory> <output.fileOprType>OVERRIDE</output.fileOprType> <throttling.extractors>3</throttling.extractors> <output.fileType>TEXT_FILE</output.fileType> </hadoop.source> <!-- 作业关联的转换步骤文件 --> <sqoop.job.trans.file>/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.json</sqoop.job.trans.file> </sqoop.job>
- 创建命令,如下:
./bin/lt-ucj -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -w /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.xml -a create
- 更新命令,如下:
./bin/lt-ucj -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -w /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.xml -a update
- 删除命令,如下:
./bin/lt-ucj -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -w /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.xml -a delete
- 创建命令,如下:
- lt-ctl使用说明
lt-ctl:loader-tool controller作业管理工具,用于启停作业,查询作业状态与进度,查询作业是否运行中。
表3 lt-ctl脚本的“参数选项”配置说明 参数选项
说明
参数值示例
-help
获取帮助信息。
-
-a <arg>
执行的动作,有效值:status/start/stop/isrunning,分别用于查询作业状态、启动作业、停止作业以及判断作业是否在运行中。
create
-at <arg>
登录认证的类型,有效值kerberos、simple。
kerberos
-uk <arg>
是否使用keytab文件。
true
-au <arg>
登录认证的用户名。
bar
-ap <arg>
登录认证的密码,需要填写密文。
密码加密方法:
sh Loader客户端安装目录/Loader/loader-tools-1.99.3/encrypt_tool 用户非加密密码
说明:非加密密码中含有特殊字符时需要转义。例如,$符号属于特殊字符,可使用单引号进行转义;非加密密码中含有单引号时可用双引号进行转义,非加密密码中含有双引号应使用反斜杠\进行转义。可参考Shell的转义字符规则。
-
-c <arg>
登录认证的principal。
bar
-k <arg>
登录认证的keytab文件。
/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/hadoop-config/user.keytab
-h <arg>
MRS集群的配置文件路径。
-h /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/hadoop-config
-l <arg>
登录的模板文件。
/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml
-n <arg>
作业名称。
Sftp.to.Hdfs
-s <arg>
Loader服务的浮动IP和端口。
格式为:浮动IP:端口
端口默认值为21351。
127.0.0.1:21351
-w <arg>
作业的模板文件,用于获取作业的详细信息。
/opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/sftp-to-hdfs.xml
-z <arg>
ZooKeeper quorum实例的IP地址和端口号,格式为IP地址:端口,配置多个用“,”分开。
127.0.0.0:2181, 127.0.0.1:2181
- 启动作业:
./bin/lt-ctl -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -n Sftp.to.Hdfs -a start
- 查看作业状态:
./bin/lt-ctl -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -n Sftp.to.Hdfs -a status
- 判断作业是否运行中:
./bin/lt-ctl -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -n Sftp.to.Hdfs -a isrunning
- 停止作业:
./bin/lt-ctl -l /opt/hadoopclient/Loader/loader-tools-1.99.3/loader-tool/job-config/login-info.xml -n Sftp.to.Hdfs -a stop
- 启动作业: