首 页 行业热点 新车 试驾评测 养车用车 车型库

crontab定时执行kettle作业报错java.io.file parameter must be a directory,数据库连接用的jndi。

发布网友 发布时间:2022-04-21 01:35

我来回答

1个回答

热心网友 时间:2023-11-03 03:19

(二) 安装jre-6u23-linux-x.bin
  将jre-6u23-linux-x.bin上传到linux服务器
  1. 在终端上,键入:
su
  2. 输入超级用户口令。
  3. 切换到所需的安装目录。类型:
cd <</strong>目录路径名>
例如,要在 /usr/java/ 目录中安装软件,请键入:
cd /usr/java/

关于超级用户访问权限的说明:要将 JRE 安装在系统级位置(例如 /usr/local),必须以超级用户身份登录,从而获得必要的权限。如果您不具有超级用户访问权限,请将 JRE 安装在您的主目录中,或者安装在您具有写入权限的子目录中。
  4. 将您下载的文件的权限更改为可执行。类型:
chmod a+x jre-6u23-linux-x.bin
  5. 启动安装过程。键入:
./ jre-6u23-linux-x.bin

此时将显示二进制许可协议。通读许可协议。按空格键显示下一页。读完许可协议后,输入 yes 继续安装(此步骤可能直接跳过)。
  7. JRE 安装在其自身的目录中。在本例中,它将安装在 /usr/java/ jre1.6.0_23目录中。当安装完成时,您将看到Done(完成)字样。

  (三) 配置java环境变量

  1. 命令行键入“cd /etc”进入etc目录
  2. 命令行键入“vi profile”打开profile文件
  3. 敲击键盘ctrl+F到文件末尾

  4. 在末尾处,即第一个~的地方,敲击键盘将以下内容输入到文件

  JAVA_HOME=/usr/java/jre1.6.0_23
  PATH=$JAVA_HOME/bin:$PATH
  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  export JAVA_HOME
  export PATH
  export CLASSPATH
  5. 键盘敲击exc,命令行键入“:wq”,保存文件;

6. 重新登录linux,在命令行键入“java”,如果出现帮助信息则表示配置成功。

然后,部署kettle

1. 将pdi-ce-4.1.0-stable.zip上传到linux服务器
  2. 使用unzip命令解压pdi-ce-4.1.0-stable.zip
unzip pdi-ce-4.1.0-stable.zip -d "/mnt/kettle"
  3. 赋予解压目录下.sh文件的执行权力
  chmod +x *.sh
  4. 进入解压目录,键入“./kitchen.sh”回车,如果有帮助信息则表示kettle环境部署成功

※(重点)接着,编写执行kettle任务的shell脚本

创建test.sh,将以下内容复制粘贴到里面,然后键入“chmod +x /mnt/kettle/*.sh”,赋予test.sh执行权限。
  export JAVA_HOME=/usr/java/jre1.6.0_23
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
/mnt/kettle/data-integration/kitchen.sh -file=/mnt/kettle/test.kjb > /mnt/kettle/display.txt

说明:
前3行,设置java环境变量的语句必不可少,
因为crond是个守护进程,它不归属于任何用户,虽然之前以root身份配置了java的环境变量,但是crond一样找不到java命令,
所以,当crond执行kettle任务时,需要动态设置java环境变量,crond才能找到java命令。

最后,使用crontab命令添加定时任务

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com