ETL项目kettle在linux系统中的部署

说明:利用linux自带的定时任务,执行脚本的方式调用kettle客户端去执行相关kettle作业

【data-integration安装配置】

 
  1. 1、下载源码(版本号:8.2.0.0)
  2. cd /usr/local/src
  3. wget https://jaist.dl.sourceforge.net/project/pentaho/Pentaho 8.2/client-tools/pdi-ce-8.2.0.0-342.zip
  4. 2.解压至 /usr/local/src
  5. unzip pdi-ce-8.2.0.0-342.zip
  6. 3.添加数据库连接jar包(mysql-connector-java-5.1.47.jar)到/usr/local/src/data-integration/lib
  7. 4.添加配置文件kettle.properties,也可以添加自定义变量,使用格式为${YOUR_PARAMETER}
  8. vi kettle.properties
  9. ## This file was generated by Pentaho Data Integration version 7.0.0.0-25.
    #
    # Here are a few examples of variables to set:
    #
    # PRODUCTION_SERVER = hercules
    # TEST_SERVER = zeus
    # DEVELOPMENT_SERVER = thor
    #
    # Note: lines like these with a # in front of it are comments
    #
    #
    #Mon Dec 17 15:24:56 CST 2018
    KETTLE_COMPATIBILITY_IMPORT_PATH_ADDITION_ON_VARIABLES=N
    KETTLE_REDIRECT_STDERR=N
    KETTLE_SHARED_OBJECTS=
    KETTLE_METRICS_LOG_DB=
    KETTLE_DEFAULT_DATE_FORMAT=
    KETTLE_JOB_LOG_SCHEMA=
    KETTLE_DEFAULT_INTEGER_FORMAT=
    KETTLE_AGGREGATION_MIN_NULL_IS_VALUED=N
    KETTLE_PLUGIN_CLASSES=
    KETTLE_LOG_MARK_MAPPINGS=N
    KETTLE_CORE_JOBENTRIES_FILE=
    KETTLE_ROWSET_GET_TIMEOUT=50
    KETTLE_METRICS_LOG_SCHEMA=
    KETTLE_PLUGIN_PACKAGES=
    KETTLE_TRANS_LOG_DB=
    KETTLE_CHANNEL_LOG_DB=
    KETTLE_MAX_LOG_TIMEOUT_IN_MINUTES=1440
    KETTLE_JOB_LOG_DB=
    KETTLE_JOB_LOG_TABLE=
    KETTLE_DISABLE_CONSOLE_LOGGING=N
    KETTLE_TRANS_PAN_JVM_EXIT_CODE=
    KETTLE_COMPATIBILITY_PUR_OLD_NAMING_MODE=N
    KETTLE_DEFAULT_TIMESTAMP_FORMAT=
    KETTLE_TRANS_PERFORMANCE_LOG_TABLE=
    KETTLE_STEP_LOG_SCHEMA=
    KETTLE_ROWSET_PUT_TIMEOUT=50
    KETTLE_MAX_JOB_ENTRIES_LOGGED=5000
    KETTLE_COMPATIBILITY_DB_IGNORE_TIMEZONE=N
    KETTLE_JOBENTRY_LOG_TABLE=
    KETTLE_MAX_LOGGING_REGISTRY_SIZE=10000
    KETTLE_TRANS_LOG_SCHEMA=
    KETTLE_JNDI_ROOT=
    KETTLE_COMPATIBILITY_MERGE_ROWS_USE_REFERENCE_STREAM_WHEN_IDENTICAL=N
    KETTLE_HIDE_DEVELOPMENT_VERSION_WARNING=N
    KETTLE_LENIENT_STRING_TO_NUMBER_CONVERSION=N
    #空值转换为空字符串
    KETTLE_EMPTY_STRING_DIFFERS_FROM_NULL=Y
    vfs.sftp.userDirIsRoot=false
    KETTLE_TRANS_PERFORMANCE_LOG_DB=
    KETTLE_STEP_PERFORMANCE_SNAPSHOT_LIMIT=0
    KETTLE_FAIL_ON_LOGGING_ERROR=N
    KETTLE_MAX_JOB_TRACKER_SIZE=5000
    KETTLE_LAZY_REPOSITORY=true
    KETTLE_JOBENTRY_LOG_SCHEMA=
    KETTLE_BATCHING_ROWSET=N
    KETTLE_STEP_LOG_TABLE=
    KETTLE_CARTE_OBJECT_TIMEOUT_MINUTES=1440
    KETTLE_CHANNEL_LOG_SCHEMA=
    KETTLE_JOBENTRY_LOG_DB=
    KETTLE_CARTE_JETTY_RES_MAX_IDLE_TIME=
    KETTLE_CARTE_JETTY_ACCEPT_QUEUE_SIZE=
    PENTAHO_METASTORE_FOLDER=
    KETTLE_STEP_LOG_DB=
    KETTLE_CARTE_JETTY_ACCEPTORS=
    KETTLE_SPLIT_FIELDS_REMOVE_ENCLOSURE=false
    KETTLE_DEFAULT_NUMBER_FORMAT=
    KETTLE_PASSWORD_ENCODER_PLUGIN=Kettle
    KETTLE_LOG_SIZE_LIMIT=0
    KETTLE_REDIRECT_STDOUT=N
    KETTLE_MAX_LOG_SIZE_IN_LINES=5000
    KETTLE_CORE_STEPS_FILE=
    KETTLE_DEFAULT_SERVLET_ENCODING=
    KETTLE_SYSTEM_HOSTNAME=
    KETTLE_CHANNEL_LOG_TABLE=
    KETTLE_DEFAULT_BIGNUMBER_FORMAT=
    KETTLE_TRANS_LOG_TABLE=
    KETTLE_METRICS_LOG_TABLE=
    KETTLE_AGGREGATION_ALL_NULLS_ARE_ZERO=N
    KETTLE_TRANS_PERFORMANCE_LOG_SCHEMA=
    KETTLE_COMPATIBILITY_TEXT_FILE_OUTPUT_APPEND_NO_HEADER=N

     

  10. :wq 保存

