Fedora 25 上的 dashDB Local - 错误代码 130

Posted

技术标签:

【中文标题】Fedora 25 上的 dashDB Local - 错误代码 130【英文标题】:dashDB Local on fedora 25 - error code 130 【发布时间】:2017-05-17 18:04:32 【问题描述】:

我尝试了 dashDB Local 的 30 天试用期。我按照链接中描述的步骤操作: https://www.ibm.com/support/knowledgecenter/en/SS6NHC/com.ibm.swg.im.dashdb.doc/admin/linux_deploy.html

    我没有创建节点配置文件,因为我的是 SMP 设置。

    登录我的 docker hub 账户并拉取镜像。

    docker login -u xxx -p yyyyy

    docker pull ibmdashdb/local:latest-linux

拉动耗时 5 分钟左右。我等待图像下载完成。

    运行以下命令。成功完成。

    docker run -d -it --privileged=true --net=host --name=dashDB -v /mnt/clusterfs:/mnt/bludata0 -v /mnt/clusterfs:/mnt/blumeta0 ibmdashdb/local:最新的linux

    运行日志命令

    docker logs --follow dashDB

这表明 dashDB 没有启动但退出并出现错误代码 130

# docker ps -a
CONTAINER ID        IMAGE                          COMMAND             CREATED             STATUS                       PORTS               NAMES
0f008f8e413d        ibmdashdb/local:latest-linux   "/usr/sbin/init"    16 seconds ago      Exited (130) 1 seconds ago                       dashDB
#

logs 命令显示:

2017-05-17T17:48:11.285582000Z Detected virtualization docker.
2017-05-17T17:48:11.286078000Z Detected architecture x86-64.
2017-05-17T17:48:11.286481000Z
2017-05-17T17:48:11.294224000Z Welcome to dashDB Local!
2017-05-17T17:48:11.294621000Z
2017-05-17T17:48:11.295022000Z Set hostname to <orion>.
2017-05-17T17:48:11.547189000Z Cannot add dependency job for unit systemd-tmpfiles-clean.timer, ignoring: Unit is masked.
2017-05-17T17:48:11.547619000Z [  OK  ] Reached target Timers.
<snip>
2017-05-17T17:48:13.361610000Z [  OK  ] Started The entrypoint script for initializing dashDB local.
2017-05-17T17:48:19.729980000Z [100209.207731] start_dashDB_local.sh[161]: /usr/lib/dashDB_local_common_functions.sh: line 1816: /tmp/etc_profile-LOCAL.cfg: No such file or directory
2017-05-17T17:48:20.236127000Z [100209.713223] start_dashDB_local.sh[161]: The dashDB Local container's environment is not set up yet.
2017-05-17T17:48:20.275248000Z [  OK  ] Stopped Create Volatile Files and Directories.
<snip>
2017-05-17T17:48:20.737471000Z Sending SIGTERM to remaining processes...
2017-05-17T17:48:20.840909000Z Sending SIGKILL to remaining processes...
2017-05-17T17:48:20.880537000Z Powering off.

所以看起来 start_dashDB_local.sh 在 /usr/lib/dashDB_local_common_functions.sh 第 1816 行失败了?我导出了图像,这是 dashDB_local_common_functions.sh 的第 1816 行

update_etc_profile()

    local runtime_env=$1
    local cfg_file

    # Check if /etc/profile/dashdb_env.sh is already updated
    grep -q BLUMETAHOME /etc/profile.d/dashdb_env.sh
    if [ $? -eq 0 ]; then
        return
    fi
    case "$runtime_env" in
        "AWS" | "V1.5" )   cfg_file="/tmp/etc_profile-V15_AWS.cfg"
        ;;
        "V2.0" )   cfg_file="/tmp/etc_profile-V20.cfg"
        ;;
        "LOCAL" )  # dashDB Local Case and also the default
            cfg_file="/tmp/etc_profile-LOCAL.cfg"
        ;;
        *)  logger_error "Invalid $runtime_env value"
            return
        ;;
    esac

我还在图像中看到 /tmp/etc_profile-LOCAL.cfg。我错过了这里的任何一步吗? 我还创建了 /mnt/clusterfs/nodes 文件......但它没有帮助。相同的 docker run 命令以相同的方式失败。 请帮忙。

我使用的是 x86_64 Fedora25。

# docker version
Client:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-common-1.12.6-6.gitae7d637.fc25.x86_64
 Go version:      go1.7.4
 Git commit:      ae7d637/1.12.6
 Built:           Mon Jan 30 16:15:28 2017
 OS/Arch:         linux/amd64

Server:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-common-1.12.6-6.gitae7d637.fc25.x86_64
 Go version:      go1.7.4
 Git commit:      ae7d637/1.12.6
 Built:           Mon Jan 30 16:15:28 2017
 OS/Arch:         linux/amd64
#

# cat /etc/fedora-release
Fedora release 25 (Twenty Five)
# uname -r
4.10.15-200.fc25.x86_64
#

【问题讨论】:

【参考方案1】:

感谢您提请我们注意。我联系了我们的开发团队。这似乎是因为在容器内部,tmpfs 被挂载到 /tmp 并清除了所有脚本

我们已经看到了这个问题,迁移到最新版本的 docker 似乎可以解决这个问题。您的 docker version 命令显示它是旧版本。

所以请安装最新的 docker 版本,然后重试部署 dashdb Local 并在此处更新。

问候 壁画

【讨论】:

谢谢!到目前为止,我已将 docker 升级到最新版本,它似乎解决了这个问题。 $ docker version Client: Version: 17.03.1-ce API version: 1.27 Go version: go1.7.5 Git commit: c6d412e Built: Mon Mar 27 17:14:43 2017 OS/Arch: linux /amd64 $ 我很高兴升级 docker 版本解决了这个问题!

以上是关于Fedora 25 上的 dashDB Local - 错误代码 130的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python 中在 spark notebook 上使用 pandas(dashDB 上的数据)

bluemix 中带有 DashDB 的 ejbTimer 功能

使用 DashDB 作为数据库(而不是数据仓库)

使用 R studio 连接到 dashDB 的 RODBC

Fedora 26 dumpversion 上的 gcc 7.1.1 现在默认只包含主要版本

Fedora设置开机自启动脚本rc-local.service服务