Okay… is there any http connection error in the “job engine” node’s kylin.log? If it failed to notify other nodes, there should be some errors;
On 5/6/15, 5:44 PM, "Tao Wong" <[email protected]> wrote: >Yes. > >Three instances are all configured with >*kylin.rest.servers=localhost:8080,localhost:8085,localhost:8086* > the query mode nodes can get the job state changes but cann't get the >cube's state change. > > >2015-05-06 17:30 GMT+08:00 Shi, Shaofeng <[email protected]>: > >> In this case it should be 8086; you should be able to access this Kylin >> instance with http://<host>:8086/kylin/ , right? >> >> On 5/6/15, 5:04 PM, "Tao Wong" <[email protected]> wrote: >> >> >Cube status on query mode instance does not change automatically. >> > >> >BTW:the port you mean ? >> >for example this is my server.xml . >> >which port should i set behind hostname? 9007? 8080? 9011? >> > >> > >> >sever.xml >> > >> > <?xml version='1.0' encoding='utf-8'?> >> > 2 <!-- >> > 3 Licensed to the Apache Software Foundation (ASF) under one or >>more >> > 4 contributor license agreements. See the NOTICE file distributed >> >with >> > 5 this work for additional information regarding copyright >>ownership. >> > 6 The ASF licenses this file to You under the Apache License, >>Version >> >2.0 >> > 7 (the "License"); you may not use this file except in compliance >>with >> > 8 the License. You may obtain a copy of the License at >> > 9 >> > 10 http://www.apache.org/licenses/LICENSE-2.0 >> > 11 >> > 12 Unless required by applicable law or agreed to in writing, >>software >> > 13 distributed under the License is distributed on an "AS IS" BASIS, >> > 14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> >implied. >> > 15 See the License for the specific language governing permissions >>and >> > 16 limitations under the License. >> > 17 --> >> > 18 <!-- Note: A "Server" is not itself a "Container", so you may not >> > 19 define subcomponents such as "Valves" at this level. >> > 20 Documentation at /docs/config/server.html >> > 21 --> >> > 22 <*Server port="9007" *shutdown="SHUTDOWN"> >> > 23 <!-- Security listener. Documentation at >> >/docs/config/listeners.html >> > 24 <Listener >> >className="org.apache.catalina.security.SecurityListener" >> >/> >> > 25 --> >> > 26 <!--APR library loader. Documentation at /docs/apr.html --> >> > 27 <Listener >> >className="org.apache.catalina.core.AprLifecycleListener" >> >SSLEngine="on" /> >> > 28 <!--Initialize Jasper prior to webapps are loaded. >>Documentation >> >at >> >/docs/jasper-howto.html --> >> > 29 <Listener className="org.apache.catalina.core.JasperListener" >>/> >> > 30 <!-- Prevent memory leaks due to use of particular java/javax >> >APIs--> >> > 31 <Listener >> >className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> >> > 32 <Listener >> >>>className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" >>>/> >> > 33 <Listener >> >className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" >>/> >> > 34 >> > 35 <!-- Global JNDI resources >> > 36 Documentation at /docs/jndi-resources-howto.html >> > 37 --> >> > 38 <GlobalNamingResources> >> > 39 <!-- Editable user database that can also be used by >> > 40 UserDatabaseRealm to authenticate users >> > 41 --> >> > 42 <Resource name="UserDatabase" auth="Container" >> > 43 type="org.apache.catalina.UserDatabase" >> > 44 description="User database that can be updated >>and >> >saved" >> > 45 >> >factory="org.apache.catalina.users.MemoryUserDatabaseFactory" >> > 46 pathname="conf/tomcat-users.xml" /> >> > 47 </GlobalNamingResources> >> > 48 >> > 49 <!-- A "Service" is a collection of one or more "Connectors" >>that >> >share >> > 50 a single "Container" Note: A "Service" is not itself a >> >"Container", >> > 51 so you may not define subcomponents such as "Valves" at >>this >> >level. >> > 52 Documentation at /docs/config/service.html >> > 53 --> >> > 54 <Service name="Catalina"> >> > 55 >> > 56 <!--The connectors can use a shared executor, you can >>define >> >one or more named thread pools--> >> > 57 <!-- >> > 58 <Executor name="tomcatThreadPool" >>namePrefix="catalina-exec-" >> > 59 maxThreads="150" minSpareThreads="4"/> >> > 60 --> >> > 61 >> > 62 >> > 63 <!-- A "Connector" represents an endpoint by which requests >> >are >> >received >> > 64 and responses are returned. Documentation at : >> > 65 Java HTTP Connector: /docs/config/http.html (blocking >>& >> >non-blocking) >> > 66 Java AJP Connector: /docs/config/ajp.html >> > 67 APR (HTTP/AJP) Connector: /docs/apr.html >> > 68 Define a non-SSL HTTP/1.1 Connector on port 8080 >> > 69 --> >> > 70 <Connector port="8086" protocol="HTTP/1.1" >> > 71 connectionTimeout="20000" >> > 72 redirectPort="9443" >> > 73 compression="on" >> > 74 compressionMinSize="2048" >> > 75 noCompressionUserAgents="gozilla,traviata" >> > 76 >> > >> >>>compressableMimeType="text/html,text/xml,text/javascript,application/jav >>>as >> >cript,application/json,text/css,text/plain" >> > 77 /> >> > 78 <!-- A "Connector" using the shared thread pool--> >> > 79 <!-- >> > 80 <Connector executor="tomcatThreadPool" >> > 81 *port="8080" *protocol="HTTP/1.1" >> > 82 connectionTimeout="20000" >> > 83 redirectPort="8443" /> >> > 84 --> >> > 85 <!-- Define a SSL HTTP/1.1 Connector on port 8443 >> > 86 This connector uses the BIO implementation that >>requires >> >the JSSE >> > 87 style configuration. When using the APR/native >> >implementation, the >> > 88 OpenSSL style configuration is required as described >>in >> >the APR/native >> > 89 documentation --> >> > 90 <!-- >> > 91 <Connector port="8443" >> >protocol="org.apache.coyote.http11.Http11Protocol" >> > 92 maxThreads="150" SSLEnabled="true" >>scheme="https" >> >secure="true" >> > 93 clientAuth="false" sslProtocol="TLS" /> >> > 94 --> >> > 95 >> > 96 <!-- Define an AJP 1.3 Connector on port 8009 --> >> > 97 <*Connector port="9011"* protocol="AJP/1.3" >> >redirectPort="9443" >> >/> >> > 98 >> > 99 >> >100 <!-- An Engine represents the entry point (within Catalina) >> >that processes >> >101 every request. The Engine implementation for Tomcat >> >stand >> >alone >> >102 analyzes the HTTP headers included with the request, >>and >> >passes them >> >103 on to the appropriate Host (virtual host). >> >104 Documentation at /docs/config/engine.html --> >> >105 >> >106 <!-- You should set jvmRoute to support load-balancing via >>AJP >> >ie : >> >107 <Engine name="Catalina" defaultHost="localhost" >> >jvmRoute="jvm1"> >> >108 --> >> >109 <Engine name="Catalina" defaultHost="localhost"> >> >110 >> >111 <!--For clustering, please take a look at documentation >> >at: >> >112 /docs/cluster-howto.html (simple how to) >> >113 /docs/config/cluster.html (reference documentation) >> >--> >> >114 <!-- >> >115 <Cluster >> >className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> >> >116 --> >> >117 >> >118 <!-- Use the LockOutRealm to prevent attempts to guess >> >user >> >passwords >> >119 via a brute-force attack --> >> >120 <Realm >>className="org.apache.catalina.realm.LockOutRealm"> >> >121 <!-- This Realm uses the UserDatabase configured in >> >the >> >global JNDI >> >122 resources under the key "UserDatabase". Any >> >edits >> >123 that are performed against this UserDatabase >>are >> >immediately >> >124 available for use by the Realm. --> >> >125 <Realm >> >className="org.apache.catalina.realm.UserDatabaseRealm" >> >126 resourceName="UserDatabase"/> >> >127 </Realm> >> >128 >> >129 <Host name="localhost" appBase="webapps" >> >130 unpackWARs="true" autoDeploy="true"> >> >131 >> >132 <!-- SingleSignOn valve, share authentication >>between >> >web applications >> >133 Documentation at: /docs/config/valve.html --> >> >134 <!-- >> >135 <Valve >> >className="org.apache.catalina.authenticator.SingleSignOn" /> >> >136 --> >> >137 >> >138 <!-- Access log processes all example. >> >139 Documentation at: /docs/config/valve.html >> >140 Note: The pattern used is equivalent to using >> >pattern="common" --> >> >141 <Valve >> >className="org.apache.catalina.valves.AccessLogValve" directory="logs" >> >142 prefix="localhost_access_log." suffix=".txt" >> >143 pattern="%h %l %u %t "%r" %s %b" >>/> >> >144 >> >145 </Host> >> >146 </Engine> >> >147 </Service> >> >148 </Server> >> > >> >2015-05-06 16:45 GMT+08:00 Shi, Shaofeng <[email protected]>: >> > >> >> Hi Dong, I¹m asking Tao whether the ³QUERY² mode instances can get >>the >> >> ³Cube² status change automatically (not job status); >> >> >> >> For example, I create a new cube, its initial status is ³Disabled²; >> >>Then I >> >> trigger a build job, which will be executed in the ³job engine² >> >>instance; >> >> When the job build is completed, the job engine will update this >>cube¹s >> >> status to ³Active², and also send REST calls to the instances in >> >> ³kylin.rest.servers²; The instances in ³kylin.rest.servers² will >>flush >> >> their caches on receiving this REST call, so they will get the cube¹s >> >> latest status ³Active²; All these things happen automatically; >> >> >> >> If you observed the the ³query² mode nodes didn¹t get the cube¹s >>state >> >> change, while the ³job engine² instance got successfully, that >>indicates >> >> the configuration may be wrong for other instances; because the ³job >> >> engine² node also depends this REST call to flush the cache in >>itself; >> >> >> >> If all your instances are in the same machine, you can use localhost >>as >> >> the hostname, I¹m not sure this can solve your problem, but you can >> >>give a >> >> try; If the problem is still there, welcome to open a JIRA for us. >> >> >> >> Thanks for the input to Kylin. >> >> >> >> On 5/6/15, 4:23 PM, "dong wang" <[email protected]> wrote: >> >> >> >> >yes, all the "QUERY" mode instances got the job status for the cube >> >> >correctly, and as checked the >> >> >> >>>>>kylin.rest.servers=all-machine:por1,query-1-machine:port2,query-3-mach >>>>>in >> >>>e: >> >> >port3 >> >> >should be correct as well >> >> >> >> >> >>
