【问题标题】:Unable to run "gearman" command line tool with gearman 1.1.6无法使用 gearman 1.1.6 运行“gearman”命令行工具
【发布时间】:2013-04-29 14:50:43
【问题描述】:

我正在尝试在 VirtualBox 环境中的 Ubuntu 上运行“http://gearman.org/getting_started”上的示例。

起初我尝试使用apt-get install gearman-job-serverapt-get install gearman-tools 下载旧版本0.16,一切正常。服务器在后台运行,我能够创建 2 个工作人员并验证我可以通过创建客户端来调用它们。

我决定下载并编译最新版本1.1.6。现在,我正在尝试对新版本做同样的事情,但我遇到了错误。

我以管理员身份运行服务器:

  sudo gearmand

声明

  gearadmin --getpid

似乎工作 - 它返回我服务器的进程 ID。因此,服务器正在运行,this answer 不相关。


现在,我要添加一个工人:

 gearman -w -f wc -- wc -l 

它似乎在运行。

尽管如此,

gearadmin --workers 

导致一些可能代表和空列表的东西:

33 127.0.0.1 - :
.

(在 0.16 版本中,我可以看到 2 行,第二行显示注册的函数名称。)


正在尝试运行客户端

 gearman -f wc < /etc/passwd

结果

 gearman: gearman_client_run_tasks : flush(GEARMAN_COULD_NOT_CONNECT) localhost:0 -> libgearman/connection.cc:671"

这可能与here 中描述的问题完全相同——未指定端口,但我不知道如何通过命令行工具来解决。

有什么想法吗?

【问题讨论】:

    标签: distributed-computing gearman


    【解决方案1】:

    好的,看来here 中的答案是成功的关键。可能有一段时间没有更新“入门”部分。实际上,必须为 gearmandgearman 明确指定一个端口。

    服务器:

     sudo gearmand -p 5000
    

    工人:

     gearman -p 5000 -w -f wc -- wc -l 
    

    客户:

     gearman -p 5000 -f wc < /etc/passwd
    

    【讨论】:

    • 我在从源代码编译时也遇到了这个问题。当我从 repo 安装时,指定端口的需要消失了。我想知道配置中是否存在错误,在构建之前错误地设置了默认端口。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多