| 123456789101112131415161718192021222324252627 |
- {
- "9067d572995f740235bc4357aa577e9ceb7a5670457346c6b0898a51e0a5d9e5": {
- "original": "# Adding a distributed table with remote agents\n\nTo understand how to add a distributed table with remote agents, it is important to first have a basic understanding of [distributed tables](../Creating_a_table/Creating_a_distributed_table/Creating_a_distributed_table.md) In this article, we will focus on how to use a distributed table as the basis for creating a cluster of Manticore instances.\n<!-- example conf dist 1 -->\nHere is an example of how to split data over 4 servers, each serving one of the shards:\n\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_0\n<!-- end -->\nIn the event of a server failure, the distributed table will still work, but the results from the failed shard will be missing.\n\n<!-- example conf dist 2 -->\nNow that we've added mirrors, each shard is found on 2 servers. By default, the master (the searchd instance with the distributed table) will randomly pick one of the mirrors.\n\nThe mode used for picking mirrors can be set using the [ha_strategy](../Creating_a_cluster/Remote_nodes/Load_balancing.md#ha_strategy) setting. In addition to the default `random` mode there's also `ha_strategy = roundrobin`.\n\nMore advanced strategies based on latency-weighted probabilities include `noerrors` and `nodeads`. These not only take out mirrors with issues but also monitor response times and do balancing. If a mirror responds slower (for example, due to some operations running on it), it will receive fewer requests. When the mirror recovers and provides better times, it will receive more requests.\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_1\n<!-- end -->\n\n<!-- proofread -->\n\n",
- "translations": {
- "chinese": "# \u6dfb\u52a0\u5e26\u6709\u8fdc\u7a0b\u4ee3\u7406\u7684\u5206\u5e03\u5f0f\u8868\n\n\u8981\u7406\u89e3\u5982\u4f55\u6dfb\u52a0\u5e26\u6709\u8fdc\u7a0b\u4ee3\u7406\u7684\u5206\u5e03\u5f0f\u8868\uff0c\u9996\u5148\u9700\u8981\u5bf9[\u5206\u5e03\u5f0f\u8868](../Creating_a_table/Creating_a_distributed_table/Creating_a_distributed_table.md)\u6709\u4e00\u4e2a\u57fa\u672c\u7684\u4e86\u89e3\u3002\u5728\u672c\u6587\u4e2d\uff0c\u6211\u4eec\u5c06\u91cd\u70b9\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u5206\u5e03\u5f0f\u8868\u4f5c\u4e3a\u521b\u5efa Manticore \u5b9e\u4f8b\u96c6\u7fa4\u7684\u57fa\u7840\u3002\n<!-- example conf dist 1 -->\n\u4ee5\u4e0b\u793a\u4f8b\u5c55\u793a\u4e86\u5982\u4f55\u5c06\u6570\u636e\u62c6\u5206\u52304\u53f0\u670d\u52a1\u5668\u4e0a\uff0c\u6bcf\u53f0\u670d\u52a1\u5668\u8d1f\u8d23\u5176\u4e2d\u4e00\u4e2a\u5206\u7247\uff1a\n\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_0\n<!-- end -->\n\u5728\u670d\u52a1\u5668\u6545\u969c\u65f6\uff0c\u5206\u5e03\u5f0f\u8868\u4ecd\u7136\u53ef\u4ee5\u5de5\u4f5c\uff0c\u4f46\u6765\u81ea\u6545\u969c\u5206\u7247\u7684\u7ed3\u679c\u5c06\u4f1a\u7f3a\u5931\u3002\n\n<!-- example conf dist 2 -->\n\u73b0\u5728\u6211\u4eec\u5df2\u7ecf\u6dfb\u52a0\u4e86\u955c\u50cf\uff0c\u6bcf\u4e2a\u5206\u7247\u90fd\u5b58\u5728\u4e8e2\u53f0\u670d\u52a1\u5668\u4e0a\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3b\u670d\u52a1\u5668\uff08\u5e26\u6709\u5206\u5e03\u5f0f\u8868\u7684 searchd \u5b9e\u4f8b\uff09\u4f1a\u968f\u673a\u9009\u62e9\u5176\u4e2d\u4e00\u4e2a\u955c\u50cf\u3002\n\n\u7528\u4e8e\u9009\u62e9\u955c\u50cf\u7684\u6a21\u5f0f\u53ef\u4ee5\u901a\u8fc7[ha_strategy](../Creating_a_cluster/Remote_nodes/Load_balancing.md#ha_strategy)\u8bbe\u7f6e\u8fdb\u884c\u914d\u7f6e\u3002\u9664\u4e86\u9ed8\u8ba4\u7684 `random` \u6a21\u5f0f\u5916\uff0c\u8fd8\u6709 `ha_strategy = roundrobin`\u3002\n\n\u66f4\u9ad8\u7ea7\u7684\u7b56\u7565\u57fa\u4e8e\u5ef6\u8fdf\u52a0\u6743\u6982\u7387\uff0c\u5305\u62ec `noerrors` \u548c `nodeads`\u3002\u8fd9\u4e9b\u7b56\u7565\u4e0d\u4ec5\u4f1a\u5254\u9664\u5b58\u5728\u95ee\u9898\u7684\u955c\u50cf\uff0c\u8fd8\u4f1a\u76d1\u6d4b\u54cd\u5e94\u65f6\u95f4\u5e76\u8fdb\u884c\u8d1f\u8f7d\u5747\u8861\u3002\u5982\u679c\u67d0\u4e2a\u955c\u50cf\u54cd\u5e94\u8f83\u6162\uff08\u4f8b\u5982\uff0c\u7531\u4e8e\u5176\u4e0a\u8fd0\u884c\u7684\u4e00\u4e9b\u64cd\u4f5c\uff09\uff0c\u5b83\u5c06\u6536\u5230\u8f83\u5c11\u7684\u8bf7\u6c42\u3002\u5f53\u8be5\u955c\u50cf\u6062\u590d\u5e76\u63d0\u4f9b\u66f4\u4f73\u7684\u54cd\u5e94\u65f6\u95f4\u65f6\uff0c\u5b83\u5c06\u63a5\u6536\u66f4\u591a\u7684\u8bf7\u6c42\u3002\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_1\n<!-- end -->\n\n<!-- proofread -->\n\n",
- "russian": "# \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u0430\u0433\u0435\u043d\u0442\u0430\u043c\u0438\n\n\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u0430\u0433\u0435\u043d\u0442\u0430\u043c\u0438, \u0432\u0430\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u043c\u0435\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e [\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445](../Creating_a_table/Creating_a_distributed_table/Creating_a_distributed_table.md). \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u043c\u0441\u044f \u043d\u0430 \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u044b \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432 Manticore.\n<!-- example conf dist 1 -->\n\u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 4 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0448\u0430\u0440\u0434\u043e\u0432:\n\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_0\n<!-- end -->\n\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0431\u043e\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043d\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441 \u0432\u044b\u0448\u0435\u0434\u0448\u0435\u0433\u043e \u0438\u0437 \u0441\u0442\u0440\u043e\u044f \u0448\u0430\u0440\u0434\u0430 \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c.\n\n<!-- example conf dist 2 -->\n\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0437\u0435\u0440\u043a\u0430\u043b\u0430, \u043a\u0430\u0436\u0434\u044b\u0439 \u0448\u0430\u0440\u0434 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 2 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043c\u0430\u0441\u0442\u0435\u0440 (\u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 searchd \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439) \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043e\u0434\u043d\u043e \u0438\u0437 \u0437\u0435\u0440\u043a\u0430\u043b.\n\n\u0420\u0435\u0436\u0438\u043c \u0432\u044b\u0431\u043e\u0440\u0430 \u0437\u0435\u0440\u043a\u0430\u043b \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 [ha_strategy](../Creating_a_cluster/Remote_nodes/Load_balancing.md#ha_strategy). \u041f\u043e\u043c\u0438\u043c\u043e \u0440\u0435\u0436\u0438\u043c\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e `random`, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 `ha_strategy = roundrobin`.\n\n\u0411\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044f\u0445 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 `noerrors` \u0438 `nodeads`. \u041e\u043d\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0437\u0435\u0440\u043a\u0430\u043b\u0430 \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438, \u043d\u043e \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u044f\u0442 \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u043a\u043b\u0438\u043a\u0430, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0443. \u0415\u0441\u043b\u0438 \u0437\u0435\u0440\u043a\u0430\u043b\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0437-\u0437\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u043d\u0430 \u043d\u0451\u043c), \u043e\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041a\u043e\u0433\u0434\u0430 \u0437\u0435\u0440\u043a\u0430\u043b\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043b\u0443\u0447\u0448\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438, \u043e\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_1\n<!-- end -->\n\n<!-- proofread -->\n\n"
- },
- "is_code_or_comment": false,
- "model": "openai:gpt-4.1-mini",
- "updated_at": 1766339776
- },
- "1b4adb7244386e594467c9f25dcf7f012d0df102e874fa509caef6b4dbb34081": {
- "original": "# Adding a distributed table with remote agents\n\nTo understand how to add a distributed table with remote agents, it is important to first have a basic understanding of [distributed tables](../Creating_a_table/Creating_a_distributed_table/Creating_a_distributed_table.md) In this article, we will focus on how to use a distributed table as the basis for creating a cluster of Manticore instances.\n<!-- example conf dist 1 -->\nHere is an example of how to split data over 4 servers, each serving one of the shards:\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_0\n<!-- end -->\nIn the event of a server failure, the distributed table will still work, but the results from the failed shard will be missing.\n\n<!-- example conf dist 2 -->\nNow that we've added mirrors, each shard is found on 2 servers. By default, the master (the searchd instance with the distributed table) will randomly pick one of the mirrors.\n\nThe mode used for picking mirrors can be set using the [ha_strategy](../Creating_a_cluster/Remote_nodes/Load_balancing.md#ha_strategy) setting. In addition to the default `random` mode there's also `ha_strategy = roundrobin`.\n\nMore advanced strategies based on latency-weighted probabilities include `noerrors` and `nodeads`. These not only take out mirrors with issues but also monitor response times and do balancing. If a mirror responds slower (for example, due to some operations running on it), it will receive fewer requests. When the mirror recovers and provides better times, it will receive more requests.\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_1\n<!-- end -->\n\n<!-- proofread -->\n\n",
- "translations": {
- "chinese": "# \u6dfb\u52a0\u5e26\u6709\u8fdc\u7a0b\u4ee3\u7406\u7684\u5206\u5e03\u5f0f\u8868\n\n\u8981\u7406\u89e3\u5982\u4f55\u6dfb\u52a0\u5e26\u6709\u8fdc\u7a0b\u4ee3\u7406\u7684\u5206\u5e03\u5f0f\u8868\uff0c\u9996\u5148\u9700\u8981\u57fa\u672c\u4e86\u89e3 [\u5206\u5e03\u5f0f\u8868](../Creating_a_table/Creating_a_distributed_table/Creating_a_distributed_table.md)\u3002\u672c\u6587\u5c06\u91cd\u70b9\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u5206\u5e03\u5f0f\u8868\u4f5c\u4e3a\u521b\u5efa Manticore \u5b9e\u4f8b\u96c6\u7fa4\u7684\u57fa\u7840\u3002\n<!-- example conf dist 1 -->\n\u4ee5\u4e0b\u662f\u4e00\u4e2a\u5c06\u6570\u636e\u62c6\u5206\u5230 4 \u53f0\u670d\u52a1\u5668\u4e0a\u7684\u793a\u4f8b\uff0c\u6bcf\u53f0\u670d\u52a1\u5668\u8d1f\u8d23\u4e00\u4e2a\u5206\u7247\uff1a\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_0\n<!-- end -->\n\u5982\u679c\u53d1\u751f\u670d\u52a1\u5668\u6545\u969c\uff0c\u5206\u5e03\u5f0f\u8868\u4ecd\u80fd\u5de5\u4f5c\uff0c\u4f46\u6765\u81ea\u6545\u969c\u5206\u7247\u7684\u7ed3\u679c\u5c06\u4f1a\u7f3a\u5931\u3002\n\n<!-- example conf dist 2 -->\n\u73b0\u5728\u6211\u4eec\u5df2\u7ecf\u6dfb\u52a0\u4e86\u955c\u50cf\uff0c\u6bcf\u4e2a\u5206\u7247\u90fd\u4f4d\u4e8e 2 \u53f0\u670d\u52a1\u5668\u4e0a\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3b\u8282\u70b9\uff08\u62e5\u6709\u5206\u5e03\u5f0f\u8868\u7684 searchd \u5b9e\u4f8b\uff09\u4f1a\u968f\u673a\u9009\u62e9\u4e00\u4e2a\u955c\u50cf\u3002\n\n\u7528\u4e8e\u9009\u62e9\u955c\u50cf\u7684\u6a21\u5f0f\u53ef\u4ee5\u901a\u8fc7 [ha_strategy](../Creating_a_cluster/Remote_nodes/Load_balancing.md#ha_strategy) \u8bbe\u7f6e\u6765\u914d\u7f6e\u3002\u9664\u4e86\u9ed8\u8ba4\u7684 `random` \u6a21\u5f0f\u5916\uff0c\u8fd8\u6709 `ha_strategy = roundrobin`\u3002\n\n\u57fa\u4e8e\u5ef6\u8fdf\u52a0\u6743\u6982\u7387\u7684\u66f4\u9ad8\u7ea7\u7b56\u7565\u5305\u62ec `noerrors` \u548c `nodeads`\u3002\u8fd9\u4e9b\u7b56\u7565\u4e0d\u4ec5\u4f1a\u6392\u9664\u6709\u95ee\u9898\u7684\u955c\u50cf\uff0c\u8fd8\u4f1a\u76d1\u63a7\u54cd\u5e94\u65f6\u95f4\u5e76\u8fdb\u884c\u8d1f\u8f7d\u5747\u8861\u3002\u5982\u679c\u67d0\u4e2a\u955c\u50cf\u54cd\u5e94\u8f83\u6162\uff08\u4f8b\u5982\uff0c\u7531\u4e8e\u5176\u4e0a\u6b63\u5728\u8fd0\u884c\u67d0\u4e9b\u64cd\u4f5c\uff09\uff0c\u5b83\u5c06\u6536\u5230\u66f4\u5c11\u7684\u8bf7\u6c42\u3002\u5f53\u955c\u50cf\u6062\u590d\u5e76\u63d0\u4f9b\u66f4\u597d\u7684\u54cd\u5e94\u65f6\u95f4\u65f6\uff0c\u5b83\u5c06\u6536\u5230\u66f4\u591a\u7684\u8bf7\u6c42\u3002\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_1\n<!-- end -->\n\n<!-- proofread -->",
- "russian": "# \u0414\u043e\u0431\u0430\u0442\u0430 \u0442\u0430\u0431\u043b\u0438 \u0441 \u0443\u0434\u0430 \u0430\u0433ents\n\n\u0414\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430 \u043a\u0430\u043a \u0434\u043e\u0431\u0430\u0442\u0430 \u0442\u0430\u0431\u043b\u0438 \u0441 \u0443\u0434\u0430 \u0430\u0433ents, \u0432\u0430\u0436\u043d\u043e first \u0438\u043c\u0435\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u043e\u0435 understanding \u043e [distributed tables](../Creating_a_table/Creating_a_distributed_table/Creating_a_distributed_table.md) In this article, we will focus \u043d\u0430 \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c distributed table \u043a\u0430\u043a basis \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u041canticore instances.\n<!-- example conf dist 1 -->\nHere is example \u043a\u0430\u043a split data over 4 servers, each serving one of shards:\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_0\n<!-- end -->\nIn event server failure, distributed table will still work, but results from failed shard will be missing.\n\n<!-- example conf dist 2 -->\nNow that we've added mirrors, each shard is found on 2 servers. By default, master (searchd instance with distributed table) will randomly pick one of mirrors.\n\nMode used for picking mirrors can be set using [ha_strategy](../Creating_a_cluster/Remote_nodes/Load_balancing.md#ha_strategy) setting. In addition to default `random` mode there's also `ha_strategy = roundrobin`.\n\nMore advanced strategies based on latency-weighted probabilities include `noerrors` and `nodeads`. These not only take out mirrors with issues but also monitor response times and do balancing. If mirror responds slower (for example, due to some operations running on it), it will receive fewer requests. When mirror recovers and provides better times, it will receive more requests.\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\nCODE_BLOCK_1\n<!-- end -->\n\n<!-- proofread -->"
- },
- "is_code_or_comment": false,
- "model": "deepseek/deepseek-v3.2",
- "updated_at": 1766374246
- },
- "__meta": {
- "source_text": "# Adding a distributed table with remote agents\n\nTo understand how to add a distributed table with remote agents, it is important to first have a basic understanding of [distributed tables](../Creating_a_table/Creating_a_distributed_table/Creating_a_distributed_table.md) In this article, we will focus on how to use a distributed table as the basis for creating a cluster of Manticore instances.\n<!-- example conf dist 1 -->\nHere is an example of how to split data over 4 servers, each serving one of the shards:\n\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\n```ini\ntable mydist {\n type = distributed\n agent = box1:9312:shard1\n agent = box2:9312:shard2\n agent = box3:9312:shard3\n agent = box4:9312:shard4\n}\n```\n<!-- end -->\nIn the event of a server failure, the distributed table will still work, but the results from the failed shard will be missing.\n\n<!-- example conf dist 2 -->\nNow that we've added mirrors, each shard is found on 2 servers. By default, the master (the searchd instance with the distributed table) will randomly pick one of the mirrors.\n\nThe mode used for picking mirrors can be set using the [ha_strategy](../Creating_a_cluster/Remote_nodes/Load_balancing.md#ha_strategy) setting. In addition to the default `random` mode there's also `ha_strategy = roundrobin`.\n\nMore advanced strategies based on latency-weighted probabilities include `noerrors` and `nodeads`. These not only take out mirrors with issues but also monitor response times and do balancing. If a mirror responds slower (for example, due to some operations running on it), it will receive fewer requests. When the mirror recovers and provides better times, it will receive more requests.\n\n<!-- intro -->\n##### ini:\n\n<!-- request ini -->\n```ini\ntable mydist {\n type = distributed\n agent = box1:9312|box5:9312:shard1\n agent = box2:9312:|box6:9312:shard2\n agent = box3:9312:|box7:9312:shard3\n agent = box4:9312:|box8:9312:shard4\n}\n```\n<!-- end -->\n\n<!-- proofread -->\n\n",
- "updated_at": 1768530797,
- "source_md5": "6f18a115fdd79001097ba7082580fa54"
- }
- }
|