Uploaded image for project: 'Tajo'
  1. Tajo
  2. TAJO-275

Separating QueryMaster and TaskRunner roles in worker

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.8.0
    • Component/s: None
    • Labels:
      None

      Description

      In C++ implementation of Tajo worker,
      I think it is better to maintain Java code of QueryMaster and implement only TaskRunner as C++ code, rather than implementing both QueryMaster and TaskRunner as C++ code.

      Accordingly, standby mode worker will have following 3 modes:
      1) TaskRunner + QueryMaster (current implementation)
      2) TaskRunner only (C++)
      3) QueryMaster only (java)
      And, most workers work as C++ TaskRunner, and 1 or 2 workers work as separate QueryMasters (java process).
      For backward compatibility, default mode should be mode 1 (TaskRunner + QueryMaster)

      To achieve the goal, it needs to separate java TaskRunner and java QueryMaster Worker first.
      (And then, implement C++ TaskRunner)

      1. TAJO-275.patch_2
        105 kB
        Keuntae Park
      2. TAJO-275.patch
        105 kB
        Keuntae Park

        Activity

        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Tajo-trunk-postcommit #534 (See https://builds.apache.org/job/Tajo-trunk-postcommit/534/)
        TAJO-275: Separating QueryMaster and TaskRunner roles in worker. (Keuntae Park via jihoon) (jihoonson: https://git-wip-us.apache.org/repos/asf?p=incubator-tajo.git&a=commit&h=5470bcea1ae3ec4c627f7f6fc7efa2c1c19e06cd)

        • tajo-dist/src/main/bin/start-tajo.sh
        • tajo-core/tajo-core-backend/pom.xml
        • tajo-core/tajo-core-backend/src/main/resources/webapps/worker/queryplan.jsp
        • tajo-core/tajo-core-backend/src/main/resources/webapps/admin/index.jsp
        • tajo-dist/src/main/bin/stop-tajo.sh
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TaskRunner.java
        • tajo-core/tajo-core-backend/src/main/resources/webapps/worker/querydetail.jsp
        • tajo-core/tajo-core-backend/src/main/resources/webapps/admin/query.jsp
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TaskRunnerManager.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoContainerProxy.java
        • tajo-dist/src/main/bin/tajo-config.sh
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoWorker.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/YarnTajoResourceManager.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterService.java
        • pom.xml
        • tajo-dist/src/main/conf/tajo-env.sh
        • tajo-core/tajo-core-backend/src/main/resources/webapps/worker/env.jsp
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/WorkerResourceManager.java
        • tajo-core/tajo-core-backend/src/main/resources/webapps/worker/index.jsp
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoWorkerResourceManager.java
        • tajo-core/tajo-core-backend/src/main/proto/TajoMasterProtocol.proto
        • tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoResourceAllocator.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoWorkerManagerService.java
        • tajo-core/tajo-core-backend/src/main/resources/webapps/worker/querytasks.jsp
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/WorkerResource.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/Task.java
        • tajo-dist/src/main/bin/tajo
        • CHANGES.txt
        • tajo-core/tajo-core-backend/src/main/resources/tajo-default.xml
        • tajo-core/tajo-core-backend/src/main/resources/webapps/admin/cluster.jsp
        • tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto
        • tajo-core/tajo-core-backend/src/main/proto/QueryMasterProtocol.proto
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInfo.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Tajo-trunk-postcommit #534 (See https://builds.apache.org/job/Tajo-trunk-postcommit/534/ ) TAJO-275 : Separating QueryMaster and TaskRunner roles in worker. (Keuntae Park via jihoon) (jihoonson: https://git-wip-us.apache.org/repos/asf?p=incubator-tajo.git&a=commit&h=5470bcea1ae3ec4c627f7f6fc7efa2c1c19e06cd ) tajo-dist/src/main/bin/start-tajo.sh tajo-core/tajo-core-backend/pom.xml tajo-core/tajo-core-backend/src/main/resources/webapps/worker/queryplan.jsp tajo-core/tajo-core-backend/src/main/resources/webapps/admin/index.jsp tajo-dist/src/main/bin/stop-tajo.sh tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TaskRunner.java tajo-core/tajo-core-backend/src/main/resources/webapps/worker/querydetail.jsp tajo-core/tajo-core-backend/src/main/resources/webapps/admin/query.jsp tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TaskRunnerManager.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoContainerProxy.java tajo-dist/src/main/bin/tajo-config.sh tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoWorker.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/YarnTajoResourceManager.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterService.java pom.xml tajo-dist/src/main/conf/tajo-env.sh tajo-core/tajo-core-backend/src/main/resources/webapps/worker/env.jsp tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/WorkerResourceManager.java tajo-core/tajo-core-backend/src/main/resources/webapps/worker/index.jsp tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoWorkerResourceManager.java tajo-core/tajo-core-backend/src/main/proto/TajoMasterProtocol.proto tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoResourceAllocator.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoWorkerManagerService.java tajo-core/tajo-core-backend/src/main/resources/webapps/worker/querytasks.jsp tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/WorkerResource.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/Task.java tajo-dist/src/main/bin/tajo CHANGES.txt tajo-core/tajo-core-backend/src/main/resources/tajo-default.xml tajo-core/tajo-core-backend/src/main/resources/webapps/admin/cluster.jsp tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto tajo-core/tajo-core-backend/src/main/proto/QueryMasterProtocol.proto tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInfo.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java
        Hide
        jihoonson Jihoon Son added a comment -

        I've just committed the patch.
        I moved the Apache license to the top of QueryMasterManagerService.java for the consistent code style.

        Thanks.

        Show
        jihoonson Jihoon Son added a comment - I've just committed the patch. I moved the Apache license to the top of QueryMasterManagerService.java for the consistent code style. Thanks.
        Hide
        jihoonson Jihoon Son added a comment -

        +1. This patch looks good to me.
        It passes 'mvn clean verify'.

        Show
        jihoonson Jihoon Son added a comment - +1. This patch looks good to me. It passes 'mvn clean verify'.
        Hide
        sirpkt Keuntae Park added a comment - - edited

        Thank you for the review, Jihoon, Hyunsik

        I've uploaded another patch:

        • when both tajo.worker.mode.querymaster, tajo.worker.mode.taskrunner are set as false, worker is terminated with fatal message.
          (if parameter is not set, it is treated as true)
        • and, rebase
        Show
        sirpkt Keuntae Park added a comment - - edited Thank you for the review, Jihoon, Hyunsik I've uploaded another patch: when both tajo.worker.mode.querymaster, tajo.worker.mode.taskrunner are set as false, worker is terminated with fatal message. (if parameter is not set, it is treated as true) and, rebase
        Hide
        jihoonson Jihoon Son added a comment -

        If this is a temporal solution to separate QueryMaster and TaskRunner, it's ok.
        But, I got a following message during applying the patch.
        It seems to require a rebase.

        $ patch -p0 < TAJO-275.patch 
        patching file pom.xml
        patching file tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
        patching file tajo-core/tajo-core-backend/pom.xml
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoContainerProxy.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterService.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInfo.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoWorkerResourceManager.java
        Hunk #11 FAILED at 346.
        Hunk #12 succeeded at 375 (offset 1 line).
        Hunk #13 succeeded at 404 (offset 1 line).
        1 out of 13 hunks FAILED -- saving rejects to file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoWorkerResourceManager.java.rej
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/WorkerResource.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/WorkerResourceManager.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/YarnTajoResourceManager.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoResourceAllocator.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoWorker.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoWorkerManagerService.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/Task.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TaskRunner.java
        patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TaskRunnerManager.java
        patching file tajo-core/tajo-core-backend/src/main/proto/QueryMasterProtocol.proto
        patching file tajo-core/tajo-core-backend/src/main/proto/TajoMasterProtocol.proto
        patching file tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto
        patching file tajo-core/tajo-core-backend/src/main/resources/tajo-default.xml
        patching file tajo-core/tajo-core-backend/src/main/resources/webapps/admin/cluster.jsp
        Hunk #1 succeeded at 34 (offset 19 lines).
        Hunk #2 succeeded at 84 (offset 19 lines).
        patching file tajo-core/tajo-core-backend/src/main/resources/webapps/admin/index.jsp
        Hunk #1 succeeded at 20 with fuzz 1 (offset 19 lines).
        Hunk #2 succeeded at 134 (offset 19 lines).
        Hunk #3 succeeded at 142 (offset 19 lines).
        patching file tajo-core/tajo-core-backend/src/main/resources/webapps/admin/query.jsp
        Hunk #1 succeeded at 20 with fuzz 1 (offset 19 lines).
        Hunk #2 succeeded at 37 (offset 19 lines).
        Hunk #3 succeeded at 73 (offset 19 lines).
        Hunk #4 succeeded at 105 (offset 19 lines).
        patching file tajo-core/tajo-core-backend/src/main/resources/webapps/worker/env.jsp
        Hunk #1 succeeded at 39 (offset 19 lines).
        patching file tajo-core/tajo-core-backend/src/main/resources/webapps/worker/index.jsp
        Hunk #1 succeeded at 29 (offset 19 lines).
        Hunk #2 succeeded at 55 (offset 19 lines).
        Hunk #3 succeeded at 82 (offset 19 lines).
        Hunk #4 succeeded at 97 (offset 19 lines).
        Hunk #5 succeeded at 108 (offset 19 lines).
        Hunk #6 succeeded at 134 (offset 19 lines).
        patching file tajo-core/tajo-core-backend/src/main/resources/webapps/worker/querydetail.jsp
        Hunk #1 succeeded at 32 (offset 19 lines).
        patching file tajo-core/tajo-core-backend/src/main/resources/webapps/worker/queryplan.jsp
        Hunk #1 succeeded at 39 (offset 19 lines).
        patching file tajo-core/tajo-core-backend/src/main/resources/webapps/worker/querytasks.jsp
        Hunk #1 succeeded at 46 (offset 19 lines).
        patching file tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java
        patching file tajo-dist/src/main/bin/start-tajo.sh
        patching file tajo-dist/src/main/bin/stop-tajo.sh
        patching file tajo-dist/src/main/bin/tajo
        patching file tajo-dist/src/main/bin/tajo-config.sh
        patching file tajo-dist/src/main/conf/tajo-env.sh
        
        Show
        jihoonson Jihoon Son added a comment - If this is a temporal solution to separate QueryMaster and TaskRunner, it's ok. But, I got a following message during applying the patch. It seems to require a rebase. $ patch -p0 < TAJO-275.patch patching file pom.xml patching file tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java patching file tajo-core/tajo-core-backend/pom.xml patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoContainerProxy.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterService.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInfo.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoWorkerResourceManager.java Hunk #11 FAILED at 346. Hunk #12 succeeded at 375 (offset 1 line). Hunk #13 succeeded at 404 (offset 1 line). 1 out of 13 hunks FAILED -- saving rejects to file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoWorkerResourceManager.java.rej patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/WorkerResource.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/WorkerResourceManager.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/YarnTajoResourceManager.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoResourceAllocator.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoWorker.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TajoWorkerManagerService.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/Task.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TaskRunner.java patching file tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/worker/TaskRunnerManager.java patching file tajo-core/tajo-core-backend/src/main/proto/QueryMasterProtocol.proto patching file tajo-core/tajo-core-backend/src/main/proto/TajoMasterProtocol.proto patching file tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto patching file tajo-core/tajo-core-backend/src/main/resources/tajo- default .xml patching file tajo-core/tajo-core-backend/src/main/resources/webapps/admin/cluster.jsp Hunk #1 succeeded at 34 (offset 19 lines). Hunk #2 succeeded at 84 (offset 19 lines). patching file tajo-core/tajo-core-backend/src/main/resources/webapps/admin/index.jsp Hunk #1 succeeded at 20 with fuzz 1 (offset 19 lines). Hunk #2 succeeded at 134 (offset 19 lines). Hunk #3 succeeded at 142 (offset 19 lines). patching file tajo-core/tajo-core-backend/src/main/resources/webapps/admin/query.jsp Hunk #1 succeeded at 20 with fuzz 1 (offset 19 lines). Hunk #2 succeeded at 37 (offset 19 lines). Hunk #3 succeeded at 73 (offset 19 lines). Hunk #4 succeeded at 105 (offset 19 lines). patching file tajo-core/tajo-core-backend/src/main/resources/webapps/worker/env.jsp Hunk #1 succeeded at 39 (offset 19 lines). patching file tajo-core/tajo-core-backend/src/main/resources/webapps/worker/index.jsp Hunk #1 succeeded at 29 (offset 19 lines). Hunk #2 succeeded at 55 (offset 19 lines). Hunk #3 succeeded at 82 (offset 19 lines). Hunk #4 succeeded at 97 (offset 19 lines). Hunk #5 succeeded at 108 (offset 19 lines). Hunk #6 succeeded at 134 (offset 19 lines). patching file tajo-core/tajo-core-backend/src/main/resources/webapps/worker/querydetail.jsp Hunk #1 succeeded at 32 (offset 19 lines). patching file tajo-core/tajo-core-backend/src/main/resources/webapps/worker/queryplan.jsp Hunk #1 succeeded at 39 (offset 19 lines). patching file tajo-core/tajo-core-backend/src/main/resources/webapps/worker/querytasks.jsp Hunk #1 succeeded at 46 (offset 19 lines). patching file tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java patching file tajo-dist/src/main/bin/start-tajo.sh patching file tajo-dist/src/main/bin/stop-tajo.sh patching file tajo-dist/src/main/bin/tajo patching file tajo-dist/src/main/bin/tajo-config.sh patching file tajo-dist/src/main/conf/tajo-env.sh
        Hide
        hyunsik Hyunsik Choi added a comment - - edited

        I think that it is a temporary and good way to help us develop C++ TaskRunner without QueryMaster. This feature seems to be used by only developers rather than users. Also, In default, both configs are true. And, the case where both are true is the same to the current mode, so it would be compatible to current systems.

        Show
        hyunsik Hyunsik Choi added a comment - - edited I think that it is a temporary and good way to help us develop C++ TaskRunner without QueryMaster. This feature seems to be used by only developers rather than users. Also, In default, both configs are true. And, the case where both are true is the same to the current mode, so it would be compatible to current systems.
        Hide
        jihoonson Jihoon Son added a comment -

        Keuntae, thanks for the further explanation.
        You are right. To implement C++ TaskRunner, QueryMaster and TaskRunner roles in java should be distinguished first.

        But, the configuration still looks little complicated.
        I mean that added configurations are not intuitive.
        For example, when both tajo.worker.mode.querymaster and tajo.worker.mode.taskrunner are set to false, it is hard to suppose what will happen.

        Show
        jihoonson Jihoon Son added a comment - Keuntae, thanks for the further explanation. You are right. To implement C++ TaskRunner, QueryMaster and TaskRunner roles in java should be distinguished first. But, the configuration still looks little complicated. I mean that added configurations are not intuitive. For example, when both tajo.worker.mode.querymaster and tajo.worker.mode.taskrunner are set to false, it is hard to suppose what will happen.
        Hide
        sirpkt Keuntae Park added a comment -

        Jihoon, what this patch does is actually distinguishing QueryMaster and TaskRunner roles in the java implementation.
        You can run java TaskRunner Worker by setting as follows:
        tajo.worker.mode.querymaster=false
        tajo.worker.mode.taskrunner=true

        C++ TaskRunner will be implemented maybe next month.

        I think my issue explanation made you confused, hence, I updated the issue description.

        Show
        sirpkt Keuntae Park added a comment - Jihoon, what this patch does is actually distinguishing QueryMaster and TaskRunner roles in the java implementation. You can run java TaskRunner Worker by setting as follows: tajo.worker.mode.querymaster=false tajo.worker.mode.taskrunner=true C++ TaskRunner will be implemented maybe next month. I think my issue explanation made you confused, hence, I updated the issue description.
        Hide
        jihoonson Jihoon Son added a comment -

        This is a nice work.
        But, how about distinguish QueryMaster and TaskRunner roles in the java implementation, too?
        Due to the inconsistency of supported modes in the java and C++, the configuration looks little complex.

        Show
        jihoonson Jihoon Son added a comment - This is a nice work. But, how about distinguish QueryMaster and TaskRunner roles in the java implementation, too? Due to the inconsistency of supported modes in the java and C++, the configuration looks little complex.
        Hide
        sirpkt Keuntae Park added a comment -

        I've uploaded the patch for the issue.

        CHANGES:

        • Worker mode added in configuration
          tajo.worker.mode.querymaster (default: true)
          tajo.worker.mode.taskrunner (default: true)
        • Following shell command is added
          (in bin/start-tajo.sh)
          "$bin/tajo-daemons.sh" --host querymasters cd "$TAJO_HOME" \; "$bin/tajo-daemon.sh" start querymaster
          (in bin/stop-tajo.sh)
          "$bin/tajo-daemons.sh" --host querymasters cd "$TAJO_HOME" \; "$bin/tajo-daemon.sh" stop querymaster
        • If not specified in configuration, worker works as before,
          i.e., one worker has both querymaster and taskrunner roles.
        • How to have querymaster and taskrunner as separate daemons:
          1) add following in conf/tajo-site.xml
          tajo.worker.mode.querymaster=false
          2) add list of querymaster servers in conf/querymaster
          3) execute bin/tajo-start.sh
        • How to start/stop querymaster in a given server
          bin/tajo-daemon.sh start querymaster
          bin/tajo-daemon.sh stop querymaster
        Show
        sirpkt Keuntae Park added a comment - I've uploaded the patch for the issue. CHANGES: Worker mode added in configuration tajo.worker.mode.querymaster (default: true) tajo.worker.mode.taskrunner (default: true) Following shell command is added (in bin/start-tajo.sh) "$bin/tajo-daemons.sh" --host querymasters cd "$TAJO_HOME" \; "$bin/tajo-daemon.sh" start querymaster (in bin/stop-tajo.sh) "$bin/tajo-daemons.sh" --host querymasters cd "$TAJO_HOME" \; "$bin/tajo-daemon.sh" stop querymaster If not specified in configuration, worker works as before, i.e., one worker has both querymaster and taskrunner roles. How to have querymaster and taskrunner as separate daemons: 1) add following in conf/tajo-site.xml tajo.worker.mode.querymaster=false 2) add list of querymaster servers in conf/querymaster 3) execute bin/tajo-start.sh How to start/stop querymaster in a given server bin/tajo-daemon.sh start querymaster bin/tajo-daemon.sh stop querymaster

          People

          • Assignee:
            sirpkt Keuntae Park
            Reporter:
            sirpkt Keuntae Park
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development