【问题标题】:Unable to execute the script file using ansible playbook for redislbas & jmeter无法使用 redislbas 和 jmeter 的 ansible playbook 执行脚本文件
【发布时间】:2019-12-19 16:03:34
【问题描述】:

我正在尝试使用 ansible playbook 安装 redislabs 和 jmter,但无法使用 playbook 执行脚本。请同时找到我的剧本和错误。

错误:

致命:[本地主机]:失败! => {“更改”:true,“msg”:“非零返回码”,“rc”:127,“stderr”:“/home/ansibleadm/.ansible/tmp/ansible-tmp-1576768466.18-58336526997867/ jmeter.sh: 第 109 行: /home/ansibleadm/.ansible/tmp/ansible-tmp-1576768466.18-58336526997867/jmeter: 没有这样的文件或目录\n", "stderr_lines": ["/home/ansibleadm/.ansible/ tmp/ansible-tmp-1576768466.18-58336526997867/jmeter.sh: 第 109 行: /home/ansibleadm/.ansible/tmp/ansible-tmp-1576768466.18-58336526997867/jmeter: 没有这样的文件或目录"], "stdout": " ", "stdout_lines": []}

注意:jmeter 出现以下错误,redislabs 也出现相同错误。 like 没有这样的文件或目录

猫 jmeter.yaml

  • 主机:本地主机

    用户:ansibleadm

    连接:本地

    变成:是的

    become_method: 须藤

    任务:

    • 名称:创建jmeter目录

      文件:路径=/home/ansibleadm/jmeter 状态=目录模式=0700 所有者=ansibleadm 组=ansibleadm

    • 名称:下载 jmeter tar 文件

      get_url:

      网址:http://apache.mirrors.tds.net//jmeter/source/apache-jmeter-5.2.1_src.tgz

      目标:/home/ansibleadm/jmeter

    • 名称:解压文件

      取消归档:

      src: "/home/ansibleadm/jmeter/apache-jmeter-5.2.1_src.tgz"

      dest: "/home/ansibleadm/jmeter"

    • 名称:执行 jmeter.sh 文件

      脚本:“/home/ansibleadm/jmeter/apache-jmeter-5.2.1/bin/jmeter.sh”

2:请查找redislabs playbook和错误:


  • 主机:redisgroup

    用户:ansibleadm

    变成:是的

    become_method: 须藤

    任务:

    • 名称:为 redislabs 创建目录

      文件:path=/home/ansibleadm/remote_redis owner=ansibleadm group=ansibleadm mode=0700 state=directory

    • 名称:定义变量

      设置事实:

      redis_variable: "/home/ansibleadm/remote_redis"

    • 名称:将 tar 文件从 src 复制到目标。

      复制:src=/home/ansibleadm/redislabs-5.4.6-18-rhel7-x86_64.tar dest="{{redis_variable}}/redislabs-5.4.6-18-rhel7-x86_64.tar"

    • 名称:解压文件

      取消归档:

      src: /home/ansibleadm/redislabs-5.4.6-18-rhel7-x86_64.tar

      dest: "{{redis_variable}}"

    • name:在远程服务器上执行 install.sh 文件

      外壳:“{{redis_variable}}/install.sh -y”

错误:

失败了! => {“已更改”:true,“cmd”:“/home/ansibleadm/remote_redis/install.sh -y”,“delta”:“0:00:04.792255”,“end”:“2019-12-20 02:33:32.430351”、“msg”:“非零返回码”、“rc”:1、“start”:“2019-12-20 02:33:27.638096”、“stderr”:“/home/ ansibleadm/remote_redis/install.sh:第 25 行:rlec_upgrade_tmpdir/upgrade_checks_error_codes.sh:没有这样的文件或目录\ntouch:无法触摸'/var/opt/redislabs/log/install.log':没有这样的文件或目录\nchmod:无法访问“/var/opt/redislabs/log/install.log”:没有这样的文件或目录\n/home/ansibleadm/remote_redis/install.sh:第 64 行:/var/opt/redislabs/log/install.log :没有这样的文件或目录”,“stderr_lines”:[“/home/ansibleadm/remote_redis/install.sh:第25行:rlec_upgrade_tmpdir/upgrade_checks_error_codes.sh:没有这样的文件或目录”,“触摸:无法触摸'/var/ opt/redislabs/log/install.log': 没有这样的文件或目录", "chmod: 无法访问'/var/opt/redislabs/log/install.log': 没有这样的文件或目录", "/home/ansibleadm /remote_redis/in stall.sh:第 64 行:/var/opt/redislabs/log/install.log:没有这样的文件或目录"],"stdout":"/home/ansibleadm/remote_redis/install.sh:第 25 行:rlec_upgrade_tmpdir/upgrade_checks_error_codes .sh: 没有这样的文件或目录\n2019-12-20 02:33:27 [.] 检查先决条件\n2019-12-20 02:33:27 [.] 检查硬件要求...\n2019-12-20 02:33:27 [!] 节点的硬件不满足生产系统的最低要求:\n节点有 2 个内核(最少为 4 个)和 7 GB RAM(最少为 15 GB)。 \n考虑在生产系统的情况下升级您的硬件。\n==================================== ==============================================\n\u001b[ 1m\u001b[91mRedis\u001b[90mLabs\u001b[0m 企业集群安装程序。\n============================== ==================================================\ n\n2019-12-20 02:33:28 \u001b[92m[.] 检查 root 访问权限\u001b[0m\n2019-12-20 02:33:28 \u001b[33m[!] 以 root 用户身份运行,sudo不需要。\u001b[0m\n2019-12-20 02:33:28 \u001b[92m[.] 更新路径。sh\u001b[0m\n2019-12-20 02:33:28 \u001b[92m[ .] 创建套接字目录 /var/opt/redislabs/run \u001b[0m\n2019-12-20 02:33:29 \u001b[92m[.] 删除 \u001b[1m\u001b[91mRedis\u001b[90mLabs\u001b [0m 调试包(如果存在)\u001b[0m\n2019-12-20 02:33:29 \u001b[92m[.] \n2019-12-20 02:33:29 \u001b[37m[$] 执行:'yum install -y redislabs-5.4.6-18.rhel7.x86_64.rpm redislabs-utils-5.4.6-18.rhel7。 x86_64.rpm '\u001b[0m\n\u001b[90m加载的插件:enabled_repos_upload、package_upload、product-id、search-\n:disabled-repos、subscription-manager、tracer_upload\n没有包redislabs-5.4.6-18.rhel7.x86_64。 rpm 可用。\n没有可用的软件包 redislabs-utils-5.4.6-18.rhel7.x86_64.rpm。\n错误:无事可做\n上传启用的存储库报告\n加载的插件:产品 ID、订阅管理器\n\u001b[ 0m2019-12-20 02:33:32 \u001b[91m[x] yum install failed\u001b[0m", "stdout_lines": ["/home/ansibleadm/remote_redis/install.sh: 第 25 行:rlec_upgrade_tmpdir/upgrade_checks_error_codes。 sh:没有这样的文件或目录”、“2019-12-20 02:33:27 [.] 检查先决条件”、“2019-12-20 02:33:27 [.] 检查硬件要求...”、“ 2019-12-20 02:33:27 [!] 节点的硬件不满足生产系统的最低要求:“,”节点有 2 个内核(最小为 4)和 7 GB RAM(最小为 15 GB) . ", "如果是生产系统,请考虑升级您的硬件。",

【问题讨论】:

    标签: redis jmeter ansible redislabs


    【解决方案1】:

    在最后一步将script: 更改为shell:

    script 任务将脚本“上传”到目标主机并执行上传的脚本,但它被上传到了一个临时目录(参见错误输出中的 ansible-tmp-XXXXXXX)。脚本 (jmeter.sh) 然后尝试在该目录中找到 jmeter,但显然它不存在。通过使用shell:,它只会从正确的位置运行脚本。

    【讨论】:

    • 我使用了 shell 模块而不是脚本,但再次出现错误:致命:[localhost]:失败! => {“更改”:true,“cmd”:“/home/ansibleadm/jmeter/apache-jmeter-5.2.1/bin/jmeter.sh”,“delta”:“0:00:00.358489”,“结束": "2019-12-20 02:23:34.051631", "msg": "非零返回码", "rc": 1, "start": "2019-12-20 02:23:33.693142", “stderr”:“错误:无法访问 jarfile /home/ansibleadm/jmeter/apache-jmeter-5.2.1/bin/ApacheJMeter.jar”,“stderr_lines”:[“错误:无法访问 jarfile /home/ansibleadm/ jmeter/apache-jmeter-5.2.1/bin/ApacheJMeter.jar"], "stdout": "", "stdout_lines": []}
    • 使用 anisble 安装 redislabs 时也发生了同样的情况。
    • 文件 /home/ansibleadm/jmeter/apache-jmeter-5.2.1/bin/ApacheJMeter.jar 真的存在吗?它有正确的权限吗?
    • ApacheJMeter.jar 在该位置 /home/ansibleadm/jmeter/apache-jmeter-5.2.1/bin 中不可用。实际上,当我们默认提取 tar 文件时,没有可用的 jar 文件
    • 好吧,这可能是因为您解压缩了源 tarball - src: "/home/ansibleadm/jmeter/apache-jmeter-5.2.1_src.tgz" 而不是二进制文件。使用jmeter.apache.org/download_jmeter.cgi 的“二进制文件”部分中的那个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 2017-09-16
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多