【kettle作业配置】

 
  1. 1.在/usr/local/sbin 下新建新建kettle项目路径
  2. 2.上传kettle作业文件,包含kjb文件和ktr文件,kjb文件引用ktr时,通过自定义变量配置文件路径
  3. 3.添加kettle执行脚本
  4. vi kettle.sh
  5. #!/bin/bash
    #每天都要执行
    export JAVA_HOME=/usr/local/jdk1.8
    export JAVA_BIN=$JAVA_HOME/bin
    export JAVA_LIB=$JAVA_HOME/lib
    export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
    export KETTLE_HOME=/usr/local/src/data-integration
    #抽取微尘4.0数据到customize
    /usr/local/src/data-integration/kitchen.sh -file=/usr/local/sbin/kettle/customize/weichen_sync.kjb ­level=basic>>/var/log/kettle_log/weichen_sync.log

     

  6. 4.给kettle.sh 文件增加可执行权限
  7. chmod u+x kettle.sh

【设置定时任务】

 
  1. 1.使用linux自带的crontab,添加定时任务,每天00:30执行脚本
  2. crontab -e
  3. `30 0 * * * * * /usr/local/sbin/kettle/kettle.sh`
  4. 2.重新加载任务,若未启动状态,则执行`service crond start`命令启动
  5. service crond reload

转载于:https://my.oschina.net/u/3465621/blog/3062992

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kettle系统是一款基于Java的开源ETL工具,常用于数据仓库的构建和管理。在Linux系统部署Kettle需要进行一系列操作,下面是一份部署文档。 1. 安装Java Kettle系统需要Java环境支持,因此需要先安装Java。可以通过以下命令查看Java是否已安装: ``` java -version ``` 如果输出Java版本信息,则说明已经安装成功。若未安装,则可以通过以下命令安装: ``` sudo apt-get update sudo apt-get install default-jdk ``` 2. 下载Kettle Kettle的最新版本可以在官网上下载,下载后进行解压缩。 ``` tar -xzvf data-integration.zip ``` 3. 配置Kettle系统 在解压缩后的目录,可以找到kettle.properties文件。该文件是Kettle系统的配置文件,可以配置系统的信息,如数据库连接信息、日志配置等。可以根据需要进行修改。 4. 运行Kettle系统 Kettle系统可以通过运行Spoon和Kitchen两个命令来启动。Spoon可以用来设计ETL作业,而Kitchen则可以运行ETL作业。 启动Spoon命令为: ``` ./spoon.sh ``` 启动Kitchen命令为: ``` ./kitchen.sh -file=\<filename\>.kjb ``` 其filename为要运行的ETL作业的文件名。 5. 故障排除 如果在运行Kettle系统时遇到问题,可以查看日志文件,通常情况下可以在kettle.log文件找到错误信息。另外还可以在官方论坛进行咨询和求助。 这是一份简单的Kettle系统Linux部署文档,可以提供初学者参考。在实际部署,可能还需要进行一些其他的配置和操作,需要根据具体情况进行设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值