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/javas > >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-machin > >>>e: > >> >port3 > >> >should be correct as well > >> > >> > >
