【问题标题】:Running .ktr created in windows on centos 6.5 server在centos 6.5服务器上运行在windows中创建的.ktr
【发布时间】:2015-10-07 21:05:45
【问题描述】:

伙计们,

我相信一切都很好。

我们有在 widows 7 中创建的 .ktr 文件,我们需要使用 pan 在 centos 6.5 服务器上运行。

我正在尝试在服务器上运行以下命令:

[root@BTNYSLDVD01 data-integration]# /home/pentaho/data-integration/pan.sh /file=/home/pentaho/data-integration/file.ktr

但是我收到以下错误:

2015/10/07 13:03:28 - 文件 Output.0 - 用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)

file.ktr 文件已在 widows 7 计算机上创建并正常运行,没有错误。我所做的唯一修改是我将<server></server>标签从<server>ip address</server> to <server>localhost</server>更改了

我知道密码是正确的,因为我可以从控制台连接到数据库。

我们无法在 centos 服务器上创建 .ktr 文件,因为我们没有安装桌面。

我的问题是“在 centos 6.5 服务器上运行在 windows 7 中创建的 .ktr 文件时,我们需要做些什么特别的事情”?

提前感谢您的帮助。

安迪

【问题讨论】:

  • 你确定数据库中有角色“root”吗?你确定如果存在“root”角色,是否有权连接到本地主机上的数据库?
  • 亲爱的 Simar 非常感谢你回复我如果我运行 mysql -h localhost -u root -p 我可以以 root 身份连接我知道凭据是正确的
  • 您可以配置转换以使用 jndi。在这种情况下,所有连接属性都将在 jdbc.properties 文件中,该文件以开放格式位于 KETTLE_HOME/simple-jndi 目录中。

标签: linux centos pentaho kettle


【解决方案1】:

首先运行这个

cd data-integration
chmod +x *.sh

它将使 shell 脚本可执行。

【讨论】:

    【解决方案2】:

    没有更多细节,很难知道哪里出了问题。 我猜你可能有通过 ssh 访问的问题:也许你应该有一个用户 root 的密钥(例如通过 ssh-keygen 生成)?

    【讨论】:

    • 感谢您回复我。我相信这个问题与密码混淆在 centos 服务器上无法正常工作有关,因为 .ktr 文件是在 Windows 中创建的。有什么方法可以使 .ktr 文件中的密码字段不加密?谢谢
    【解决方案3】:

    它变得非常有趣。我在页面上找到 http://dev.mysql.com/doc/refman/5.6/en/can-not-connect-to-server.html

    “如果您不指定主机名或指定特殊主机名 localhost,则使用 Unix 套接字文件。”

    Unix 套接字非常特殊的功能在 Windows 上不可用,但 Kettle 是用 Java 编写的,假设可以在不同的操作系统上工作,并且不能使用 Unix 套接字,因为它是特定于 plafrorm 的。它必须使用 tcp/ip 连接。

    相反,mysql 命令是特定于平台的,并且能够利用 Unix 套接字的强大功能,因为它是本机工具。

    试着用 127.0.0.1 代替 localhost

    【讨论】:

      【解决方案4】:

      我们能够解决问题。问题是 mysql 不允许从 127.0.0.1 访问。我们在另一台服务器上部署了 pentaho,并且能够让文件正常工作。感谢 Simar 提供的所有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-16
        • 2015-10-13
        • 2019-01-12
        • 1970-01-01
        • 1970-01-01
        • 2015-11-01
        • 2014-08-23
        • 2018-08-13
        相关资源
        最近更新 更多