klion26 commented on a change in pull request #8750: [FLINK-11606] Translate the "Distributed Runtime Environment" page in to Chinese URL: https://github.com/apache/flink/pull/8750#discussion_r294129009
########## File path: docs/concepts/runtime.zh.md ########## @@ -26,102 +26,74 @@ under the License. * This will be replaced by the TOC {:toc} -## Tasks and Operator Chains +## 任务和算子链 -For distributed execution, Flink *chains* operator subtasks together into *tasks*. Each task is executed by one thread. -Chaining operators together into tasks is a useful optimization: it reduces the overhead of thread-to-thread -handover and buffering, and increases overall throughput while decreasing latency. -The chaining behavior can be configured; see the [chaining docs](../dev/stream/operators/#task-chaining-and-resource-groups) for details. +分布式计算中,Flink 将算子(operator)的 subtask *链接(chain)*成 task。每个 task 由一个线程执行。把算子链接成 tasks 是一个很好的优化:它减少了线程间切换和缓冲的开销,并在降低延迟的同时提高了整体吞吐量。链接操作的配置详情可参考:[chaining docs](../dev/stream/operators/#task-chaining-and-resource-groups) -The sample dataflow in the figure below is executed with five subtasks, and hence with five parallel threads. +下图的 dataflow 由五个 subtasks 执行,因此具有五个并行线程。 <img src="{{ site.baseurl }}/fig/tasks_chains.svg" alt="Operator chaining into Tasks" class="offset" width="80%" /> {% top %} -## Job Managers, Task Managers, Clients +## Job Managers、Task Managers、客户端(Clients) -The Flink runtime consists of two types of processes: +Flink 运行时包含两类进程: - - The **JobManagers** (also called *masters*) coordinate the distributed execution. They schedule tasks, coordinate - checkpoints, coordinate recovery on failures, etc. + - **JobManagers** (也称为 *masters*)协调分布式计算。它们负责调度任务、协调 checkpoints、协调故障恢复等。 - There is always at least one Job Manager. A high-availability setup will have multiple JobManagers, one of - which one is always the *leader*, and the others are *standby*. + 至少需要一个 JobManager。高可用部署下会有多个 JobManagers,其中一个作为 *leader*,其余处于 *standby* 状态。 - - The **TaskManagers** (also called *workers*) execute the *tasks* (or more specifically, the subtasks) of a dataflow, - and buffer and exchange the data *streams*. + - **TaskManagers**(也称为 *workers*)执行 dataflow 中的 *tasks*(准确来说是 subtasks ),并且缓存和交换数据 *streams*。 - There must always be at least one TaskManager. + 至少需要一个 TaskManager。 -The JobManagers and TaskManagers can be started in various ways: directly on the machines as a [standalone cluster](../ops/deployment/cluster_setup.html), in -containers, or managed by resource frameworks like [YARN](../ops/deployment/yarn_setup.html) or [Mesos](../ops/deployment/mesos.html). -TaskManagers connect to JobManagers, announcing themselves as available, and are assigned work. +JobManagers 和 TaskManagers 可由多种方式启动:可以直接在机器上启动(该集群称为 [standalone cluster](../ops/deployment/cluster_setup.html)),也可以在容器或资源管理框架,如 [YARN](../ops/deployment/yarn_setup.html) 或 [Mesos](../ops/deployment/mesos.html),中启动。TaskManagers 连接到 JobManagers,通知后者自己可用,之后 TaskManagers 便可以被分配工作了。 -The **client** is not part of the runtime and program execution, but is used to prepare and send a dataflow to the JobManager. -After that, the client can disconnect, or stay connected to receive progress reports. The client runs either as part of the -Java/Scala program that triggers the execution, or in the command line process `./bin/flink run ...`. +**客户端**不是运行时(runtime)和作业执行时的一部分,但它是被用来准备和发送 dataflow 到 JobManager 的。在那之后,客户端可以断开连接,也可以保持连接来接收进度报告。客户端既可以作为触发执行的 Java / Scala 程序的一部分,也可以在命令行进程中运行`./bin/flink run ...`。 Review comment: `但它是被用来准备和发送 dataflow 到 JobManager 的` --> `但用它来准备和提交 dataflow 到 JobManager `? `客户端可以断开连接,也可以保持连接来接收进度报告` --> `提交完成之后,客户端可以断开连接,也可以保持连接来接收进度报告` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services