0

我正在尝试使用 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 的错误也相同。没有这样的文件或目录

猫 jmeter.yaml

  • 主机:本地主机

    用户:ansibleadm

    连接:本地

    变成:是

    成为方法:须藤

    任务:

    • 名称:创建jmeter目录

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

    • 名称:下载 jmeter tar 文件

      获取网址:

      网址: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

    变成:是

    成为方法:须藤

    任务:

    • 名称:为 redislabs 创建目录

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

    • 名称:定义一个变量

      设置事实:

      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

      目标:“{{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": [" \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[. 没有这样的文件或目录”、“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)。", "如果是生产系统,请考虑升级您的硬件。",

4

1 回答 1

1

在最后一步更改script:shell:.

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

于 2019-12-20T00:03:08.413 回答