【sqoop】sqoop1使用metastore保存job

将job信息保存起来,让多个client之间共享job数据。

  • 两台虚拟机分配情况

    node3作为存储数据的结点。node1作为client使用。

  • 配置
    # node3

    
    # $SQOOP_HOME/conf/sqoop-site.xml
    
    <property>
        <name>sqoop.metastore.server.location</name>
        <!--数据存放的目录-->
        <value>/usr/local/sqoop/tmp/sqoop-metastore/shared.db</value>
        <description>Path to the shared metastore database files.
        If this is not set, it will be placed in ~/.sqoop/.
        </description>
    </property>
    
    <property>
        <name>sqoop.metastore.server.port</name>
        <!--client访问的端口-->
        <value>16000</value>
        <description>Port that this metastore should listen on.
        </description>
     </property>
  • 启动

$SQOOP_HOME/bin/sqoop metastore &
#成功后使用jps可以看到sqoop进程
  • 使用

    • 创建job
      $SQOOP_HOME/bin/sqoop job \
      --create employee_job \
      --meta-connect jdbc:hsqldb:hsql://node3:16000/sqoop \    #后面必须是sqoop不知道是代表是什么
      -- \
      import \
      --connect jdbc:mysql://localhost:3306/sqoop_test \
      --username root \
      --password 123456 \
      --table employee \
      --target-dir /lcy/sqoop_test/ \
      --num-mappers 2

    查看单个或所有的job列表和执行job可通过sqoop job –help查看可使用的命令

    • 查看job列表
      $SQOOP_HOME/bin/sqoop job \
      --meta-connect jdbc:hsqldb:hsql://node3:16000/sqoop \
      --list
  • 将–meta-connect配置到client的配置文件中,是客户端默认使用固定的地址

# $SQOOP_HOME/conf/sqoop-site.xml
 <property>
    <name>sqoop.metastore.client.autoconnect.url</name>
    <value>jdbc:hsqldb:hsql://node3:16000/sqoop</value>
 </property>

 #操作job时不需要再使用--meta-connect参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值