【问题标题】:memsql-deploy leaf node consistently failedmemsql-deploy 叶节点始终失败
【发布时间】:2017-03-24 16:46:33
【问题描述】:

在与memsql-deploy 叶节点的主节点相同的主机上总是失败并出现相同的错误。将操作切换到新机器也有同样的故障。

以下是部署主角色的步骤:

# memsql-ops memsql-deploy -a Af53bfb  -r master -P 3306 --community-edition
2017-03-24 16:15:54: Je5725b [INFO] Deploying MemSQL to 172.17.0.3:3306
2017-03-24 16:15:59: Je5725b [INFO] Installing MemSQL
2017-03-24 16:16:02: Je5725b [INFO] Finishing MemSQL Install
Waiting for MemSQL to start...
MemSQL successfully started

以下是部署 master 后添加叶节点的直接步骤:

# memsql-ops memsql-deploy -a Af53bfb  -r leaf -P 3308       
2017-03-24 16:16:43: J32c71f [INFO] Deploying MemSQL to 172.17.0.3:3308
2017-03-24 16:16:43: J32c71f [INFO] Installing MemSQL
2017-03-24 16:16:46: J32c71f [INFO] Finishing MemSQL Install
Waiting for MemSQL to start...
MemSQL failed to start: Failed to start MemSQL:

        set_mempolicy: Operation not permitted
setting membind: Operation not permitted

错误消息背后的可能原因是什么?我可以通过什么方式找出根本原因或进行修复?

【问题讨论】:

  • 进一步深挖job-logs,发现叶节点启动时出现相关错误信息:J2f44c7 [WARNING] Could not read tracelog for MemSQL node 636F0213D6DA91A67D67DD3F4554E20B5CC3FAF1 because it doesn't exist

标签: singlestore


【解决方案1】:

在谷歌上搜索了一天,我相信我终于找到了这个错误的根本原因。我觉得奇怪为什么以前没有人问过,因为它应该比我更频繁地发生。

这个问题的真正原因是我在非 NUMA 机器上按照 MemSQL 的最佳实践建议安装了 numactl 包。这将有效地让除第一个节点之外的 memsql 节点尝试运行 numactl 子命令 set_mempolicy将单个 MemSQL 节点绑定到 CPU 但此命令最终会失败。而通过memsql-ops 的子命令memsql-startmemsql-deploy 启动节点都会失败。

解决方法非常简单,只需删除numactl。那么一切都会好起来的。这种解决方法特别适用于一些基于虚拟化的 memsql 部署,例如 Docker

【讨论】:

    【解决方案2】:

    能不能试一下大师:

    memsql-ops start
    memsql-ops memsql-deploy --role master -P 3306 --community-edition
    

    在代理上:

    memsql-ops start
    memsql-ops follow -h <host of primary agent> -P <port of primary agent if configured to use one>
    memsql-ops memsql-deploy --role leaf -P 3308 --community-edition  
    

    【讨论】:

    • masterleaf 在同一主机上。我还需要在memsql-deploy 之前运行follow 吗?
    • @robert 我相信是的
    • 虽然我怀疑,但我确实试了一下。当我在primary 代理框上执行此操作时,代理无法跟随自己,这也是 memsql 的master。我相信每个主机只能有一个 memsql 代理,但每个 memsql 主机可能有一个或多个节点。我的问题应该还有其他原因。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 2013-01-14
    • 1970-01-01
    • 2017-10-19
    • 2016-05-09
    • 1970-01-01
    • 2016-01-21
    相关资源
    最近更新 更多